Sergey
Подскажите плиз, в доке не нашел имеется конструкция - name: Test that loop works with a manual list ping: data: '{{item}}' loop: - 'Hello World' - 'Olá Mundo' Где item Юзается как переменная как загнать в loop несколько переменных построчно? loop: - "{{ var1 }}" - "{{ var2 }}" ?
Sergey
балин, мой косяк вписал {{items}} вместо {{item}} потом и не робит
Anonymous
Hello eveyone
Anton
не выговариваешь 'Р'? привет.
Viktor
У кого-то есть опыт написания модулей для Ансибла? Можно писать на 3 питоне и не рюпариться, с импортом из будущего :) ?
Viktor
Или на 2м надо?
Timur
Даже нужно
Timur
Второй скоро все
Viktor
from ansible.module_utils.basic import * фейлится на 3м. Как установить именно для 3го? Линканул со второго, но думаю, что это к добру не приведет :D
Viktor
установил devel через pip3 и теперь все ок
John
Что-то типа такого "{{ groups['group-name'] }}"
просто так не запустилось) должно было сформировать то, что на картинке, а сформировал - targets: - '[u''build1'', u''git1'', u''prod1'', u''db1'', u''gw1'', u''stage1'', u''log1'']:9100'
Kirill
Ясен красен :) В этой переменной массив данных, а не набор, сделанный специально для @openmsk и отформатированный нужными отступами. Я бы не стал из переменной делать список в конфиг. Я бы написал template и внятно бы его заполнил. Темплейты в Ансибле умеют в циклы. Гуглить по Jinja2.
John
переделать такс тоже низя) потому что он из галактики)
Kirill
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#filters-for-formatting-data
John
видимо по этому изначально сделали, как тут выразились, через задницу {{ groups['all'] | map('extract', hostvars, 'ansible_host') | list }}
Kirill
Я бы вот это для начала изучил бы
Alex
переделать такс тоже низя) потому что он из галактики)
Берешь роль из галактики и переписываешь под себя. Потом добавляешь в галактику.
John
Берешь роль из галактики и переписываешь под себя. Потом добавляешь в галактику.
так тоже нельзя, потому что добавление фич в основной ветке (от разработчика) не приедет в мою ветку.
John
пр?
Dr. L.S.Dee
пр?
pull request?
John
похоже на то)
Andrey
всем привет Кто знает True way. автоматизации gitlab ci + AWX? сейчас мы пользуемся гитлабом, там используем ансибл playbook в инвентори пишем хосты и диплоем все на машины. Решили попробовать новый инструмент это AWX. пока все зачаточном состоянии. Хочется автоматизировать ci. Т.е. если в репу на gitlab кидаешь изменения, AWX это видит и диплоит изменения на сервера... сейчас нажимаем кнопку на AWX SCM Update —-> Playbook Run Не есть гуд
Andrey
у AWX есть входящий вебхук?
Нет, пока прописываем репы в project SCM URL
George
https://jpmens.net/2017/10/23/trigger-awx-job-runs-on-scm-commit/
George
буквально первая ссылка из гугла
George
сам не читал
Sergei
Господа, хочу в defaults/main yml определять переменные в зависимости от группы, так можно?
Andrey
у AWX есть входящий вебхук?
вот и ищу тру вэй) Почитаю, что это, спасибо. Может еще есть варианты?
George
сомневаюсь
manefesto
я дергал через api
Sergei
Роль завязать на группу в инвентори?
а переменные задать в инвентори? не, не хочу так
Sergey
Господа, хочу в defaults/main yml определять переменные в зависимости от группы, так можно?
Не надо так. Вернее, можно, но тогда роль зависит от групп - это фу
Sergei
Не надо так. Вернее, можно, но тогда роль зависит от групп - это фу
я так понимаю хороший тон задавать все переменные в инвентри?
Alex
я так понимаю хороший тон задавать все переменные в инвентри?
Нет, хороший тон задавать переменные в директориях для переменных. Для группы и/или хостов
Sergei
ну, group_vars/.. , я это имею ввиду. Понял вас, спасибо
Pavel
Подскажите,столкнулся с такой проблемой в AWX
Pavel
после рестарта машины не запланированного где стоял awx на докере,снеслись все конфигурации
Pavel
вижу что дело в tmp директории и она очистилась после рестарта системы
Pavel
её можно менять только при установке
Pavel
или уже можно поменять на установленном экземпляре?
Artem
tmp всегда чистится после ребута сервера
Artem
а у тебя в докере волумы были ?
Pavel
ytf
Pavel
неа
Pavel
я через ansible-playbook -i inventory install.yml
Pavel
ставил awx
Pavel
по дефолту
Pavel
судя по всему надо переставить с переконфигурированным конфигом для postgree
Kirill
А раньше уже ребутали сервер?)
Pavel
ну до установки awx да
Pavel
пока просто проект был в чистом ansible
Kirill
А давно авх поставили?
Pavel
неделю назад
Kirill
Т.е. поставили авх, конфигурили его, работали в нём. Наполняли инфой. Сервер ребутнулся и всё исчезло?
Pavel
угу
Pavel
именно так\
Pavel
у меня сам проект для AWX в гите
Pavel
я сам этим вопросом озадачился
Pavel
сразу
Pavel
но вот пользователей группы credentials и инвентори придётся заного забивать и переносить
Pavel
просто вопрос можно ли на лету поменять эти конфиги ?
Pavel
или надо при установке указывать их?
Pavel
inventory:postgres_data_dir=/tmp/pgdocker вот я нашёл в установочном playbookе
Sergey
inventory:postgres_data_dir=/tmp/pgdocker вот я нашёл в установочном playbookе
Вот и ответ. Файлы в tmp, которые не изменялись, будут убиты при ребуте.
Pavel
ну ответ то я понял)
Pavel
вопрос что делать)
Farukh
inventory:postgres_data_dir=/tmp/pgdocker вот я нашёл в установочном playbookе
Используйте внешний PostreSQL сервер. В документации же ведь написано, что оно по дефолту лежит в tmp и в случае рестарта оно потеряется
Pavel
переустанавливать AWX с указанием другого дира для постгреса
Pavel
или можно у текущей копии awx поменять и рестартануть контейнеры
Artem
Коллеги, подскажите такой вопрос есть таск - name: 1.1.2 Ensure separate partition exists for /tmp (Scored) shell: grep -l '\s/tmp\s' /etc/fstab register: tmp_partition failed_when: tmp_partition.rc == 1 changed_when: false ignore_errors: true grep -l '\s/tmp\s' /etc/fstab - возвращает exit code 1 и таск фейлится почему то не срабатывает ignore_errors: true версия ansible 2.7.5 куда копать тут ?
Artem
https://stackoverflow.com/questions/41010378/ansible-shell-module-returns-error-when-grep-results-are-empty вот у человека такая же проблема, черех игнор еррорс они фейла избежали
Farukh
ignore_errors: Yes Попробуйте
Artem
Пробовал, не помогло
Artem
fatal: []: FAILED! => {"changed": false, "cmd": "grep -l '\\s/tmp\\s' /etc/fstab", "delta": "0:00:00.002968", "end": "2019-03-18 09:12:19.182130", "msg": "non-zero return code", "rc": 1, "start": "2019-03-18 09:12:19.179162", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
Kirill
Дык