以建立虚拟机为例api
1.项目入口setup.cfg文件异步
2.根据nova-compute = nova.cmd.compute:main找到功能入口ui
3.nova/api/openstack/compute/servers.py中create(self, req, body)中进行rpc调用3d
4.进去nova/compute/api.py中create()方法,其中进行实例调用self._create_instance()server
5.进入nova/compute/api中_create_instance()方法,其中进行rpc调用schedule_and_build_instance()方法blog
6.进入nova/conductor/api.py中schedule_and_build_instances()方法,其中进行rpc调用schedule_and_build_instances()方法rpc
7.进入nova/conductor/rpcapi.py中schedule_and_build_instances()方法,其中使用rpc异步方式调用scheduler_and_build_instance()方法cmd
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()方法执行建立虚拟机动做