inqfen
Sergey
да-да, посмотрел уже.
рассмотри вариант использования CALLBACK'а.
Dr. L.S.Dee
@Suncheez
Dr. L.S.Dee
http://www.mydailytutorials.com/check-filedirectory-exists-ansible/
Dr. L.S.Dee
Как бы вот. Все-таки в пользу моего варианта.
Sun
Спасибо! Ща посмотрю
Andor
а подскажите инструмент по образу gem + Gemfile.lock для ансиболь-ролей
Andor
ну или pip + Pipfile.lock для тех кому ближе
George
Andor
https://github.com/ansible/mazer/pull/271
воу-воу, аж целый месяц назад запилили
Andor
правда это не в ansible-galaxy
Andor
мечты, мечты
Andor
https://hub.docker.com/r/ansible/ansible
прикольно, написано что образ называется ansible/ansible, но такого образа нет
Andor
а, это :latest нету
Andor
/warn
привет.
Подскажите такую вещь пожалуйста.
У меня есть роль, в которую я передаю что-то.
Выглядит это вот так:
roles:
- install-pip-virtualenv
upgrade_setuptools: true
Как можно запускать роль и передавать туда true или false в зависимости от if кондиции.
То есть логика такая:
if var = 'lol' upgrade_setuptools: true else upgrade_setuptools:false
что-то такое.
Можно ли так сделать?
Andor
/warn
А без нее никак?
Andor
хз, но я знаю как с ней
/warn
как?
Andor
{% if var = 'lol' %}true{% else %}false{% endif %} как-то так
Dr. L.S.Dee
Andor
или даже {{ 'true' if var == 'lol' else 'false' }}
Andor
а наверное даже будет работать {{ var == 'lol' }}
Andor
оно же возвращает true/false
/warn
То есть, вот так должно работать?
upgrade_setuptools: "{{ zuul.branch == R5.1 }}"
Andor
если R5 - переменная, то да
Andor
но у меня есть сомнения
/warn
Не переменная
Andor
ну значит надо хотя бы в кавычки взять строку
Andor
'R5.1'
/warn
понял, спасибо
Anonymous
@sychevnikova будет жить. Поприветствуем!
Andor
понял, спасибо
но этот способ немножко hacky даже если заработает, лучше явно писать if then else
/warn
Ну, как сбилдит проект - скажу, работает или нет :)
Timur
/warn
Сейчас загуглю что это
/warn
Хм. Не могу понять как мне это использовать
/warn
{{ zuul.branch | 'R5.1', ' ?' }}
/warn
Что ставить на false, вариантов может быть много?
Andor
{{ (zuul.branch == 'R5.1') | ternary('true','false') }}
Andor
не могу сказать что это лучше выглядит :)
Dr. L.S.Dee
/warn
Спасибо!
Dr. L.S.Dee
А ветка 5.1 - последняя? Больше не будет?
Dr. L.S.Dee
А если потом 5.2 появится?
/warn
Будет, но сейчас мне надо что б это сработало, а потом я это в переменную засуну
/warn
А то билды не идут, комьюнити негодует😀
Dr. L.S.Dee
Или все же сам список хостов, для которых будет выполняться роль, формировать на основании условия?
Бранч == (или >=, например) 5.1 для следующих хостов: бла-бла-бла
George
Ух, а у add_host --skip поломан... Аж обидно. --limit работает, а skip - #58582
/warn
Владимир
Доброго дня. Задача: для 1го конкретного сервера из группы при деплое сделать изменённый конфиг.
В host_vars для сервера делаю переменную:
master_server: true
Далее в роли делаю проверку (если у сервера определена эта переменная - использовать шаблон конфига):
- name: Generate config for master sphere_api server
template:
src: config.toml.j2
dest: /opt/api/config.toml
when: master_server is defined
По итогу получаю что нужно, но в конечном конфиге ансибл проставляет "True" вместо желаемого "true". Мб кто-то в курсе как это поправить?
George
| lowercase сделать
George
фильтром
George
это как бы логично, т.к. это ЯМЛ со своими закидонами
Vladislav 👻
Anonymous
Evgeniy Gutorov будет жить. Поприветствуем!
George
Evgeniy
Всем привет. Расскажите какие способы есть не выполнять всякие debug-таски, да и ещё чтоб они не печатались на экране со статусом 'skipping'.
Vladislav 👻
не надо дебажить на проде 😬
Evgeniy
да но надо иногда включить/выключить вывод по быстрому
Vladislav 👻
-v(vvvv)
Evgeniy
к тому же обычно debug в продовых ролях такой же как и в тестовых. Вопрос зачем тогда городить две?
Vladislav 👻
еще есть check, но со своими тараканами
Vladislav 👻
плюс есть тесты
Evgeniy
-vvvv не работает, будет писать skipping и name таска всё время
PsyDebug
Evgeniy
так вот и цель 1) сделать одну роль 2) протестировать её 3) выключить debug 4) использовать в проде
George
Vladislav 👻
Evgeniy
т.е. сделать клон роли просто удалив оттуда дебаг
Vladislav 👻
зачем вам вообще в роли дебаг?
Evgeniy
при этом имя возможность удаляя дебаг ещё разок косякнуть