nova hypervisor接口添加host_ip字段
2024-09-05 07:42:40
云平台系统用户提出一个需求,要求根据物理机主机名或者IP查询其上虚拟机列表。根据主机名查询好办,nova的list接口提供了host参数;按主机IP查询就不那么直接了,需要先将IP反解析成主机名,然后使用主机名参数调用list接口。为了减少与其他系统的耦合,我们考虑nova自身能不能实现IP到主机名的转换。
实际上nova hypervisor数据结构对应的数据表compute_nodes中包含了host_ip字段,只是在查询时没有返回,稍作修改即可。
修改nova.api.openstack.compute.hypervisors.HypervisorsController._view_hypervisor()函数,给hyp_dict增加'host_ip': hypervisor.host_ip字段:
这个函数是hypervisor接口的基础,list和detail等接口都会调用这个接口。所以在这里增加host_ip字段后,调用list、detail接口返回的数据都包含host_ip了。
同时为了在nova hypervisor-list命令行结果中显示主机IP,需要对novaclient做一个小修改,在novaclient.v2.shell.do_hypervisor_list()函数中,columns定义了要展示的列,添加一个'Host IP'字段,它在取数据时会被转化成对应的host_ip属性:
此时执行nova hypervisor-list,就会看到包含了Host IP信息:
最新文章
- [NOIP2012]国王游戏 题解
- Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)
- mongodb(mongoose-redis-cache)
- Android中通过反射获取资源Id
- mysql 和字符串截取相关的知识点
- Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <;转>;
- 4. 在Inspector面板中显示类中变量+ 拓展编辑器
- android 19 activity纵横屏切换的数据保存与恢复
- Spring二 Bean详解
- js/jquery中实现图片轮播
- Python MySQLdb Mac安装遇到的问题
- 使用GDAL图书馆RPC校正问题
- 【转】怎么导出jar包
- 【代码学习】MYSQL数据库的常见操作
- 初学Java Web(4)——Servlet学习总结
- 开源方案搭建可离线的精美矢量切片地图服务-3.Mapbox个性化地图定制入门
- [Swift]LeetCode680. 验证回文字符串 Ⅱ | Valid Palindrome II
- 分布式监控系统开发【day38】:报警策略队列处理(五)
- 深入理解Linux内核-系统调用
- Android ——利用OnDraw实现自定义View(转)