道
Забил, сделал ямл
Tamerlan
просто нужно тестировать роли
Отделение Bereke Bank
Отделение Bereke Bank
просто нужно тестировать роли
у него ситуация как у меня. натягивание ролей на руками настроенную инфру)
Ruslan
Всем привет. Подскажите пожалуйста может я чего-то не понимаю, по моему java_need должно быть True, но оно упорно False - name: check if java needs to be installed set_fact: java_need: '{{ not java_check_installed or ( java_check_installed and not java_installed ) }}' debugger: always TASK: java : check if java needs to be installed (debug)> p task_vars['java_installed'] u'False\n' TASK: java : check if java needs to be installed (debug)> p task_vars['java_check_installed'] True TASK: java : check if java needs to be installed (debug)> p task.args {u'java_need': False} Почему так?
George
> TASK: java : check if java needs to be installed (debug)> p task_vars['java_installed'] u'False\n' а ты это как визуализировал ?
George
{{ not java_check_installed or ( java_check_installed and not java_installed ) | bool }} - почему не так ?
Отделение Bereke Bank
Что это такое вообще?
хорошо что ты мое не видел 😂
Ruslan
> TASK: java : check if java needs to be installed (debug)> p task_vars['java_installed'] u'False\n' а ты это как визуализировал ?
А что не так? Через дебаг мод https://docs.ansible.com/ansible/latest/user_guide/playbooks_debugger.html
Ruslan
Что это такое вообще?
Проверка установлена ли ява
Отделение Bereke Bank
Отделение Bereke Bank
Ruslan
Есть же package_facts
Собирается package_facts - name: gather the apt ackage facts package_facts: manager: apt Проверяется установлена ли ява - name: check if java is installed set_fact: java_installed: > {{ 'oracle-java' | substring_in_list(ansible_facts.packages.keys()) or 'openjdk-' | substring_in_list(ansible_facts.packages.keys()) or 'adoptopenjdk-' | substring_in_list(ansible_facts.packages.keys()) }}
Anonymous
return sum(strand_a[index] != strand_b[index] for index in range(len(strand_a)))
Anonymous
чем плохо?
Anonymous
куски стринга сравниваются и потом по bool получаем сумму
Anonymous
обоснуй почему это плохо
Anonymous
или я задаю слишком сложные вопросы?
George
или я задаю слишком сложные вопросы?
Наверное, потому что строка != булевое ?
Anonymous
в рамках ansible?
Anonymous
Наверное, потому что строка != булевое ?
прошу уточнить, что именно вы имейте ввиду и в каком языке. и еще пример сверху желательно
George
Мы вообще кейс Руслана рассматривали, ты сам откуда взялся ?
Anonymous
"Так если ты сетишь стринг, почему выше проверяешь ее как bool?"
Anonymous
ну так да, и в чем проблема?
Anonymous
я могу проверять стринг по bool
Anonymous
есть иное мнение?
Sergey
я могу проверять стринг по bool
Можешь делать как тебе угодно, только других этому не учи.
Sergey
Проверка установлена ли ява
А проверку ты делаешь, чтобы что?.....
Sergey
Я, положим, тоже строку не проверяю как bool. Почему - чтобы не закладываться на неявное приведение типов, которое в недрах джинджи делается.
Anonymous
на тему стриг бул
Sergey
Да не надо намекать. Я написал выше свою точку зрения на то, почему не стоит делать так, как делаешь ты.
Sergey
На неявное приведение типов я не полагаюсь, чтобы потом не гнать на авторов ансибла или джинджи, что они мне что-то сломали.
Anonymous
можно сознательно использовать механизм привидения типов
Anonymous
как пример выше на python
George
Так против сознательного использования никто и не бастует
George
🤷‍♂️
Anonymous
не вижу ничего в этом плохого
Sergey
можно сознательно использовать механизм привидения типов
Можно. Но в примере выше коллега его не использует.
Sergey
как пример выше на python
Пример выше - на Jinja.
Ruslan
А проверку ты делаешь, чтобы что?.....
Чтобы не перетирать Джаву где она уже есть
Sergey
Идемпотентность жи!
George
Чтобы не перетирать Джаву где она уже есть
Ты ее перетрешь только если у тебя новая версия вышла и она в репозитории 🤷‍♂️
Anonymous
Идемпотентность жи!
это недостижимый граль
George
И то если ты ключ задашь соответствующий у модуля apt
Sergey
Чтобы не перетирать Джаву где она уже есть
Ансибл не будет перетирать любой пакет там, где он уже есть (если ты запинил версию особенно).
Sergey
См. выше.
Ruslan
Всем спасибо за подсказку
Aleksey
папа с мамой ругаются щепки летят
Aleksey
я конечно хотел написать папа с папой но так даже хуже
Ruslan
Не нужно так делать
Да, я понимаю )
Sebor▂▅▇█▓▒░
G
Всем привет! Какой модуль посоветуйте для работы с компоузом 3.7? Насколько я вижу https://docs.ansible.com/ansible/latest/collections/community/general/docker_compose_module.html поддерживает только версии 1 и 2
Alex
Не советую вообще компост использовать в проде
А что не так с compose и какие альтернативы?
G
в проде согласен да, но мне для знакомства с ансибл исключительно и есть уже готовый компоуз файл, который должен разворачивать сервисы
Sebor▂▅▇█▓▒░
А что не так с compose и какие альтернативы?
Без даунтайма никак, Дергаешь компост ансиболью - контейнеры не стартанули, но компот сказал ансиболи, что все ок
Sebor▂▅▇█▓▒░
Denis 災 nobody
правильная джоба компоу3а - там есть проверка что все сервисы в3летели. Но если так нужно точно быть уверенным - это путь к k8s
G
А тебе обязательна третья версия? Она под сворм заточена больше, я перевел на вторую
вот не уверен с ответом на этот вопрос. Вопрос трудозатратности такого решения еще открыт
Sebor▂▅▇█▓▒░
вот не уверен с ответом на этот вопрос. Вопрос трудозатратности такого решения еще открыт
Как выше сказали - если нацелились на активное использование контейнеров, то нужен нормальный оркестратор. А там вариантов не так много) Хотя могу ещё номад посоветовать
G
Если я правильно понял docker_stack модуль предлагает свичнуться на swarm, что тоже хз насколько трудозатратно будет =)
Lamobot
Композ 3 для сворма только вроде Да, теперь всё изменилось, работает и с обычным докером.
Denis 災 nobody
учитывая что swarm слил куберу уже несколько лет как - это будет скорее глупо чем 3атратно
Степан
На третьем композе запускаю локально все, чтобы у себя миникуб не поднимать