云平台系统用户提出一个需求,要求根据物理机主机名或者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信息:

转载于:https://www.cnblogs.com/ltxdzh/p/9895778.html

nova hypervisor接口添加host_ip字段相关推荐

  1. oracle添加新字段sql,oracle 构造添加字段的SQL语句

    用ORACLE数据库,在其中一个表最后添加了两个字段 1. alter   table   your_table   add   (column1   col_type1,clumn2   col_t ...

  2. Jmeter(一)http接口添加header和cookie --转载

    Jmeter(一)http接口添加header和cookie HTTP信息头管理器在Jmeter的使用过程中起着很重要的作用,通常我们在通过Jmeter向服务器发送http请求(get或者post)的 ...

  3. 创建预留mb21添加附加字段的增强

    创建预留mb21添加附加字段的增强(在屏幕没有需要的字段但是表RKPF和RSEB有): 我们的需求是在表RESB里面有个特殊库存字段SOBKZ,可是在MB11前台操作里面却没有,所以希望通过增强和BA ...

  4. mysql添加表字段_mysql命令添加表字段

    常用的通过mysql命令来更改表结构的一些sql语句,包括添加.删除.修改字段.调整字段顺序. 添加字段: alter table `user_movement_log` Add column Gat ...

  5. MySQL数据库添加一个字段

    MySQL数据库添加一个字段 1.添加一个字段 alter table tableName add 列名  数据类型; 2.添加一个字段设置默认值 alter table tableName add ...

  6. powerdesigner生成表sql语句时,统一添加默认字段(生成时间、生成人等)

    powerdesigner生成表sql语句时,统一添加默认字段 文章目录 powerdesigner生成表sql语句时,统一添加默认字段 方式一:配置创建表默认字段: 方法二:创建表模型后执行vb语句 ...

  7. mongoDb 给表添加+ 删除字段

    1 .添加一个字段.  url 代表表名 , 添加字段 content. 字符串类型. db.url.update({}, {$set: {content:""}}, {multi ...

  8. SQL---- 为树添加一个字段(是否有子节点)

    需求: 为该树查询结果添加一个字段,是否有子节点 方案一 SELECTORGCODE AS "id",ORGNAME AS "name",PARENTORGCO ...

  9. anki模板_【授权转载】【Anki高级操作技巧】(19)-如何在模板上添加新字段

    如何在模版上添加新字段? 有些时候,我们需要为一些需要发音的是卡片添加音频,但是会碰到一个问题就是现有的字段已经填满了,没有字段再放置发音的字段,所以今天我们解决的问题就是如何为模版添加新的字段.第一 ...

最新文章

  1. 用linux创建raid5,使用mdadm快速创建RAID5....(比赛后的小结!)
  2. 计算机的相关配置信息,win7系统查看电脑配置相关信息的方案介绍
  3. ajax登录非空判断,email ajax传输数据去重和非空判断(示例代码)
  4. n个骰子的点数 java_n个骰子的点数和为s的概率集合输出(Java)
  5. CF1182E Product Oriented Recurrence
  6. shiro 升级_小米11消息再次确认:骁龙875有独占期,超广角镜头大升级
  7. 通过按Enter阻止用户提交表单
  8. 问题三十八:C++中bad alloc问题(2)——使用“引用”避免该问题
  9. 数据结构:弗洛伊德算法(最短路径)图文详解
  10. 40网桥的基本概念及其原理
  11. 神经网络基础05-注意力机制总结
  12. sklearn的SVM的decision_function_shape的ovo和ovr
  13. 时间序列数据分析—概述
  14. 频谱仪和信号发生器的使用
  15. torch.zeros_like() 和 torch.zeros()的区别
  16. BZOJ 4380 Myjnie 区间DP
  17. 零编程制作疫情全国行政区地图,理性看待各地疫情防控减码
  18. 寻找大于2^N的最小质数
  19. Ubuntu下安装Canon打印机驱动程序
  20. CLion 2021.1 WSL 2报错cannot establish connection的解决方法

热门文章

  1. iOS视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear、view...
  2. GroovyQ | 关注Groovy社区动态,分享Groovy开发经验。
  3. 对ActiveRecord的评论
  4. 雷林鹏分享:Redis 管道技术
  5. luoguP4503 [CTSC2014]企鹅QQ hash
  6. 用tomcat插件 在Eclipse 中配置Tomcat项目
  7. tomcat结合nginx使用小结
  8. [JSP][JSTL]页面调用函数--它${fn:}内置函数、是推断字符串是空的、更换车厢
  9. python之生成器
  10. 使用NTDSXtract离线抓取Domain Hash