1. 程式人生 > >nova創建虛擬機源碼分析系列之八 compute創建虛機

nova創建虛擬機源碼分析系列之八 compute創建虛機

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創建虛機