Как выполнить локальную команду оболочки в файле шаблона OpenStack HOT?

Раздел пользовательских данных в HOT предназначен для запуска команды оболочки на новом созданном экземпляре nova, однако я хочу запустить локальную (компьютер, на котором выполняется команда создания теплового стека) команду оболочки при выполнении команды «создание теплового стека».

Но после того, как я прочитал документ OpenStack HOT, я не нашел никакого синтаксиса, поддерживающего это.


person gemfield    schedule 05.08.2016    source источник
comment
Вы можете добиться этого, если у вас есть собственный тепловой плагин и вызывать его, вызывая что-то вроде OS::Gemfield::RunShellCmd.   -  person dpaks    schedule 30.11.2016
comment
Это будет проблемой при развертывании файла шаблона HOT на другом хосте OpenStack из-за отсутствия подключаемого модуля.   -  person gemfield    schedule 03.03.2017


Ответы (1)


Нет синтаксиса для поддержки этого. Шаблоны заездов обрабатываются на сервере. Также нет гарантии, что отправляющая система имеет даже стандартную оболочку Unix (шаблоны Heat можно отправлять через веб-браузер или с помощью инструментов, отличных от heat CLI).

Если рабочий процесс развертывания требует координации некоторых локальных действий с развертыванием Heat, лучше всего использовать другой инструмент (Ansible? Сценарий оболочки?) для автоматизации рабочего процесса.

Альтернативой может быть то, что Heat (или ваши виртуальные машины) сигнализируют вашей локальной системе с помощью какого-то веб-перехватчика, и локально работает веб-служба, которая будет получать сигнал и выполнять любые подходящие действия.

person larsks    schedule 05.08.2016