Size: a a a

2021 February 08

PG

Pavel Gassan in Ansible
покажи ка всю структуру роли и таск который вызывает эту роль, а то фигня какая-то
источник

M

Maksim Sharov in Ansible
Pavel Gassan
покажи ка всю структуру роли и таск который вызывает эту роль, а то фигня какая-то
сек
источник

M

Maksim Sharov in Ansible
хост с докером, установленным предыдущими тасками. запуск ansible-playbook -i inventory.yml configure.yml

configure.yml
 один из плеев

- name: install traefik
 gather_facts: false
 hosts: gate
 become: yes
 roles:
   - traefik

roles/traefik/tasks/main.yml

- name: install traefik
 docker_container:
   name: traefik
   image: traefik:v2.4
   state: started
   ports:
     - "80:80"
     - "8080:8080"
   restart: yes
   restart_policy: always
   volumes:
     - traefik.yml:/etc/traefik/traefik.yml

а вот тут конфиг roles/traefik/files/traefik.yml
источник

M

Maksim Sharov in Ansible
я и рассчитывал, что таска роли видит мой файл конфига, но получаю ошибку при запуске контейнера, будто я монитировал директорию traefik error: read /etc/traefik/traefik.yml: is a directory
источник

VF

Vladimir FakeGPS in Ansible
Alex Domoradov
выложите на pastebin что ли
источник

TG

Timur Gadiev in Ansible
Анатолий Пантелеев
т.е. остается только в тасках менять интерпретатор?
Да - самый лучший вариант для Centos 7. В тасках с yum оставляем дефолтный интерпретатор, а в других можно указывать альтернативный.
источник

AD

Alex Domoradov in Ansible
Timur Gadiev
Да - самый лучший вариант для Centos 7. В тасках с yum оставляем дефолтный интерпретатор, а в других можно указывать альтернативный.
проще наоборот - деолтный задаем python3, и только для yum меняем на python 😉
источник

АП

Анатолий Пантелеев... in Ansible
Timur Gadiev
Да - самый лучший вариант для Centos 7. В тасках с yum оставляем дефолтный интерпретатор, а в других можно указывать альтернативный.
видимо придется так...
источник

TG

Timur Gadiev in Ansible
Alex Domoradov
проще наоборот - деолтный задаем python3, и только для yum меняем на python 😉
Ну, или так, да
источник

AD

Alex Domoradov in Ansible
а форматирование где? Или вы предлагаете разбираться в этой лапше 😄
источник

L

Lamobot in Ansible
Maksim Sharov
я и рассчитывал, что таска роли видит мой файл конфига, но получаю ошибку при запуске контейнера, будто я монитировал директорию traefik error: read /etc/traefik/traefik.yml: is a directory
Ещё раз доку ансибла перечитайте, там указаны конкретные модули, которым можно не задавать полный путь.
copy, script, template or include tasks
источник

TG

Timur Gadiev in Ansible
А исходный код таска как выглядит?
источник

M

Maksim Sharov in Ansible
Lamobot
Ещё раз доку ансибла перечитайте, там указаны конкретные модули, которым можно не задавать полный путь.
copy, script, template or include tasks
так я и прочитал, только вот для файлов мало в доке описано, а примеров нет вообще

Any copy, script, template or include tasks (in the role) can reference files in roles/x/{files,templates,tasks}/ (dir depends on task) without having to path them relatively or absolutely.

поэтому я не понял назначения files
источник

M

Maksim Sharov in Ansible
Lamobot
Ещё раз доку ансибла перечитайте, там указаны конкретные модули, которым можно не задавать полный путь.
copy, script, template or include tasks
мне получается абсолютный путь до файла указывать, несмотря на то, что у меня вложеная таска? так как у меня особый модуль
источник

AD

Alex Domoradov in Ansible
Maksim Sharov
мне получается абсолютный путь до файла указывать, несмотря на то, что у меня вложеная таска? так как у меня особый модуль
либо задавать working_dir
источник

M

Maksim Sharov in Ansible
Alex Domoradov
либо задавать working_dir
выше регистривать новую переменную составляя из, например, playbook_dir и пути до файла?
источник

L

Lamobot in Ansible
Maksim Sharov
мне получается абсолютный путь до файла указывать, несмотря на то, что у меня вложеная таска? так как у меня особый модуль
Вообще если бы с докером работали без ансибла, то таких вопросов не возникло бы. Да - абсолютный путь.
И ошибка traefik error: read /etc/traefik/traefik.yml: is a directory
Говорит о том, что исходный файл не найден, и докер просто создал две директории, одну на хосте, а вторую в контейнере.
источник

AD

Alex Domoradov in Ansible
Maksim Sharov
выше регистривать новую переменную составляя из, например, playbook_dir и пути до файла?
зачем, можно сразу указывать
источник

M

Maksim Sharov in Ansible
Lamobot
Вообще если бы с докером работали без ансибла, то таких вопросов не возникло бы. Да - абсолютный путь.
И ошибка traefik error: read /etc/traefik/traefik.yml: is a directory
Говорит о том, что исходный файл не найден, и докер просто создал две директории, одну на хосте, а вторую в контейнере.
я хотел целостности добиться в подготовке хоста, так-то да, могу раскатать и командами докера установку приложения
источник

M

Maksim Sharov in Ansible
Alex Domoradov
зачем, можно сразу указывать
а, то есть от корня он поймет? точнее от запускаемого плейбука
источник