George
- delegate_to: localhost
copy:
dest: '{{playbook_dir}}/foo'
content: bar
Работает.
Dorian
Парни, а так нельзя, разве?
- name: Create a data container
docker_container:
name: at-mojo
image: docker-registry.opt/mojo
volumes:
- {{checkout}}:/opt/reporting
Dorian
не даёт указать в volumes переменную
Aleksey
чот ковычек не хватает
Dorian
Не помогает
Dorian
- "{{checkout}}":"/opt/reporting"
Aleksey
не
Aleksey
целиком
Dorian
и производные не лечтся
Dorian
- /opt:/opt
работает
Сейчас проверю с кавычками
Vadim
- "{{checkout}}:/opt/reporting"
Dorian
целиком
спасибо!
Видимо "":"" как словарь воспринималось
Dorian
Ievgen
@freeseacher ты помнится ругал что в 2.5 сломали наследование тегов include_*
Aleksey
да
Ievgen
я только что поймал момент когда это наоборот офигенно
Aleksey
не сломали а привели в соответствии с виденьем
Ievgen
ну не суть
Ievgen
допустим:
tasks:
- name: Run post deployment tasks
include_tasks: "{{ item }}"
with_first_found:
- "roles/{{ service_role }}/tasks/post-{{ service_role }}.yml"
- empty.yml
tags:
- skip_packer
- post
- always
Ievgen
тогда post.yml у тебя будет инклюдится всегда
Ievgen
ну если он есть
Ievgen
а вот таски в нем нет
Ievgen
не будут выполняться если не указан конкретный тег
Ievgen
так как раньше они бы отнаследовали always
Ievgen
это в принципе позволяет более сложную логику строить
Sergey
Подскажите пожалуйста:
хост в inventory у меня например fe2, устанавливаю всё необходимое, настраиваю. разворачиваю проект и затем мне надо добавить fe2 в балансировку в nginx на lb (другой хост) - как лучше это сделать?
Дмитрий Петров
Добавить хост в конфиг и релоаднуть nginx
Дмитрий Петров
delegate_to: lb
Sergey
я могу переопределить пользователя?
Vadim
Дмитрий Петров
Можно указать в inventory, можно для конкретной команды
Дмитрий Петров
В документации есть пример для haproxy http://docs.ansible.com/ansible/latest/user_guide/playbooks_delegation.html
Дмитрий Петров
Добавь его
Дмитрий Петров
Стандартная схема, когда в инвентори есть балансер и группа с бекендами
Sergey
т.е. я правильно понимаю, что в инвентори-файле у меня должны быть описаны все подключения, хотя играю конкретную группу из него в которой нет этого lb?
Дмитрий Петров
Да, в инвентори ты добавляешь все хосты которые у тебя есть в окружении. Обычно делают несколько инвентори для каждого из окружений, live, staging, local
Sergey
подключения нужно формировать динамически, перечисляя все хосты из соответствующей группы (e.g. 'backends')
Sergey
Sergey
ок, т.е. у меня сработает связка:
delegate_to: lb
become: yes
become_user: xxx
Sergey
Дмитрий Петров
Дмитрий Петров
Sergey
Всем спасибо, пошел писать дальше ))
Дмитрий Петров
Не за что.
Denis 災 nobody
как можно запустить автонастройку при первой загрузке ноды? Допустим, в кикстарте заполнили всякие переменные, а после ребута нужно запустить задачу 1 раз, и чтобы показывало прогресс. Через rc.local как-то не вышло
Denis 災 nobody
войти под рутом и запустить - не вариант )
Denis 災 nobody
центос7 и systemd если что
Vadim
Vadim
но мне кажется вам нужен cloud-init / ignition
Denis 災 nobody
и запуск ровно 1 раз
Vadim
Denis 災 nobody
есть вариант заменить руту шелл на скрипт, но это надо ввести пасс..
Aleksey
Sergey
А еще подскажите - в какой переменной я могу получить имя оригинального хоста для которого играю playbook (что-то типа ansible_host или ansible_ssh_host), если сделал delegate_to 127.0.0.1?
Vadim
Sergey
Aleksey
Denis 災 nobody
Aleksey
ровно ожин раз на самом деле не бывает же. бывает до победного. а факт победы это флаговый файл /etc/my_superapp/init_done и убрать из опций запуска
Aleksey
это как
это как password recovery делают
Denis 災 nobody
Aleksey
а ранлевелы разве еще актуальная тема ?
Womchik
а почему нет?
Aleksey
нуу.. таргеты же щас
Aleksey
мн еотчегото казалось что ранлевелы это концепция sysv
Womchik
полностью же не вырезали
Dok
Aleksey
кроме ansigenom есть генераторы доки для ансибла ?
Aleksey
а то много где вижу красиво оформленую доку но чем ее делают нипонятно
Womchik
в ворде же
Ivan
дока, которая по самому ansible? или что-то другое?
Aleksey
Которая по ролям