Victor
https://www.altlinux.org/Ansible
Anonymous
https://docs.ansible.com/ansible/devel/modules/apt_rpm_module.html - а кто скажет, зачем это нужно, когда есть package?
Alex
https://docs.ansible.com/ansible/devel/modules/apt_rpm_module.html - а кто скажет, зачем это нужно, когда есть package?
package не во всех случаях прокатывает. Но да, я переписываю везде где вижу на него.
Victor
Модуль apt, там не работает, по всей видимости без танцев, если что.
Nikita
уууу, этот аль линукс
Nikita
есть модуль apt-rpm
Nikita
он работает
manefesto
не парься, пиши на shell модуле
Victor
есть модуль apt-rpm
я его видел, да, но еще не успел попробовать. Спс за наводку.
bebebe
накурено. надо провертривать
Timur
Victor
накурено это когда у тебя есть несколько групп хостов, и тебе нужно прогнать плей с run_once на каждую из этих групп
Andrey
Ребят, подскажите как сделать. Нужно в джобе генерить пароль, потом брать от него хеш и писать в файл ну и тд. Там уже дальше не важно. я задал: vars: password: "{{user_password | default(lookup('password', '/dev/null length=10 chars=ascii_letters,digits'))}}" для того чтобы можно было передавать пароль из аргументов, а если не передан то генерить автоматом. Дальше я в тасках делаю: tasks: - name: Make Hash shell: echo -n "{{password}}" | sha256sum | tr -d '-' | tr -d ' ' register: password_hash пишу в файл и проч. И в финале хочу вывести тот пароль который был передан или сгенерен: - debug: msg: [ "host: {{inventory_hostname}}", "user: {{ username }}", "pwd: {{ password }}", ] Но в этот момент в переменной password пароль генерится заново. Как этого избежать?
Artur
А user_password где задается?
либо аргументом, либо генерится
Timur
Где генерится?
Timur
Не вижу кода
Artur
password: "{{user_password | default(lookup('password', '/dev/null length=10 chars=ascii_letters,digits'))}}"
Timur
Это переменная password
Timur
А user_password где генерится?
Artur
это если передовать аргументом
Andrey
А user_password где генерится?
Ожидается что она будет передана через --extra-vars, ну или если не передана то генерим автоматом
Timur
Тогда при таком раскладе при каждом вызове переменной она будет генериться заново
Timur
Что и происходит, судя по всему
Andrey
Тогда при таком раскладе при каждом вызове переменной она будет генериться заново
Вот вопрос в том, как сделать чтобы этого не происходило? Чтобы он генерился 1 раз и дальше уже юзался по всей джобе один и тот же
Timur
Задавать переменную password не в vars, а отдельным таском через set_fact
Timur
Из варсов убрать вообще
Andrey
примерно так? - set_fact: password: "{{user_password | default(lookup('password', '/dev/null length=10 chars=ascii_letters,digits'))}}" и дальше я уже смогу юзать {{password}} ?
Sergey
Тогда будет работать так, как ты думаешь - генерить один раз, при чтении yml
Andrey
Перепиши на Jinja
Можно чуть больше делатей?
Timur
Перепиши на Jinja
Не нужна тут jinja. Нужно просто один раз set_fact сделать
Albert
Какой default у serial?
Albert
Мне надо сделать чтобы serial параметром задавался, а если не задан параметер, то пусть ничего не задает
Victor
Какой default у serial?
повышали, что-то в районе 5
Artur
"By default, Ansible will try to manage all of the machines referenced in a play in parallel"
Albert
То есть 100%?
Artur
похоже на то ( версия 2,6 )
Albert
Это то что я и находил, просто хотел тут еще проверить
Victor
хмм, однако
Victor
Чет голова не варит. Дано: Есть инвентори с юзверями. Есть роль чтобы их на хосте запилить и добавить нужных в судоерсы. Проблема: В каждой системе/релизе свой взгляд на то как должна выглядеть строчка в sudoers.d / какие права на нее нужно поставить / группа с рутовыми правами в целом тоже не общая -> sudo/wheel, так что проблему не решает (?) Вопрос: Как с этим говном управляться?
Victor
В зависимости от окружения пихать нужную?
Ну у части пользователей не все права
bebebe
Ну у части пользователей не все права
До сих пор не понимаю в чем сложность?
Victor
Всем спс. Пазл в готове сложился
Dok
Ребят, как из ansible_all_ipv4_addresses взять ip из определённой подсети?
simplemice.eth
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters_ipaddr.html
simplemice.eth
?
Dok
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters_ipaddr.html
Спасибо, я, походу, ансибл с конца изучаю
simplemice.eth
вход с другой стороны
Игорь
Всем привет, пытаюсь поставить docker_swarm через ansible. Создал роль с установкой в инвентори файле передаю hosts: all, но мне требуется перезаписать hosts для мастера и воркеров - это возможно сделать?
Victor
Всем привет, пытаюсь поставить docker_swarm через ansible. Создал роль с установкой в инвентори файле передаю hosts: all, но мне требуется перезаписать hosts для мастера и воркеров - это возможно сделать?
Не очень понял, но отвечу. Если ты делаешь playbook и в play ты указываешь hosts, то там ты можешь сделать два разных play для мастеров и для воркеров, запихнув их в разные группы в инвентори. Типо: - hosts: swarm_masters ... - hosts: swarm_workers ...
Victor
Или если тебе нужно только несколько тасков сделать в зависимости от того в какой группе у тебя находится хост, то можно в таске сделать when: inventory_hostname in groups['swarm_masters']
Alexander
А как кто become пишет? В ролях или в playbook'ах?
Alexander
А почему?
Constantin
Хорошего ответа у меня нет. Просто так когда-то решил, чтобы в ролях не плодить лишнего, что у меня плэйбуки по-умолчанию идут с become: yes. В 99% случаев я использую их для деплоя на сервера, а там для большинства задач нужем sudo
Alex
А почему?
В ролях я пишу если они требуют рута или работы от другого юзера, а если нет, то в плейбуках. Такое решение было ради гибкости сопровождения автоматизации.
Alex
Если не требуют рута, то зачем вообще писать?
А у тебя плейбуки только роли вызывают? У меня там ещё обработка разная и разные действия дополнительные типа создания бд.
Alexander
Роль создания бд не канает?
Alex
Роль создания бд не канает?
Роль управления СУБД канает, но там тегерирование нужно и даже так выполнение дольше чем один пост таск прогнать.
Alex
Я всё думаю как бы асинхронности понавтыкать для ускорения. Вместо 30 секунд на роль запускать плейбуки пачками асинхронно и таски в ролях асинхронные
Alex
И тогда вместо 10-15 минут на стенд, будет уходить 1-2 и то только из-за того что скачивать надо с кешера
Anonymous
Зачем проверка наличия /etc/sudoers ?
Хрен его знает... Помню, что когда писал, этому точно было какое-то объяснение.
Anonymous
Кусок легаси видимо)
Anton
Пытаюсь понять как работают условия, помощь приветствуется) Есть элементарный таск: - name: Installing conan win_command: pip install conan Мне нужно чтобы каждый хост для себя запомнил что таск был на нём выполнен и не выполнял его снова, как это сделать?
Anton
Сразу скажу, что на винде нет модуля pip.
Sergey
а что он устанавливает установленный?
Anton
Обновляет. Ну и вообще вопрос более абстрактный, без привязки к pip.
Victor
Но это сам модуль так умеет Но2 так умеют много модулей.