Здравствуйте, товарищи!
В Ansible я не силен. Сейчас только в процессе изучения,
Задача: выполнить несколько команд в цикле. Часть команд повторяется. Приведу команды:
psql -U postgres -c "CREATE USER user_name"
psql -U postgres -c "CREATE DATABASE dn_name OWNER user_name"
.......
Т.е. первая часть команды константа: psql -U postgres -c изменяются только запросы.
Можно, разумеется, решить в лоб:
- name: Create user
command: psql -U postgres -c "CREATE USER user_name"
.....
Еще, как я понял, в ansible есть плагин для работы с postgresql, но для моих задач, на мой взгляд, это лишнее. Или я не прав?
Еще, разумеется, можно просто закинуть скрипт на bash который все это сделает в лучшем виде.
Как бы вы подошли к решению?
HighMan, Именно тем что shell - это shell :) Соответственно, позволяет воспользоваться функциями шелла, такими как перенаправление вывода или пайп. но в контексте ansible для перенаправления есть register:
Есть модуль постгреса через него и надо делать, нафига городить ваш говно костыль? Его и поддерживать сложнее и вникать, когда есть стандартное элегантное решение их коробки
Главное при написании ансибля - подумать, а что будет если его прогонять больше одного раза ?
В идеале, если система уже в нужном состоянии, он не должен ничего запускать или перезапускать.
Если весь ансибль это шелл комады - просто пишите скрипт и на парьтесь.