J版OpenStack非admin用户无法获取OS-EXT-SRV-ATTR属性问题详解
在admin用户下,如代码host_name = getattr(instance, 'OS-EXT-SRV-ATTR:host', '')是可以获取到虚机所在宿主机ip或者别名的,但是在非admin用户下,
返回的是空,即无法获取到
在nova模块下
执行
可以找到
贴extended_server_attributes.py部分代码
可以看到在获取server属性的时候,是有权限判断的,在/etc/nova/policy.json找到
通过之前对policy.json的了解,“is_admin:True”是需要admin权限的
因此,如果想在非admin用户下获取到server属性,可以考虑两种方法
1.修改/etc/nova/policy.json文件
====>
2.修改extended_server_attributes.py show()判断