Александр
ручками разделять для использования yum и apt?
Что значит ручками? Там же есть when
Александр
- name: Задачи для CentOS import_tasks: centos.yml when: ansible_distribution == 'CentOS'
Anonymous
Вот здесь еще варианты решения нашел https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#handling-os-and-distro-differences
Anonymous
почему у меня vs code подчеркнуло эти строки? все же правильно и плейбук сработал. что он хочет?
Lamobot
Вот здесь еще варианты решения нашел https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#handling-os-and-distro-differences
Вместо того, чтобы писать when на любую систему, проще include_tasks с lookup first_found Примеры были в канале уже
Anonymous
yum: name: httpd state: latest
а, он хочет чтобы было красивее
Timur
почему у меня vs code подчеркнуло эти строки? все же правильно и плейбук сработал. что он хочет?
Потому что не нужно использовать строчный синтаксис в плейбуках
Timur
Это для adhoc запуска только уместно
Timur
ручками разделять для использования yum и apt?
Тут много раз были ссылки на мультидистрибутивные и кроссплатформенные роли
Anonymous
Elenhil
а, он хочет чтобы было красивее
Он же вам говорит сам, что он хочет...
inqfen
Аргументы модуля как словарь пиши
Grek 🇺🇦
кому?
Господь всемогущий, у вас плагины какие к vscode?
Anonymous
это?
Grek 🇺🇦
Скорее всего
Anonymous
Скорее всего
ну вот он установлен
Grek 🇺🇦
Ну, вот ему и не нравится синтаксис, который Вы используете
inqfen
Как минимум незакавыченные стринги линтер не пройдут
Anonymous
так а что такое линтер
Anonymous
и где его взять
inqfen
https://ansible-lint.readthedocs.io/en/latest/
inqfen
И для ямла рекомендую тоже юзать
Anonymous
все отступы же правильные
Anonymous
блин а сейчас то что не так
inqfen
блин а сейчас то что не так
Выкини этот синтаксис, а
inqfen
И строки в кавычки убирай
Anonymous
inqfen
Строки В кавычки Ну и посмотри на что ворнинги
Anonymous
Incorrect type Expected array... а там что не array разве ? :(
Anonymous
кавычки не спасли. однако ансибл схавал
Anonymous
плагин туповат
а какой лучше выбрать
Anonymous
а зачем?
ну типа подсказки когда жмешь ctrl+space
Anonymous
подсветка всякая
Игорь
ну типа подсказки когда жмешь ctrl+space
Что-то всем плагинам к vscode, которые я видел, далековато до Идеи
Anonymous
я правильно понимаю - package позволяет установить любой пакет вне зависимости от того какая ос, ансибл сам поймет какой нужен менеджер пакетов?
Anonymous
не без приключений, но ожидается так, да
ну только что httpd и apache2 все равно по разному будут называться и ошибка выскочит..
inqfen
Но в целом - работает
Anonymous
у кого нить есть ansible for devops книга 2nd edition? или что нибудь посвежее
Alex
у кого нить есть ansible for devops книга 2nd edition? или что нибудь посвежее
У меня вроде была, но там ничего интересного
Roman
у кого нить есть ansible for devops книга 2nd edition? или что нибудь посвежее
Она есть на leanpub.com, цену можно выбрать самостоятельно
Emil
Вместо того, чтобы писать when на любую систему, проще include_tasks с lookup first_found Примеры были в канале уже
Привет. В смысле это должно работать так? 1) Пробегаемся gather_facts 2) Узнаём ansible_distribution и ansible_distribution_major_version и в зависимости от этого для каждого хоста берутся переменные из нужного yml
Fire
В jinia2 есть условия.
tutunak
{% if something %} {% else %} {% endif %}
tutunak
https://jinja.palletsprojects.com/en/2.10.x/templates/
tutunak
хз, я про условия. как там по тегам - хз. Имхо когда ансибл начинает обрастать тегами условия и т.п. он превращется не в очень читаемую вещь, имхо проще делить по разным ролям
tutunak
Сделай два темплейта и в зависимости от тега подсовывай нужный
tutunak
делай индепотентным
tutunak
ок, я лишь выращаю свое имхо, я бы разлелил на две роли 1 для install другая для config, все сделал в инвентори нормальным, описал все через playbook и оно бы работало, где нужно там оба, где нужно - один
tutunak
мое предложение не противоречит workflow в awx и будет там работать
tutunak
Ну и выше вариант - два шаблона, в зависимости от тега подставлять нужный
Alex
{% if something %} {% else %} {% endif %}
Разве что по тегу через set_fact выставлять переменную и потом ее юзать в if/else
tutunak
кстати покрывает текущий кейс
Fire
А ещё можно ставить пакет, если переменная install_package: yes
i4l
парни, есть странная немного задача, как бы вы примерно сравнивали текущую версию ядра в рантайме с последней доступной из репов, как можно более унифицированно для всех дистров?
i4l
примерно
i4l
есть пакадж факты, но вдруг можно покороче покрасивее
i4l
не, не канает
i4l
надо версии сравнивать
Fire
Ну тогда фактами собирай и сравнивай.
Fire
не, не канает
А почему не канает?