Я пишу файл Saltstack .sls. Этот файл будет выполнен с помощью:
sudo salt-run state.orchestrate pillar="{environment: dev}
Итак, все будет запускаться на salt-master. Мне нужно сделать следующее. Мне нужно получить имена хостов всех миньонов, у которых зерно «среда» равно столбцу «среда», и у них есть зерно «роли», равное «mod-web». Для всех этих выбранных хостов мне нужно получить соответствующий порт (имя хоста является целью glob), поэтому я хотел бы перебрать выбранные хосты и получить их порт. Порт находится внутри столбца «mod:web:port». Имея эти две информации, я хотел бы выполнить http-запрос (но не используя cmd.run). Раньше это было сделано в сценарии оболочки, но я хочу полностью переместить его в этот файл .sls. Вот сценарий оболочки:
for HOST in $(sudo salt -C "G@environment:dev and G@roles:mod-web" config.get fqdn --output=text | awk '{ print $2 }')
do
PORT=$(sudo salt $HOST pillar.get mod:web:port --output=text | awk '{ print $2 }')
while [ ! $(curl -sfX GET http://${HOST}:${PORT}/api/__health --noproxy "*") ]; do sleep 1; done
echo "mod-web @$HOST OK"
done
Подробнее здесь: https://stackoverflow.com/questions/792 ... -saltstack
Переписать bash на Saltstack ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение