openstack-nova之源码阅读流程

以创建虚拟机为例

1.项目入口setup.cfg文件

 2.根据nova-compute = nova.cmd.compute:main找到功能入口

 3.nova/api/openstack/compute/servers.py中create(self, req, body)中进行rpc调用

 4.进去nova/compute/api.py中create()方法,其中进行实例调用self._create_instance()

扫描二维码关注公众号,回复: 7300141 查看本文章

 5.进入nova/compute/api中_create_instance()方法,其中进行rpc调用schedule_and_build_instance()方法

 6.进入nova/conductor/api.py中schedule_and_build_instances()方法,其中进行rpc调用schedule_and_build_instances()方法

 7.进入nova/conductor/rpcapi.py中schedule_and_build_instances()方法,其中使用rpc异步方式调用scheduler_and_build_instance()方法

 8.根据scheduler_and_build_instance异步跳转至nova/conductor/manager.py中scheduler_and_build_instance()方法

 9.nova/conductor/manager.py中scheduler_and_build_instance()方法使用rpc调用build_and_run_instance()方法

 10.进入nova/compute/rpcapi.py中build_and_run_instance()方法,其中使用rpc异步调用build_and_run_instance()方法,至此conductor任务结束,后续任务由compute/manager.py执行

 11.进入nova/compute/manager.py中build_and_run_instance()方法执行创建虚拟机动作

猜你喜欢

转载自www.cnblogs.com/jindp/p/11532844.html