Показать детали сервера через Python OpenStack API с помощью клиента nova

2

Я пытаюсь преобразовать свой BASH-скрипт в Python, и у меня возникают трудности с поиском эквивалентного кода для списка серверов openstack или списка серверов OpenStack --long. Я хотел бы знать, какой хост - это мой сервер, который сейчас находится, и использовать эту информацию для проверки перед переносом на другой узел.

Просмотрев последнюю документацию novaclient и ее серверный модуль, я нашел две потенциальные команды, которые, как я надеялся, выполнил бы эту задачу, но не делает этого:

лист (подробно = True)

  • Получает серверы списка
  • detail = True должен возвращать подробную информацию о сервере (необязательно).
  • Это возвращает обычный список серверов с их именами.

получить (сервер)

  • Получить сервер
  • Это возвращает только имя сервера.

Я занимаюсь исследованиями в течение последних двух дней, и я не мог найти ту же самую/подобную проблему здесь в переполнении стека, поэтому я решил спросить, и я надеюсь, что кто-то может мне помочь в этом.

Теги:
python-2.7
openstack
openstack-nova

2 ответа

1
Лучший ответ

Любой список или получить должны быть в порядке.

В качестве примера 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 реж.

instance = nova_client.servers.get('my-server')
print(dir(instance))
  • 0
    Привет, Эандерсон, используя dir (), я смог найти атрибут хоста сервера. Я также использовал встроенный в Python getattr () для отображения его значения. Большое спасибо!
0

'my-server' должен быть идентификатором, как в instance.id, имя сервера недопустимо.
Я пока не могу комментировать, поэтому я написал ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню