Openstack API - Nova vs Ceilometer, чтобы узнать состояние экземпляра
Кто-нибудь знает способ запросить openstack через API, если экземпляр запущен или нет? Я даже не знаю, должен ли я попросить Ceilometer или Nova.
заранее спасибо
1 ответ
Решение
Обычно вы просите 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"))