Victor
https://www.altlinux.org/Ansible
Anonymous
https://docs.ansible.com/ansible/devel/modules/apt_rpm_module.html - а кто скажет, зачем это нужно, когда есть package?
Alex
mertv0e
Victor
Модуль apt, там не работает, по всей видимости без танцев, если что.
Nikita
уууу, этот аль линукс
Nikita
есть модуль apt-rpm
Nikita
он работает
manefesto
не парься, пиши на shell модуле
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 пароль генерится заново. Как этого избежать?
Aleksey
Timur
Timur
Где генерится?
Timur
Не вижу кода
Artur
password: "{{user_password | default(lookup('password', '/dev/null length=10 chars=ascii_letters,digits'))}}"
Timur
Это переменная password
Timur
А user_password где генерится?
Artur
это если передовать аргументом
Timur
Тогда при таком раскладе при каждом вызове переменной она будет генериться заново
Timur
Что и происходит, судя по всему
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
Sergey
Тогда будет работать так, как ты думаешь - генерить один раз, при чтении yml
Andrey
Albert
Какой default у serial?
Albert
Мне надо сделать чтобы serial параметром задавался, а если не задан параметер, то пусть ничего не задает
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, так что проблему не решает (?)
Вопрос:
Как с этим говном управляться?
Egor
bebebe
Victor
Anonymous
Victor
Всем спс. Пазл в готове сложился
Dok
Ребят, как из ansible_all_ipv4_addresses взять ip из определённой подсети?
simplemice.eth
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters_ipaddr.html
simplemice.eth
?
Dok
simplemice.eth
вход с другой стороны
Dok
Игорь
Всем привет, пытаюсь поставить docker_swarm через ansible. Создал роль с установкой в инвентори файле передаю hosts: all, но мне требуется перезаписать hosts для мастера и воркеров - это возможно сделать?
Victor
Или если тебе нужно только несколько тасков сделать в зависимости от того в какой группе у тебя находится хост, то можно в таске сделать
when: inventory_hostname in groups['swarm_masters']
Dmitry
Alexander
А как кто become пишет? В ролях или в playbook'ах?
Constantin
Alexander
А почему?
Constantin
Хорошего ответа у меня нет. Просто так когда-то решил, чтобы в ролях не плодить лишнего, что у меня плэйбуки по-умолчанию идут с become: yes.
В 99% случаев я использую их для деплоя на сервера, а там для большинства задач нужем sudo
Alex
А почему?
В ролях я пишу если они требуют рута или работы от другого юзера, а если нет, то в плейбуках. Такое решение было ради гибкости сопровождения автоматизации.
Alexander
Alexander
Alexander
Роль создания бд не канает?
Alex
Роль создания бд не канает?
Роль управления СУБД канает, но там тегерирование нужно и даже так выполнение дольше чем один пост таск прогнать.
Alex
Я всё думаю как бы асинхронности понавтыкать для ускорения. Вместо 30 секунд на роль запускать плейбуки пачками асинхронно и таски в ролях асинхронные
Alex
И тогда вместо 10-15 минут на стенд, будет уходить 1-2 и то только из-за того что скачивать надо с кешера
Anonymous
Кусок легаси видимо)
Anton
Пытаюсь понять как работают условия, помощь приветствуется)
Есть элементарный таск:
- name: Installing conan
win_command: pip install conan
Мне нужно чтобы каждый хост для себя запомнил что таск был на нём выполнен и не выполнял его снова, как это сделать?
Anton
Сразу скажу, что на винде нет модуля pip.
Sergey
а что он устанавливает установленный?
Anton
Обновляет. Ну и вообще вопрос более абстрактный, без привязки к pip.
Victor
Victor
Но это сам модуль так умеет
Но2 так умеют много модулей.