nova創建虛擬機源碼分析系列之八 compute創建虛機
阿新 • • 發佈:2017-11-10
alt 創建 put manager 信息 模塊 manage tor float
/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()函數來創建虛擬機
nova創建虛擬機源碼分析系列之八 compute創建虛機