create instance 生成创建虚拟机从nova到调用libvirt流程(pycharm debug):
2016-02-29 00:00
495 查看
感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正!
如有转载,请保留源作者博客信息。
Better Me的博客:blog.csdn.net/tantexian
如需交流,欢迎大家博客留言。
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调度算法详解):
生成实例结束。
如有转载,请保留源作者博客信息。
Better Me的博客:blog.csdn.net/tantexian
如需交流,欢迎大家博客留言。
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调度算法详解):
生成实例结束。
相关文章推荐
- openstack ice 生成虚拟机磁盘文件详解
- ice版本resize 错误调试(Host key verification failed)
- 创建虚拟机生成虚拟机全程日志打印输出流程详解(openstack开发必备)
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机动态迁移源码分析
- ice版本resize 错误调试(Host key verification failed)
- centos7上win2003 virtio (openstack)镜像制作成功(图文详解)
- OpenStack文件注入相关分析(转载)
- 制作OpenStack CentOS 6.5 & win7镜像
- 制作openstack Centos镜像 -- Example: CentOS image
- openstack 中 启动虚拟机出现MP-BIOS bug:8254 timer not connected to IO-APIC
- CREATING A WINDOWS IMAGE FOR OPENSTACK(转)
- 系统原理分析架构-五-squid(反代理即web缓存服务器)
- squid,nginx,lighttpd反向代理的区别(同步VS异步模式)
- 系统原理分析架构-六-负载均衡(定义及介绍及LVS/Nginx/Haproxy比较)
- 系统原理分析架构-一-DNS负载均衡
- 系统原理分析架构-二-CDN内容分发网络
- 负载均衡之Haproxy配置详解(及httpd配置)
- keepalived原理(主从配置+haproxy)及配置文件详解
- 系统原理分析架构-四-squid(简介及正向代理)
- 系统原理分析架构-开篇 (对于架构师与开发语言及被青春饭的一些想法)