Я пытаюсь преобразовать свой BASH-скрипт в Python, и у меня возникают трудности с поиском эквивалентного кода для списка серверов openstack или списка серверов OpenStack --long. Я хотел бы знать, какой хост - это мой сервер, который сейчас находится, и использовать эту информацию для проверки перед переносом на другой узел.
Просмотрев последнюю документацию novaclient и ее серверный модуль, я нашел две потенциальные команды, которые, как я надеялся, выполнил бы эту задачу, но не делает этого:
Я занимаюсь исследованиями в течение последних двух дней, и я не мог найти ту же самую/подобную проблему здесь в переполнении стека, поэтому я решил спросить, и я надеюсь, что кто-то может мне помочь в этом.
Любой список или получить должны быть в порядке.
В качестве примера 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))
'my-server' должен быть идентификатором, как в instance.id, имя сервера недопустимо.
Я пока не могу комментировать, поэтому я написал ответ.