novawwwzs12558comI3578II9877hypervisor接口添加host_ip字段-阿里云开发者社区

开发者社区> 银河国际> 正文

novawwwzs12558comI3578II9877hypervisor接口添加host_ip字段

简介: 云平台系统用户提出一个需求,要求根据物理机主机名或者IP查询其上虚拟机列表。根据主机名查询好办,nova的list接口提供了host参数;按主机IP查询就不那么直接了,需要先将IP反解析成主机名,然后使用主机名参数调用list接口。
+关注继续查看

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

这个函数是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属性:
02

此时执行nova hypervisor-list,就会看到包含了Host IP信息:
03

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《Drupal实战》——2.3 为图书添加对应的字段
本节书摘来自华章计算机《Drupal实战》一书中的第2章,第2.3节,作者 葛红儒,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1401 0
php封装json通信接口详解及实例
php创建JSON数据详解: ``` <?php //创建一个字符数组 $arr=array( 'id'=>1, 'name'=>'david' ); echo json_encode($arr);//这个是创建JSON的关键函数 ?> ...
1624 0
discuz论坛发帖添加字段
1 后台--论坛-- 分类信息   字段管理:添加字段。 分类管理:添加一个分类,将该分类添加几个字段; 2论坛---》 选择一个模块--》分类信息---》开启----》启用分类勾选上即可。
612 0
Mysql、SqlServer和Oracle 添加修改删除字段
MySql:添加单列:ALTER TABLE 表名 ADD 列名 数据类型添加多列:ALTER TABLE 表名 ADD 列名1 数据类型1,Add 列名2 数据类型2修改单列数据类型:ALTER TABLE 表名 CHANGE COLUMN 列名 数据类型同时修改多列数据类型:ALTE...
606 0
WordPress发布文章/页面时自动添加默认的自定义字段
如果你每篇文章或页面都需要插入同一个自定义字段和值,可以考虑在WordPress发布文章/页面时,自动添加默认的自定义字段
1168 0
《Drupal实战》——第2章 为图书添加各种字段 2.1 下载并安装常用模块
本节书摘来自华章计算机《Drupal实战》一书中的第2章,第2.1节,作者 葛红儒,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1076 0
Ovirt添加ISO存储域
创建glusterfs卷ISO作为ISO存储域 [root@ovirthost14.skyovirt.com ~]# gluster volume create ISO replica 3 192.
1515 0
Git 解决添加到.gitignore的忽略项不生效的问题
       今天又在.gitignore添加了一些忽略项,但是后来发现一些东西命名配置了忽略项却还是没起作用,so,分析原因,可能是在我添加忽略项之前,因为这些文件就早已经被提交了,所有他们已经在版本控制中,导致忽略项没有起作用。
901 0
+关注
4
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载