Я пытаюсь заставить cloud-init не предпринимать никаких действий, если сервер метаданных недоступен. Если cloud-init игнорирует ошибку и продолжает выполнение (что кажется конфигурацией по умолчанию), то он сбрасывает SSH-ключ хоста, пароль администратора и т. Д., Что является проблемой, если виртуальная машина уже использовалась заранее (если был настроен пароль для входа в систему, после чего пользователи больше не могут получить доступ к виртуальной машине).
Я вижу эту проблему в двух ситуациях:
Ах, я понял, причина того, что он продолжает выполняться, несмотря на то, что он не достигает каких-либо источников данных, заключается в том, что источник данных Fallback / None был настроен в /etc/cloud/cloud.cfg.d/90_dpkg.cfg
Я удалил этот файл и настроил в /etc/cloud/cloud.cfg
:
datasource_list: [ OpenStack, Ec2 ]
И тогда он больше не выполняется.