openstack中setup.cfg文件解析

一 介绍
setup.cfg文件,作为openstack中的源码地图,毫不夸张的说,是我们浏览openstack代码时最为依仗的文件,它引导我们去认识一个新的项目,并了解它代码的结构。
而入口点"entry_point”作为setup.cfg中最重要的section,通过对它的分析,我们可以相对容易地找到所要研究代码的突破口。
每个setup.cfg文件的"entry_point”都会有个比较特殊的组,或者说命令空间"console_scripts”,其中的每一项都表示一个可执行的脚本,这些脚本在部署时会被安装,我们也可以将它们理解为整个项目所提供的各个服务的入口点。
二 文件片段
console_scripts =
    nova-api = nova.cmd.api:main
    nova-api-metadata = nova.cmd.api_metadata:main
    nova-api-os-compute = nova.cmd.api_os_compute:main
    nova-cells = nova.cmd.cells:main
    nova-cert = nova.cmd.cert:main
    nova-compute = nova.cmd.compute:main
    nova-conductor = nova.cmd.conductor:main
    nova-console = nova.cmd.console:main
    nova-consoleauth = nova.cmd.consoleauth:main
    nova-dhcpbridge = nova.cmd.dhcpbridge:main
    nova-idmapshift = nova.cmd.idmapshift:main
    nova-manage = nova.cmd.manage:main
    nova-network = nova.cmd.network:main
    nova-novncproxy = nova.cmd.novncproxy:main
    nova-policy = nova.cmd.policy_check:main
    nova-rootwrap = oslo_rootwrap.cmd:main
    nova-rootwrap-daemon = oslo_rootwrap.cmd:daemon
    nova-scheduler = nova.cmd.scheduler:main
    nova-serialproxy = nova.cmd.serialproxy:main
    nova-spicehtml5proxy = nova.cmd.spicehtml5proxy:main
    nova-status = nova.cmd.status:main
nova-xvpvncproxy = nova.cmd.xvpvncproxy:main
三 详细解释
对Nova来说,我们可以看到,除了常用的几个主要服务:API、Conductor、Scheduler与Computer,它还提供了很多其他的服务。
nova-api:Nova对外提供的RESTFUL API服务,目前Nova共提供了三种API服务,nova-api-ec2、nova-api-metadata以及nova-api-os-compute,nova-api根据配置文件/etc/nova/nova.conf的enable_apis选项设置启动这三种服务。
nova-api-metadata:接受虚拟机实例metadata(元数据)相关请求,目前这部分工作由Neutron项目完成,而nova-api-metadata API服务只在多计算节点部署,并且使用nova-network情况下使用。
nova-api-os-compute:Openstack API服务。
nova-cells:Cell模块允许用户在不影响现有Openstack云环境的前提下,增强横向扩展、大规模部署问题。Cell模块启用后,Openstack云环境中的主机被划分成组,称为Cell。Cell可以被配置为树形结构,Openstack云环境通过添加子Cell的方式进行扩展。nova-cells负责各个Cell之间的通信,以及为一个新的虚拟机实例选择合适的Cell,因此每个Cell都需要运行nova-cells服务。
nova-cert:管理X509证书。
nova-compute:Computer服务。
nova-conductor:Conductor服务。
nova-console:允许用户通过代理访问虚拟机实例(Instance)的控制台。已经在G版本中被nova-xvpnvncproxy所取代。
nova-consoleauth:nova-consoleauth服务。
nova-dhcpbridge:提供nova-network的DHCP bridge。
nova-manage:提供很多与Nova维护和管理相关的功能,比如用户创建,VPN管理等。
nova-network :提供网络服务,已经被Neutron所取代,目前只有在使用Devstack部署Openstack时才会使用nova-network。
nova-novncproxy:Nova提供了novncproxy代理支持用户通过vnc访问虚拟机。提供完整的vnc访问功能,涉及几个nova服务。nova-consoleauth提供认证授权,nova-novncproxy用于支持基于浏览器的vnc客户端,nova-xvpvncproxy: 支持基于java的vnc客户端。
nova-rootwrap :用于在Openstack在运行过程中以root身份运行某些shell命令
nova-scheduler:Scheduler服务。
四 补充说明
Juno版本中,共有三个版本的API:v2,v2.1,v3。v2 API是正在使用的发布版本,目前部署在生产环境中都是使用这个版本。V3在Icehouse中开发,但是并不对外发布,v3针对v2中存在的一些文件进行了改善。Juno版本提出小版本的管理方式,因此基于v3又开始v2.1的开发,目前v2.1基本上重用了v3的代码,但是为了保持对v2的兼容和API本身的稳定,在返回的数据上恢复了v2的格式。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值