博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
详解openstack命令启动实现流程及原理(nova --debug image-list)
阅读量:6910 次
发布时间:2019-06-27

本文共 879 字,大约阅读时间需要 2 分钟。

hot3.png

感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正!

如有转载,请保留源作者博客信息。

如需交流,欢迎大家博客留言。

分析命令nova --debug image-list原理实现:
vim /usr/bin/nova
load_entry_point('python-novaclient==2.17.0', 'console_scripts', 'nova')()
第一个参数定向到 /usr/lib/python2.6/site-packages/python_novaclient-2.17.0-py2.6.egg-info
然后搜索EGG-INFO/entry_points.txt
vim /usr/lib/python2.6/site-packages/python_novaclient-2.17.0-py2.6.egg-info/entry_points.txt 

第二个参数就是entry_points.txt文件group名称

nova就是传递进来的参数,实际指向novaclient.shell模块的main函数

跟进代码:

上述代码从命令行接收参数,或者从环境变量中获取参数值,进行验证等操作。

 nova --debug image-list

从日志上可以看出授权代码:

发送请求,获取image信息代码:

args.func(self.cs, args)

从args的keyfunc=<function do_image_list at 0x2c2d410>得住调用do_image_list函数。

然后调用glanceclient里面的:

vim /usr/lib/python2.6/site-packages/glanceclient/v1/images.py

以上则与页面horizon调用的代码一致。这里是命令和dashboard调用底层nova的共同接口。

页面执行流程,请参考文章:

转载于:https://my.oschina.net/tantexian/blog/625483

你可能感兴趣的文章
CentOS 5.8 64位 源码安装mysql5.5.28
查看>>
windows下后台运行程序
查看>>
传统的MapReduce框架慢在那里
查看>>
Linux下修改Mysql的用户(root)的密码
查看>>
萌新的Linux学习之路(十二)---软件安装
查看>>
2012数学建模A题
查看>>
20个java异常处理最佳实践
查看>>
centos架设pptp服务:并测试windos客户端、Linux客户端!
查看>>
【c#】BackgroundWorker类的使用方法
查看>>
【NetApp】启用smb2.0
查看>>
Nginx与django+uwsgi成功勾搭的始末(上)
查看>>
创业的国度
查看>>
001作业题
查看>>
字节字符转换流
查看>>
Hadoop序列化-------总结
查看>>
YII2 update vendor error
查看>>
从cpp-empty-test说起
查看>>
Redis密码验证情况下创建集群参考资料
查看>>
ssh连接复用
查看>>
我的友情链接
查看>>