Облачные экземпляры в OpenStack не могут импортировать общедоступный ключ SSH

делает кто-либо знает, как на самом деле решить проблему Облака Ubuntu экземпляры VM в OpenStack, не бывшем способном импортировать открытые ключи из сервера метаданных API новинки со следующим сообщением:

2012-07-18 11:05:45,409 - util.py[WARNING]: 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [113/120s]: url error [[Errno 111] Connection refused]
2012-07-18 11:05:52,419 - DataSourceEc2.py[CRITICAL]: giving up on md after 120 seconds

Я нашел многочисленные упоминания о проблеме (например, здесь или здесь) и попытался повернуть это правило iptables вкл\выкл (использование iptables-сохраняют и iptables-применяются), но это не работает. Забавное правило, кажется:

$ iptables -t nat -L -v | grep -n3 169.254.169.254
48-
49-Chain nova-network-PREROUTING (1 references)
50- pkts bytes target     prot opt in     out     source               destination         
51:   32  1920 DNAT       tcp  --  any    any     anywhere             169.254.169.254      tcp dpt:http to:128.131.172.155:8775
52-    0     0 DNAT       udp  --  any    any     anywhere             sneezy.infosys.tuwien.ac.at  udp dpt:1000 to:10.0.0.2:1194
53-
54-Chain nova-network-float-snat (1 references)

Есть ли любой хороший способ вручную отладить это, между прочим?

1
задан 15 November 2017 в 16:46

1 ответ

Исправление проблемы при развертывании «все в одном»

С помощью хороших людей на IRC-канале #openstack (zynzel, livemoon) мы решили это простым перезапуском nova-api:

sudo restart nova-api

Вы можете проверить, действительно ли сервер метаданных работает, выдав:

lsof -i:8775

с вашего узла контроллера или

nmap -sS -sV -O -P0 -p8773-8776 <controller_ip>

с помощью IP-адрес вашего контроллера и проверка того, что порт 8775 / tcp открыт и прослушивается.

Возможно, это проблема Dodai-deploy, поскольку nova-api необходимо установить после установки nova-compute для правильной инициализации сервера метаданных.

Устранение проблемы при многоузловом развертывании

Если вы запускаете развертывание с несколькими хостами и хотите использовать облачные экземпляры Ubuntu, которые извлекают открытые ключи с сервера метаданных, это необходимо в контроллере вашего контроллера. nova.conf:

multihost=True
enabled_apis=metadata,ec2,osapi_compute,osapi_volume

и это в nova.conf вашего вычислительного узла:

multi_host=True
enabled_apis=metadata

Без этого вы получите ошибки в выводе консоли вашего экземпляра (тест nova console-log) -instance) о невозможности доступа к серверу метаданных, и вы не сможете подключиться к ним по ssh.

Другое решение состоит в том, чтобы сообщить своему экземпляру, кто вы на Launchpad, через форму Dashboard с данными пользователя (или файл в терминале), чтобы он мог получить оттуда ваши открытые ключи. Синтаксис (не объясняется нигде, кроме как в , исходный код ):

#cloud-config
ssh_import_id: [your-launchpad-username]
0
ответ дан 15 November 2017 в 16:46

Другие вопросы по тегам:

Похожие вопросы: