nova创建虚拟机源码分析系列之八 compute创建虚机

/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()函数来创建虚拟机

 

 

原文地址:https://www.cnblogs.com/goldsunshine/p/7800870.html