使用 nova 客户端通过 Python OpenStack API 显示服务器详细信息
Show Server details via Python OpenStack API using the nova client
我正在尝试将我的 BASH 脚本转换为 Python,但很难找到 openstack server show 或 [=25 的等效代码=]openstack 服务器列表 --long。我想知道我的服务器当前位于哪个主机,并在将其迁移到另一个主机之前使用此信息进行检查。
查看最新的 novaclient documentation and its servers module,我发现了两个可能的命令,我希望它们能完成任务,但没有这样做:
- 获取服务器列表
- detailed=True 应该 return 详细的服务器信息(可选)。
- 这 return 是服务器及其名称的常规列表。
- 获取服务器
- 这return只是服务器的名称。
这两天我一直在研究,我在堆栈溢出中找不到相同/相似的问题,所以我决定问一下,我希望有人能帮助我解决这个问题。
list 或 get 都可以。
举个例子,get 可以这样使用。
instance = nova_client.servers.get('my-server')
print(instance.name)
print(instance.addresses)
print(instance.status)
或者使用列表。
for instance in nova_client.servers.list():
print(instance.name)
print(instance.addresses)
print(instance.status)
如果您想要一种简单的方法来了解您可以获得的数据类型,您可以简单地使用 Python 内置 dir.
instance = nova_client.servers.get('my-server')
print(dir(instance))
'my-server' 需要是 instance.id 中的 ID,服务器名称无效。
我还不能评论,所以我写了一个答案。
我正在尝试将我的 BASH 脚本转换为 Python,但很难找到 openstack server show 或 [=25 的等效代码=]openstack 服务器列表 --long。我想知道我的服务器当前位于哪个主机,并在将其迁移到另一个主机之前使用此信息进行检查。
查看最新的 novaclient documentation and its servers module,我发现了两个可能的命令,我希望它们能完成任务,但没有这样做:
- 获取服务器列表
- detailed=True 应该 return 详细的服务器信息(可选)。
- 这 return 是服务器及其名称的常规列表。
- 获取服务器
- 这return只是服务器的名称。
这两天我一直在研究,我在堆栈溢出中找不到相同/相似的问题,所以我决定问一下,我希望有人能帮助我解决这个问题。
list 或 get 都可以。
举个例子,get 可以这样使用。
instance = nova_client.servers.get('my-server')
print(instance.name)
print(instance.addresses)
print(instance.status)
或者使用列表。
for instance in nova_client.servers.list():
print(instance.name)
print(instance.addresses)
print(instance.status)
如果您想要一种简单的方法来了解您可以获得的数据类型,您可以简单地使用 Python 内置 dir.
instance = nova_client.servers.get('my-server')
print(dir(instance))
'my-server' 需要是 instance.id 中的 ID,服务器名称无效。
我还不能评论,所以我写了一个答案。