2015-06-30 6 views
2

Во время создания vm в openstack можно указать имя ключевой пары, чтобы указанный открытый ключ был введен в новое созданное vm.Ввод ключа SSH в openstack

Хотелось бы узнать, в каком состоянии машины выполняется ключевая инъекция, полностью? Если машина находится в состоянии ACTIVE, это гарантирует, что ввод ключа завершен?

Детали: У меня есть ограниченные квоты для ключевых пар, и я хотел бы удалить каждый из ключей OpenStack сразу же после того, как они получают инъекции на целевую машину. У меня есть только доступ к Openstack ReST API и НЕ к целевому vm.

UPDATE Глядя на сверхновой экземпляров стола, я могу видеть, что «имя ключа» и «данные ключа» существует там. Я думаю, что ключ скопирован в эту таблицу, а затем исходный ключ больше не ссылается. Поэтому удаление ключа не должно вызывать никаких проблем. Я ошибаюсь?

ответ

0

Что вы можете сделать, это попробовать ssh-соединение, и как только это удастся, перейдите к удалению ключа.

Чтобы ответить на ваш вопрос напрямую, ключ добавляется через cloud-init. Вы можете grep для ssh в /var/log/cloud-init.log, чтобы узнать, когда именно это произойдет. (Это происходит довольно рано в процессе cloud-init).

Я не думаю, что есть какой-либо API-способ выяснить, когда именно происходит инъекция ключа. Машина в состоянии ACTIVE не является гарантией того, что облачная инициализационная часть ключевой инъекции будет выполнена (хотя для практических целей это происходит довольно рано).

Вы можете попробовать проверить это через консоль nova. Хотя вывод консольного журнала имеет ограниченный буфер, поэтому он может превышать часть добавления ключа, и, следовательно, вы можете не видеть ее в журнале консоли.

Итак, я считаю, что проверка через фактическое соединение ssh - это единственный верный способ выстрела.

+0

Как упоминалось в вопросе, ssh для цели vm не является вариантом. Я протестировал несколько образцовых изображений с двумя последовательными вызовами ReST, сначала для создания vm, а затем сразу же вторым, чтобы удалить пару ключей, и во всех тестовых случаях ключ был введен в vm, но я не нашел никакого документа, чтобы гарантировать такое же поведение для всех изображений. – mhshams

+0

Ключевая инъекция является частью облака-init, а не openstack. Но я думаю, вы можете смело предположить, что когда vm запущен, у него есть ключ. –

+0

только несвязанный FYI - в случае несоответствующих сбоев (если метаданные не удаются), ваш vm может закончиться без ключей –

Смежные вопросы