欢迎光临
我们一直在努力

create instance 生成创建虚拟机从nova到调用libvirt的流程是怎样的

create instance 生成创建虚拟机从nova到调用libvirt的流程是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1、nova底层api创建虚拟机的route入口:

2、页面或者命令创建一个虚拟机,则会debug自动断电到pycharm代码:

3、调用compute的API接口代码(debug模式下可以看到compute_api对象为:nova.compute.api.API直接找到对应代码即可):

也可以使用debugF5跟踪: (eclipse模式的step into快捷键)

4、

在rv函数继续F5

跟踪到nova.compute.api.API的create函数:

上述代码表示cast将消息发给消息队列。接下来消息队列收到消息会执行conductor的manager里面代码:

根据build_instances。找到对应的函数:

在此处加上断点,重启服务:

接下来发送到消息队列调用manager代码(cctxt.cast函数中ctxt参数的remote_address:表示将要发送消息动作到主机158执行代码):

走调度算法(详细分析请参考后续nova-scheduler调度算法详解):

生成实例结束。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注云搜网行业资讯频道,感谢您对云搜网的支持。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。