Получение текущего идентификатора Nova Instance - PullRequest
0 голосов
/ 29 апреля 2018

Я использую jclouds SDK 2.1.0 для обработки ресурсов OpenStack. Предположим, у меня есть работающий сервер nova и на нем выполняется код, есть ли способ получить идентификатор или данные для того экземпляра, который уже запущен? что означает получение сведений об экземпляре (не для всех экземпляров, только для экземпляра, который я использую)

что-то похожее на функцию существует в этом классе AWS

Спасибо

EDIT

Я обнаружил, что существует файл с именем meta_data.json , который содержит идентификатор сервера (UUID) при создании сервера с включенным конфигурационным диском , но как это реализовать с помощью код? я могу получить этот файл, используя jclouds SKD?

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

в соответствии с API метаданных это только вопрос запроса HTTP GET, отправляемого на URL: http://169.254.169.254/openstack/2012-08-10/meta_data.json, но хитрость заключается в том, чтобы отправить этот запрос изнутри самого Nova Server, поэтому я открыл консоль сервера nova, и я выполнил команду: curl http://169.254.169.254/openstack/2012-08-10/meta_data.json

эта команда вернет объект JSON, содержащий идентификатор сервера (UUID), имейте в виду, что first состоит в том, что при создании экземпляра Nova вы должны проверить параметр диска конфигурации enter image description here

секунда , на сервере несколько файлов meta_data.json, файл, который существует в папке 2012-08-10 содержит идентификатор сервера (UUID)

0 голосов
/ 01 мая 2018

Когда вы создаете сервер с использованием jclouds ComputeSevice, возвращенный объект NodeMetadata имеет поле providerId, которое содержит идентификатор сервера. Если вы используете Nova API напрямую, вы получите объект Server, у которого уже есть свой идентификатор.

...