Openstack API - Nova vs Ceilometer 了解实例状态

Openstack API - Nova vs Ceilometer to Know Instance State

有谁知道通过 API 询问 openstack 实例是否为 运行 的方法? 我什至不知道我是否必须向 Ceilometer 或 Nova 询问。

提前致谢

通常您会要求 Nova 获取当前状态,并要求 Ceilometer 获取历史状态(例如用于计费)。假设您有一个有效的 nova 客户端:

 servers = nova.servers.list(detailed=True)
 for s in servers:
     print(s.status)

根据您的设置,可能还有其他属性可以为您提供更详细的信息,例如扩展状态电源状态(由于名称中的非法标识符字符,您需要使用 getattr.):

 print(getattr(s, "os-extended-status:power_state"))