Отделение Bereke Bank
variable hell 😑
Aleksey
ак тот же хрен но в другой руке
Aleksey
завязка на название роли
Отделение Bereke Bank
там нет завязки на название роли
Aleksey
на название группы коненчо
Отделение Bereke Bank
группа задается в consul_group_name
Boris 🦍
Привет всем. Есть такой плей - name: vms hosts: vms gather_facts: false roles: - { role: vms/configure, tags: ['vm_configure'] } - { role: infra/consul/consul-install, tags: ['vm_configure', 'consul'] } - { role: monitoring/exporters/node_exporter, tags: ['vm_configure', 'exporter'] } - { role: infra/docker, tags: ['vm_configure','docker'] } - { role: infra/efk/fluentbit_agent, tags: ['vm_configure', 'logs','fluentbit'] } - { role: system/users, tags: ['never','users'] } Заускаю так ansible-playbook playbooks/vm.yml -i inventories/stage/hosts.yml -u bshestov --tag docker -l test_server.com --vault-password-file /root/.vault_eva -Kb Т.е явно передаю тэг docker, но почему-то он игнорируется и выполняются другие роли, которые не помечены данным тегом. ansible2.8
Gleb
последний раз когда я такое пытался сделать работало только через tasks: - import_role: …
Gleb
иначе теги не хавались
Anonymous
—tags “docker”
Anonymous
Так попробуй - но это не точно. Через два тире
Boris 🦍
—tags “docker”
не прокатило, тож самое
Gleb
а в какой версии ансибл сделали так что через roles: теги имортились?
Boris 🦍
последний раз когда я такое пытался сделать работало только через tasks: - import_role: …
попробую, но если не ошибаюсь, в оф доке такая конструкция должна поддерживаться, хм
Anatoliy
ребят, есть большая разница между import_role и include_role
Anatoliy
кроме того, просто "roles" уже depracated
Anatoliy
import_role - указанные теги как бы наследуются всем внутренним таскам
Anonymous
кроме того, просто "roles" уже depracated
А где написано. Если не жалко дайте ссылку почитать
Anatoliy
include_role работает более интуитивно.
Anatoliy
ща
Anatoliy
кроме того, просто "roles" уже depracated
похоже, действительно гоню насчет depracated
Anonymous
Вы так не пугайте
Anatoliy
https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html отправная точка отсюда. там же ссылка на https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_includes.html про отличия include/import
Lex
ребят, не могу засинкать в awx из проекта inventory пользует кто так?
Lex
может там подводные камни какие...
Boris 🦍
tags-list выдает список тегов для тасков, но для плея он пуст, не знаю номра это или нет, может в этом причина playbook: playbooks/vm.yml play #1 (vms): vms TAGS: [] TASK TAGS: [always, consul, docker, exporter, vm_configure]
Boris 🦍
Не знаю почему так, в доке все три опции поддерживают теги.
Anatoliy
roles, import_roles тэги обрабатываются на этапе парсинга. поэтому фактически, применяются ко всем таскам внутри подключаемой роли
Anatoliy
include_role обрабатывает тэги на этапе выполнения, поэтому все работает более логично, если можно так выразиться
Anatoliy
я давал ссылки как раз про это
Anonymous
Я кстати правильно или нет - но внутри роли main.yml инклюдю Файлы с тасками по разной логике деля и вот на этот импорт пешую теги
Anonymous
Очень хорошо заходит и накрывает группу тасков
Sergey
И работает!
Anonymous
Я так уже пять лет делаю 😊
Я кажется у тебя тогда в кабаке это и подсмотрел
Sergey
Особенно когда во всех ролях в проекте теги одинаковые
Sergey
Вполне возможно 😊
Logan
есть ли возможность выполнить lookup от определенного пользователя? например - от рута
Logan
или become не применяется никогда для lookup?
Sergey
или become не применяется никогда для lookup?
become - это же для превращения в кого-нить на удалённом хосте
Sergey
как у тебя задача сама выглядит?
Logan
я генерю пароль. вот этой штукой: https://docs.ansible.com/ansible/latest/plugins/lookup/password.html
Logan
кладу в файл. файл должен быть доступен только руту (только он его использовать будет)
Logan
кажется я понял свою проблему. Спасибо. Эффект наблюдателя в действии
Anonymous
кажется я понял свою проблему. Спасибо. Эффект наблюдателя в действии
А если поделиться что понял и ответом. То возможно, кому то это тоже поможет
Logan
lookup выполняется на машине, с которой ansible запускается соответственно, если что-то надо сгенерить на удаленном хосте - lookup сгенерирует локально, а template - отправит на удаленную машину
Артём
Про между ролями интересует.
Anonymous
Я сейчас с телефона
Anonymous
Пинганите днём после 11 утра скину
Anatoliy
есть способ в docker_container передать в env: socks5 proxy ?
NM
Через скобочки
NM
Двойные или объявления переменных в var
ya
ping @deniswork102
Часовой пояс только не уточнил
Гайрат
Ага
Anonymous
Дефолт сити же
Anonymous
пример плейбука --- - hosts: sandbox become: yes roles: - 0000-common - 0004-zabbix-agent
Anonymous
пример роли 0000-common
Anonymous
--- - include: 00-update-installed-packages.yml tags: - infra - include: 01-install-base-packages.yml - include: 02-disable-resolver.yml - include: 03-set-dns.yml - include: 04-set-ntp.yml tags: - time - include: 05-firewall.yml tags: - infra - security
Артём
Спасибо.
Dmitrii
Не надо так
Что именно так не надо?
Timur
include вместо include_tasks
Damir
--- - include: 00-update-installed-packages.yml tags: - infra - include: 01-install-base-packages.yml - include: 02-disable-resolver.yml - include: 03-set-dns.yml - include: 04-set-ntp.yml tags: - time - include: 05-firewall.yml tags: - infra - security
Да, соглашусь, выглядт так себе. Я бы сделал таким образом, в common вынести верхнеуровневые таски и ссылкаться на них с помощью task_from.
Damir
В PB: --- - hosts: HOSTS gather_facts: no tasks: - include_role: name: 0004-zabbix-agent tasks_from: 0000-common А в самой роли: - name: Do something include_role: name: 01-install-base-packages tasks_from: 0000-common tags: infra
Damir
set-dns/ntp и прочее логичнее вынести в отдельную роль и ссылаться на него с помощью tasks_from
Ivan
Всем привет, кто-то сталкивался? ансибл не принимает вложенные параметры словаря, переданные через extra-vars: volumes: param: 10 id: 1 --extra-vars "volumes['param']=11" --extra-vars "volumes.param=11" --extra-vars '{"volumes": {"param" : "11"}}'
kSandr
други подскажите как правильно впихнуть переменную в строку ? {{ ansible_all_ipv4_addresses | select('match', '{{ local_net }}+') | list }} local_net не разворачивается в переменную, непойму как это все заэкранировать правильно
Lamobot
{{ ansible_all_ipv4_addresses | select('match', local_net~'+') | list }}
Nikita
Всем привет, подскажите пожалуйста, хочу скопирвать файлы на сервер и поменять владельца. - name: repository synchronization with destination synchronize: src: "{{ code_delivery_source }}" dest: "{{ code_delivery_project_path }}" archive: false recursive: true set_remote_user: false times: true rsync_opts: - "--exclude-from={{ code_delivery_exclude_rsync }}" - "--chown={{ code_delivery_owner }}:{{ code_delivery_group }}" - "--chmod={{ code_delivery_permission | default('F644') }}" - "--quiet" Но права на файл всё равно остаются root (под них хожу по ssh, но become_user стоит code_delivery_owner)
Ivan
так тебе нужно овнера указывать чтоб сменить