问个 openstack Python SDK 的问题,如何获得虚拟机的卷对象?

2017-03-14 18:13:18 +08:00
 whx20202
官网 SDK 说明很少, github 上面不知道咋的没 issue 那一页,社区问这个问题要审核不说还没给我过。

晕,我都不知道去哪里提问

我想目前获得了一个虚拟机对象 ( server ),想从这个对象获取对应的卷 ID

但是搜了半天也没搜到,而且 help(nova.servers)里面的函数也没有看着像的。

有谁搞过这个吗
2006 次点击
所在节点    云计算
6 条回复
meteor
2017-03-14 18:44:42 +08:00
可以在这里问 https://ask.openstack.org/zh/questions/

卷对象是这个命令吗? openstack volume list

对于 Openstack 社区我也是呵呵🙃
whx20202
2017-03-14 18:47:49 +08:00
@meteor 审核没动静,我现在又在中文版提了一个

主要是我想找出和某个主机关联的卷 不是 list 所有的 因此没搜到
我再等等吧 看看中文的会不会给我审核过
amd00
2017-03-15 01:02:14 +08:00
从 volume list 找到对应 server 的也可以或者 nova show 对应的 server id 也能看到对应的 volume
whx20202
2017-03-15 10:30:52 +08:00
@amd00 对的,但是问题是 这个是 openstack 的命令行工具,而我想看的是 SDK
xudonglee
2017-03-15 11:03:48 +08:00
@whx20202 查询虚机详细信息会有 volume 的信息的。

REQ: curl -i 'http://vip:8774/v2/ef6ebc7aa16648c2a0efb98122628baf/servers/db3f4554-bec7-4886-8d4c-099636a17bc6' -X GET -H "Accept: application/json" -H "User-Agent: python-novaclient" -H "X-Auth-Project-Id: admin" -H "X-Auth-Token: {SHA1}2ca61ee792030b177cc471490971259b59cc37fd"

RESP: [200] {'date': 'Wed, 15 Mar 2017 02:59:49 GMT', 'connection': 'keep-alive', 'content-type': 'application/json', 'content-length': '1547', 'x-compute-request-id': 'req-fc7ac3d6-782d-4bd5-bc80-8ab0cd78e0fe'}

RESP BODY: {"server": {"OS-EXT-STS:task_state": null, "addresses": {"test": [{"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:33:1d:30", "version": 4, "addr": "10.100.111.8", "OS-EXT-IPS:type": "fixed"}]}, "links": [{"href": "http://vip:8774/v2/ef6ebc7aa16648c2a0efb98122628baf/servers/db3f4554-bec7-4886-8d4c-099636a17bc6", "rel": "self"}, {"href": "http://vip:8774/ef6ebc7aa16648c2a0efb98122628baf/servers/db3f4554-bec7-4886-8d4c-099636a17bc6", "rel": "bookmark"}], "image": "", "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-0000004b", "OS-SRV-USG:launched_at": "2017-03-13T08:37:03.000000", "flavor": {"id": "4", "links": [{"href": "http://vip:8774/ef6ebc7aa16648c2a0efb98122628baf/flavors/4", "rel": "bookmark"}]}, "id": "db3f4554-bec7-4886-8d4c-099636a17bc6", "security_groups": [{"name": "default"}], "user_id": "806551f9bbe343b4b6d7b9f6c454da3e", "OS-DCF:diskConfig": "MANUAL", "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "OS-EXT-AZ:availability_zone": "nova", "config_drive": "", "status": "ACTIVE", "updated": "2017-03-13T08:37:03Z", "hostId": "fd2df24c3dca92371434d552eca10587df73e21961df4b700dc827b9", "OS-EXT-SRV-ATTR:host": "node3", "OS-SRV-USG:terminated_at": null, "key_name": null, "OS-EXT-SRV-ATTR:hypervisor_hostname": "node3", "name": "base-vm", "created": "2017-03-13T08:36:55Z", "tenant_id": "ef6ebc7aa16648c2a0efb98122628baf",

"os-extended-volumes:volumes_attached": [{"id": "df5a5781-7a40-48e2-946b-03ae15bb2b35"}, {"id": "fbb65753-1fef-4908-985f-42f35d02ba2d"}],

"metadata": {}}}

其中,"os-extended-volumes:volumes_attached"对应的列表中的卷 id 就是你要的。
whx20202
2017-03-15 11:16:05 +08:00
@xudonglee 感谢, SDK 里的 vm 对象有这个属性吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/347437

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX