Sergei
ребзи, такое условие будет работать? when: ansible_distribution == 'Ubuntu' annd ansible_distribution_release == 'xenial|bionic'
Sergei
да забей на очепятку, вопрос в 'xenial|bionic'
Lamobot
да забей на очепятку, вопрос в 'xenial|bionic'
ansible_distribution_release in ['xenial', 'bionic']
Sergei
дякую, мистер бот
Lamobot
дякую, мистер бот
Однако если хотите писать рабочие на нескольких дистрах плейбуки/роли советую присмотреться к lookup first_found. Последний пример в доке: https://docs.ansible.com/ansible/latest/plugins/lookup/first_found.html
Владимир
А как передать ip машины с которой запускаем плейбук?
Владимир
причем внешний
Elenhil
А как передать ip машины с которой запускаем плейбук?
https://stackoverflow.com/questions/34560622/best-way-to-get-the-ip-address-of-the-ansible-control-machine
Elenhil
а у меня вот вопрос. Есть роль, в которой 10 однотипных тасок (засовывание k\v в консул) Можно ли сделать как-ть прокинуть поле host: hostname во все таски одновременно, а не писать это поле в каждую?
Владимир
благодарю
Aleksandr
тут главное понять что такое внешний ip. только ты понимаешь что значит внешний по отношению к цели.
Elenhil
т.е. не - name: "first" consul_kv: key: "key1" value: "val1" host: hostname - name: "second" consul_kv: key: "key2" value: "val2" host: hostname а чтобы *магия* - name: "first" consul_kv: key: "key1" value: "val1" - name: "second" consul_kv: key: "key2" value: "val2"
Elenhil
у других тасок есть вариант с енв варами, но тут нету
Aleksandr
а в чем сложность прокидывания?
Aleksandr
хост один и тот же? вынеси его в переменную, а задание параметра модуля будет одинаковая копипаста
Elenhil
и желание уменьшить кол-во строк в плейбуке
Aleksandr
или ты можешь итерироваться по массиву ключей-значений, тогда таск будет вообще один - name: put kv consul_kv: key: item.key value: item.value host: hostname loop: my_kv_variable
Elenhil
мне нравится, когда смотришь на таску и не видишь ненужых параметров
Elenhil
или ты можешь итерироваться по массиву ключей-значений, тогда таск будет вообще один - name: put kv consul_kv: key: item.key value: item.value host: hostname loop: my_kv_variable
это вариант, да. Но хотелось бы знать, есть ли какой-нить способ именно воткнуть поля во все нужные мне таски
Aleksandr
и ты назовешь это читаемым кодом?)
Elenhil
Владимир
В инвенторе есть хостней grafana hostvars[inventory_hostname]['ansible_default_ipv4']['address'] как в данной конструкции его указать? хочу передавать айпишник из инветаря хоста grafan другим инстансам
UglyKoyote
set_facts
GithubReleases
ansible/ansible tagged: v2.10.1 Link: https://github.com/ansible/ansible/releases/tag/v2.10.1 Release notes: New release v2.10.1
George
curl 2ip.ru ?
Vladimir
curl eth0.me :)
niko
ипв6 не умеет, низачот
George
curl eth0.me :)
👍👍👍👍👍
Vladimir
еще есть curl wttr.in - но уж не знаю насколько оно надо в консоли
Mikee
забавно, ага )
Vladimir
круто
ну можно еще город дописать . Есть и консольный гугл и duckduckgo
Vladimir
но они вроде как в браузере Хотя может что то поменялось
Dees7
Уважаемые, кто то пользует VSCode для написания плйбуков? возможно ли step-by-step дебаг в vscode?
Dees7
Remote connect extension и будет тебе счастье
не понял как это мне поможет? (не нашел такое расширение. есть только ssh remote)
manefesto
Я что-то тупанул у меня есть переменные вот такого вида --- user1: name: user1 key: bla bla user2: name: user2 key: blabla Как в цикле обратится к key ?
manefesto
о. кажется with_dict
Ilia
не понял как это мне поможет? (не нашел такое расширение. есть только ssh remote)
Ну, рмоут ссш до хоста где будешь вести разработку
Ilia
Удобно, практично
Dees7
Ну, рмоут ссш до хоста где будешь вести разработку
Так с этим проблем нет. Мне теперь надо запустить плйбук. там, например 2 таска, я хочу после выполнения первого, остановиться по брекпоинту, и посмотреть что было получено и записано в переменную
Отделение Bereke Bank
так че можно что ли? 😐
Dees7
я нашел что то похожее, https://gist.github.com/Deepakkothandan/daeb1ba8dc5b73d85ded03cb2a614e85 Но это для дебага модуля конкретного похоже.
Кирилл
Спасибо
Vadim "Oxyd"
еще есть curl wttr.in - но уж не знаю насколько оно надо в консоли
Всегда им погоду смотрю. Оно ещё и параметры умеет. Для всяких наколенных информеров — хорошо.
Михаил
Всем привет.Только недавно начал пробовать ansible.Пытаюсь сделать плейбук который скачивает и устанавливает 7z на W10 через win_package.Почему то когда доходит до установки - ansible зависает.
Grek 🇺🇦
потому что надо делать silent install. а то у вас в фоне открывается установщик, и ждет что вы нажмете далее-далее-далее
Михаил
Не.В том то и дело, ничего не выходит.в агрументых ставлю /s.
Михаил
На W10 запускается процесс установщик Windows безнагрузки и висит.
Grek 🇺🇦
показывай плейбук
Grek 🇺🇦
Dees7
debug + pause
Это совсем из пушки по воробьям. достаточно debugger: always Но все равно не то
Grek 🇺🇦
Не.В том то и дело, ничего не выходит.в агрументых ставлю /s.
How can I install 7-Zip in silent mode? For exe installer: Use the "/S" parameter to do a silent installation and the /D="C:\Program Files\7-Zip" parameter to specify the "output directory". These options are case-sensitive. For msi installer: Use the /q INSTALLDIR="C:\Program Files\7-Zip" parameters. via https://www.7-zip.org/faq.html#:~:text=For%20exe%20installer%3A%20Use%20the,%5C7%2DZip%22%20parameters.
Михаил
показывай плейбук
https://pastebin.com/XPRUKVci
Grek 🇺🇦
вы используете неправильные ключи установки
Grek 🇺🇦
смотрите доку по установке из msi
Grek 🇺🇦
For msi installer: Use the /q INSTALLDIR="C:\Program Files\7-Zip" parameters.
Grek 🇺🇦
ну или такие приложения ставьте через https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html https://chocolatey.org/packages/7zip.install
Grek 🇺🇦
так это и есть простое - никаких ключей установки. указываете имя пакета и все ставится за вас
Михаил
Я понимаю.Просто я буду в будущем устанавливать через свои MSI чего в Шоколадке нету.
Grek 🇺🇦
тогда читайте ключи установки разных софтин, смотрите какие есть инсталлеры - у них тоже есть стандартные ключи установки
Gregory
Всем привет! пытаюсь через shell module зафигачить альтер, закрываю двойными скобками такое выражение
Gregory
- name: Change the Replication Strategy and replication factor for keyspace system_auth shell: cqlsh 192.168.2.11 -p cassandra -u cassandra -e "ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1': 3};"
Gregory
вот ошибка которую получаю
Gregory
ERROR! Syntax Error while loading YAML. mapping values are not allowed in this context The error appears to be in '/mnt/c/Users/grybalka/Desktop/work/ansible/cassandra_users/tasks/main.yml': line 67, column 114, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: - name: Change the Replication Strategy and replication factor for keyspace system_auth shell: cqlsh 192.168.2.11 -p cassandra -u cassandra -e "ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1': 3};"
Gregory
ругается на : после class
Николай
Ну попробуй shell: > cqlsh 192.168.2.11 -p cassandra -u cassandra -e "ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1': 3};"
Gregory
фиксанул добавил двойные кавычки в ":"
Yar
Привет всем. Вопросы по async/poll, не совсем понял как он работает. Указанное в async количество времени - это количество времени, по истечении которого плейбук будет failed, верно? А poll - раз в какое количество времени в пределах async проверяется, готова ли задача к выполнению, или через какое время стартовать следующей задаче? И если одна задача задана асинхронно, то все остальные выполняются по очереди до конца плейбука или роли, если среди них не будет таски с async_status, правильно?