George
понял, спасибо
попробуй werf 😊 от ФЛАНТ. Я со скепсисом к этой утилите отношусь
George
но вроде она решает этот вопрос
Gleb
попробуй werf 😊 от ФЛАНТ. Я со скепсисом к этой утилите отношусь
новая версия где один голенг бинарь имеет право на жизнь
Gleb
то что было на руби раньше ггг
Gleb
судя по доке воскресили, но там надо версию правильную поставить
Tyler
да
Можете посоветовать какие-нибудь альтернативы?
Gleb
Можете посоветовать какие-нибудь альтернативы?
werf написали же, интеграция с ансибл и тоже самое есть
Gleb
sudo pip install ansible-container[docker,k8s] а ставил так?
Gleb
https://github.com/flant/werf
Tyler
sudo pip install ansible-container[docker,k8s] а ставил так?
так вроде на что-то ругался, пришлось напрямую
Tyler
https://github.com/flant/werf
ок, попробую это, спасибо
Gleb
так вроде на что-то ругался, пришлось напрямую
если будешь ансибл контейнер пытать дальше убедись что у тебя версия последняя, 0.4 точно деприкейтед
Gleb
вообще утилит подобных сейчас много - есть buildah
George
kanico
UglyKoyote
а настраивал?
Не-а, уже готовое всё
V.
Парни подскажите как в роли определить занчение переменной в зависимости от другой переменной. типо того что если ansible_distribution == "CentOS" то nginx_user: nginx
George
Делаешь словарь типа {"CentOS":"nginx", "debian":"www-data"}
George
Дальше тупо подставляешь. Или не словарь, а список словарей. Не столь принципиально. Тогда сможешь в одно действие
George
Либо городить портянки register... when ....
V.
спасибо попробую
V.
Через словарь.
а к значению можно через переменную в качестве ключа обратится? или я хочу странного
V.
например есть словарь
V.
nginx_user: CentOS: nginx Ubuntu: www-data
V.
и хочу типа такого в таске
V.
owner: "{{ nginx_user[{{ansible_distribution}}] }}"
V.
https://docs.ansible.com/ansible/2.4/playbooks_conditionals.html#selecting-files-and-templates-based-on-variables
2 темплэйта городить не хочется, они будут отличаться только значением одной переменной
Отделение Bereke Bank
2 темплэйта городить не хочется, они будут отличаться только значением одной переменной
Посмотри как тут сделано через vars https://github.com/lean-delivery/ansible-role-mysql
V.
Посмотри как тут сделано через vars https://github.com/lean-delivery/ansible-role-mysql
include_vars: '{{ platform_vars }}' ? похоже, то что надо
George
owner: "{{ nginx_user[{{ansible_distribution}}] }}"
ты можешь lookup функцию внутри теймлпейта вызвать
Timur
а к значению можно через переменную в качестве ключа обратится? или я хочу странного
Можно. Но это если такая переменная одна. А обычно их больше одной. В этом случае удобнее через include_vars делать
V.
ребята, спасибо! include_vars идеально зашло, в роли заинклюдил, и никакого повторяющегося кода больше, класс
chissenefottedellagente
Привет ребят
chissenefottedellagente
Стоит ли Ansible Tower своих денег?
chissenefottedellagente
Стоит ли Ansible Tower своих денег?
У меня уже бесплатная версия, конфиги, плэйбуки и тд. Хотелось бы ещё функции проверки как на rudder
UglyKoyote
Народ.. а помогите с простой (вроде) ситуацией: Есть файл сервис в котором есть строчки [Service] RuntimeDirectory=elasticsearch мне надо после [Service] добавить строку: LimitMEMLOCK=infinity - name: Add memlock for Elastic lineinfile: dest: /usr/lib/systemd/system/elasticsearch.service line: "LimitMEMLOCK=infinity" regexp: '^[Service]' insertafter: '[Service]' state: present Строка вставляется рандомно в тексте ниже нужного места. Допускаю что отрабатывает регексп и экранирую скобки [] но тогда ансибл заменяет [Service] на LimitMEMLOCK=infinity. Не отрицаю собственную глупость, но как то не совсем понятно это для меня
UglyKoyote
стало лучше... но [Service] LimitMEMLOCK=infinity [Service]
Aleksandr
плохой путь менять юниты
Aleksandr
создай папку /usr/lib/systemd/system/elasticsearch.service.d
UglyKoyote
спасибо!
Aleksandr
создай файл override.conf и запихни [Service] LimitMEMLOCK=infinity
Владислав
спасибо) посмотрю
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-unit_files
UglyKoyote
создай файл override.conf и запихни [Service] LimitMEMLOCK=infinity
спасибо, усё четко и по делу) завелось без проблем
Отделение Bereke Bank
создай папку /usr/lib/systemd/system/elasticsearch.service.d
Наверное ты имел ввиду /etc/systemd/system/elasticsearch.service.d
Denis 災 nobody
плохой путь менять юниты
Вообще есть systemctl edit [--full]
Aleksandr
Вообще есть systemctl edit [--full]
который делает ровно тоже самое без ключа —full, создает файл override.conf
Aleksandr
ключ —full, изменяет первоначальный юнит файл и при обновлении ПО, этот юнит перезапишется
Denis 災 nobody
А там не тронет
Denis 災 nobody
Во всяком случае у меня так себя вело
Sergey
Коллеги подскажите плиз, а в ансиблу можно же скормить ямл файл, а затем работать с ним как со списком и юзать в jinja template
Sergey
?
Sergey
А через что это можно сделать ) точнее каким модуоем
Sergey
подскажите плиз )
George
Просто обычно ведь переменные штуки засовывают в переменные (group_vars & host_vars). И они как раз могут быть в ямл формате
George
подскажите плиз )
Задачу опиши подробнее :-)
George
В конце-концов, есть https://docs.ansible.com/ansible/latest/modules/include_vars_module.html
Sergey
Нужно представить входной файл в ямле для лучшей читаемости ) а затем из него через жинжу представить в нужном формате для приложения
Sheridan
Коморады, подкиньте идею как можно из группы инвентаря таском найти хосты с определённым атрибутом, установленным в определённое значение?
George
что такое атрибут? Приведи пример? Ты имеешь в виду тег?
Sheridan
[monitoring] host-mon monitoring_collector=yes deployer host-02 host-03 host-04 Нужен список хостов с установленным monitoring_collector=yes
Sheridan
то есть результат хочу: ['host-mon']
George
ааааа