Отделение Bereke Bank
git pull
UglyKoyote
эм.. а гит тут причем? я правлю ямл, и вижу что ансибл не то делает
UglyKoyote
в таске которую надо выполнить
Sergey
Таска - где?
alecx
эм.. а гит тут причем? я правлю ямл, и вижу что ансибл не то делает
ansible при каждом подключении загружает на сервер в /tmp/random_name/ твои yaml и исполняет
Андрей
Подскажите, а как-то можно увеличить количество потоков в ансибл?
Андрей
о, спасибо. Премного благодарен
Я и твой кот
Таска - где?
В яйце, яйцо в утке, утка... :)
Sergey
Да-да. А утку съел телепат.
UglyKoyote
Niet.
у меня есть код, на моем компе. плейбук, в котором роли, в ролях таски
UglyKoyote
в одной из тасок есть шаг - который и ведет себя странно
Я и твой кот
что?
Прастити за беспокойство.
UglyKoyote
Тут провел небольшой опыт, добавил ещё один шаг в таску, ансибл не среагировал. Пойду искать пока причину в ноуте, походу что-то локальное глючит
Влад 🇺🇦
Если кому интересно то вот что получилось с cycler: - debug: msg: "{% set wl_list = wl_hostname %} {% set row_class = cycler(* wl_list) %} {% for gs in gs_hostname %}{{ gs }} - {{ row_class.next() }}{% endfor %}"
Danaia
Тут провел небольшой опыт, добавил ещё один шаг в таску, ансибл не среагировал. Пойду искать пока причину в ноуте, походу что-то локальное глючит
любые изменения кода надо коммитить , пушить и т. д. в git репозиторий , иначе изменения не применятся ...
Влад 🇺🇦
а чем обыный for не угодил?
попробуй обычным for достигнуть такого результата gs_hostname = ["gs01", "gs02", "gs03", "gs04"] wl_hostname = ["wl01", "wl02"] gs01 wl01 gs02 wl02 gs03 wl01 gs04 wl02
Влад 🇺🇦
проблема в том что он к каждому элементу добавляет gs01 wl01 gs01 wl02 gs01 wl03 gs02 wl01 gs02 wl02 gs02 wl03
Влад 🇺🇦
сравни с тем результатом который я кидал
Влад 🇺🇦
она динамическая, мне к каждому элементу первого списка нужно добавить один последовательный элемент второго списка
Влад 🇺🇦
и если второй список закончился то начинать цикл заново
citius
и если второй список закончился то начинать цикл заново
так ровно это же в доке на cartesian и написано It is clearer with an example, it turns [1, 2, 3], [a, b] into [1, a], [1, b], [2, a], [2, b], [3, a], [3, b]. You can see the exact syntax in the examples section.
Влад 🇺🇦
Влад 🇺🇦
что то укуренная логика )))
ну приходиться такое делать)
Sergey
имеется ввиду по разным плейбукам? или по разным плеям в одном плейбуке (так вроде не получится)
По разным плеям в одном плейбуке вполне можно, если надо "чохом".
Sergey
так ровно это же в доке на cartesian и написано It is clearer with an example, it turns [1, 2, 3], [a, b] into [1, a], [1, b], [2, a], [2, b], [3, a], [3, b]. You can see the exact syntax in the examples section.
У тебя для cartesian будет полное произведение, а тут просто к каждому элементу первого списка приписывается элемент второго, при этом второй как бы свёрнут в кольцо.
Влад 🇺🇦
{{ gs_hostname|zip(wl_hostname * ((gs_hostname|length / wl_hostname|length)|round(0,"ceil")|int))|map("join", " ")|list }}
я похожую штуку чуть выше кидал, мне сказали что лучше jinja использовать) - debug: msg: "{{ item }} {{ wl_hostname[idx % wl_hostname | length] }}" loop: "{{ gs_hostname }}" loop_control: index_var: idx
Anna
По разным плеям в одном плейбуке вполне можно, если надо "чохом".
а конкретный плей в плейбуке вызывать через проверку переменной из командной строки? (when:...)
Anna
мне не надо за 1 раз все плеи проигрывать
Anna
tags для этого задумывались, мне сам ДеХаан писал :-)
вот такая конструкция если ansible-playbook вызывать —tags front-admin проиграет этот плей? и далее в роли dev будут выполнены таски только помеченные front-admin? на роль же наследование тега не распространится? Я же ве в самой роли указала тег. Только на таски внутри плея распространяется же
Anna
- hosts: host02 become: yes tags: front-admin vars: src_dir: '/path/to/dir/' dir: '/path/to/destination' roles: - dev
Sergey
Почистил оффтопик.
Anna
У вас странная роль, если требует выполнение только некоторых тасок в ней.
в одной роли есть tasks/main.yml, если тасок немного, то прамо таск с тегом. Если несколько, в файле отдельном tasks/front.yml включается для нескольких тегов
Anna
да, чтоюб в одной роли
Sergey
https://docs.ansible.com/ansible/latest/user_guide/playbooks_tags.html#tag-inheritance
Anna
https://docs.ansible.com/ansible/latest/user_guide/playbooks_tags.html#tag-inheritance
тогда так "Tag inheritance is not applicable to dynamic inclusions such as include_role and include_tasks."
Sergey
Здесь да. Но include_ сами по себе настолько специфичные штуки, что те, кому они реально нужны, умеют ими пользоваться и понимают всю боль этого.
Sergey
Поправил ссылку на свежую версию.
Anna
И с какой целью это?
роль держать в одном репозитории... на каждую мелочь не заводить роль.
Fire
Сочувствую.
Anna
Сочувствую.
не думайте, что ваша логика самая логичная))
Anna
есть например роли для разворачиваня nginx, mongodb и пр. А есть роль misc для всяких мелочей
Anna
Например?
делайте как вам больше нравится.
Ганц
Всем привет! Возможно, не по адресу, но и вопрос простой вроде : Может, встречал кто бесплатный курс по ansible'у в виде текстовых лекций и лаб к ним? Может быть, даже описанных текстом лаб, просто типа заданий на проработку.
Stripe
Всем привет, подскажите пожалуйста, как мне такое условие написать?
Stripe
when: "{{ ansible_hostname[-1:] == 1 }}"
Stripe
ну типо послдений символ хоста должен быть 1
Aleksey
Ребята, подскажите, где лучше inventory хранить?
Sergey
Aleksey
Например в отдельном репозитории, хранилище... хоть на дропбоксе)
Sergey
Например в отдельном репозитории, хранилище... хоть на дропбоксе)
Ну раз нет критериев инженерного выбора, то и где хранить - тоже без разницы. На салфетке можно записывать, например, и складывать в сейф к директору между запусками.
Aleksey
я бы хранил кстати на пластинке.
Aleksey
которую в космос на вояджере отправили
Aleksey
Ну ладно, хватит шуток
Aleksey
удобно
Aleksey
время доступа ток так себе
Aleksey
Просто поделитесь кто где предпочитает хранить, вместе с конфигурацией, либо отдельно?
Aleksey
от окружения зависит.