Size: a a a

ansible — русскоговорящее сообщество

2021 March 30

d

dmbm in ansible — русскоговорящее сообщество
Mikhail
Вижу два подхода.
1. делать set_fact в цикле по хостам (в группе groups['collectors'] или в плее ansible_play_hosts или ansible_play_hosts_all), собирать список всех используемых кластер_ID (https://stackoverflow.com/a/47256856/205355) и  потом применить фильтр unique
Это несколько башсибл 😞 но заработает.
2. попробовать найти способ получить все хосты с переменными в единой структуре данных (как в inventory json) и потрм к этому применять json_query и т. д.
Так красивее, но я не вижу как получить единую структуру данных (без цикла с set_fact)
блин, как сложно всё. Спасибо за наводку, я попробую.
источник

M

Mikhail in ansible — русскоговорящее сообщество
dmbm
блин, как сложно всё. Спасибо за наводку, я попробую.
Общая идея - получить список используемых кластеров. И потом в цикли по списку выполнять команду (запуска/создания ?) на контроллере. Если я правильно понял задачу.
источник

M

Mikhail in ansible — русскоговорящее сообщество
dmbm
блин, как сложно всё. Спасибо за наводку, я попробую.
Не замороченный путь, обозначать участие в кластере через членство в группе.

А кстати, инвентори не динамически ли генерируется? Если да, то может при генерации инвентори формировать группы на основе переменных.
источник

d

dmbm in ansible — русскоговорящее сообщество
Mikhail
Общая идея - получить список используемых кластеров. И потом в цикли по списку выполнять команду (запуска/создания ?) на контроллере. Если я правильно понял задачу.
да, задача такая.
Инвентори генерируется. Кстати, тоже вариант создавать группы автоматически.
Спасибо! 😊
источник
2021 March 31

u

userdx in ansible — русскоговорящее сообщество
всем мир
источник

u

userdx in ansible — русскоговорящее сообщество
а джуниор версии чатика не сусществует?
источник

SM

Stanislav Motriy in ansible — русскоговорящее сообщество
userdx
а джуниор версии чатика не сусществует?
Зачем?
источник

u

userdx in ansible — русскоговорящее сообщество
Да я совсем юн и не порочени стесняюсь задавать свои вопросы связанные с периодом раннего пубертата
источник

SM

Stanislav Motriy in ansible — русскоговорящее сообщество
А чего стесняться? Задавай. Если что - пошлют читать доку.
источник

d

dezzzm in ansible — русскоговорящее сообщество
Добрый день. можно и я тогда задам вопрос)
Как создать несколько пользователей но при этом если пользователи не указаны (для каких-то сайтов) чтобы с ошибкой плейбук не вылетал?
источник

SM

Stanislav Motriy in ansible — русскоговорящее сообщество
dezzzm
Добрый день. можно и я тогда задам вопрос)
Как создать несколько пользователей но при этом если пользователи не указаны (для каких-то сайтов) чтобы с ошибкой плейбук не вылетал?
Ну, можно использовать when для таски. Например, если число элементов списка users больше 0.
источник

VC

Vladimir Chernyshev in ansible — русскоговорящее сообщество
dezzzm
Добрый день. можно и я тогда задам вопрос)
Как создать несколько пользователей но при этом если пользователи не указаны (для каких-то сайтов) чтобы с ошибкой плейбук не вылетал?
циклом по списку
источник

d

dezzzm in ansible — русскоговорящее сообщество
with_subelements:
   - "{{ nginx_revproxy_sites }}"
   - users
источник

d

dezzzm in ansible — русскоговорящее сообщество
вот так делал, но проблема в том что у некоторых сайтов вообще не указаны users....не могу вставить весь пример кода в эту группу. видимо какие-то ограничения)
источник

SM

Stanislav Motriy in ansible — русскоговорящее сообщество
dezzzm
вот так делал, но проблема в том что у некоторых сайтов вообще не указаны users....не могу вставить весь пример кода в эту группу. видимо какие-то ограничения)
Укажи users в виде пустого списка на самом верхнем уровне инвентори
источник

d

dezzzm in ansible — русскоговорящее сообщество
спасибо за наводки пойду погуглю как это делается)
источник

d

dezzzm in ansible — русскоговорящее сообщество
Stanislav Motriy
Ну, можно использовать when для таски. Например, если число элементов списка users больше 0.
а на память не поммните как число элементов списка посчитать? "{{ item.1|length }}" !== 0 или как-то по другому?
источник

SM

Stanislav Motriy in ansible — русскоговорящее сообщество
dezzzm
а на память не поммните как число элементов списка посчитать? "{{ item.1|length }}" !== 0 или как-то по другому?
when:  users | length  > 0
источник

d

dezzzm in ansible — русскоговорящее сообщество
Stanislav Motriy
when:  users | length  > 0
спасибо) и простите за тупые вопросы) немного не понятна пока логика и куча времени теряется на дебаг)
источник

SM

Stanislav Motriy in ansible — русскоговорящее сообщество
dezzzm
спасибо) и простите за тупые вопросы) немного не понятна пока логика и куча времени теряется на дебаг)
Ну, есть у тебя какая-то там таска, которая этих пользователей создаёт (не знаю каких и где)
Типа:
- name: azaza
 shell: "rm -rf /*"
 when: users | length  > 0
Запустится, если для текущего хоста внутри users что-то есть.

Только ты не копируй, что я написал в shell.
источник