/conductor/api.py _build_instance()
/conductor/rpcapi.py _build_instance()
1 构造一些数据类型
2 修改一些api版本信息
3 投入消息队列
/conductor/manager.py _build_instance()
1 过滤信息
2 调度模块工作(选出最合适的主机,并返回)
3 调用/nova/compute/rpcapi.py::build_and_run_instance() 此时已经拿到最合适主机
/compute/rcpapi.py build_and_run_instance()
1 加入一个版本信息,然后调用build_and_run_instance()
/compute/manager.py _do_build_and_run_instance()
/compute/manager.py build_and_run_instance()
1 得到镜像名称
2 修改主机创建消息
3 获取该主机上的可用资源
4 检查磁盘镜像大小
5 建立云主机所需的资源,包括网络,bdm
6 调用spawn()函数来创建虚拟机