可以通过service nova-computer start/stop/restart 进行管理,通过/etc/init/nova-computer.conf 可以知道
再调用service nova-computer start/stop/restart的时候其实执行的/usr/bin/nova-computer。这个文件中核心就是执行nova.cmd.computer的main函数
下面这段code的路径在nova/cmd/computer/compute.py
CONF = nova.conf.CONF
LOG = logging.getLogger('nova.compute')
def main():
config.parse_args(sys.argv)
logging.setup(CONF, 'nova')
priv_context.init(root_helper=shlex.split(utils.get_root_helper()))
utils.monkey_patch()
objects.register_all()
gmr.TextGuruMeditation.setup_autorun(version)
if not CONF.conductor.use_local:
cmd_common.block_db_access('nova-compute')
objects_base.NovaObject.indirection_api = \
conductor_rpcapi.ConductorAPI()
else:
LOG.warning(_LW('Conductor local mode is deprecated and will '
'be removed in a subsequent release'))
server = service.Service.create(binary='nova-compute',
topic=CONF.compute_topic,
db_allowed=CONF.conductor.use_local)
service.serve(server)
service.wait()
类似的conductor/scheduler等service都是按照这个flow启动的.
nova computer/conductor/scheduler等service的启动
最新推荐文章于 2024-04-25 22:59:08 发布