У меня есть таска "restart the systemd unit", которая вызывается

только с некоторым условием. Я хотел повесить на неё тэг, чтобы можно было вызывать её отдельно, но обнаружил, что тогда нет переменных, которые проверяются в условии этой таски. Вынес её тело в хендлер (который тоже назывался "restart the systemd unit"), сделал две таски, в которых в notify: был упомянут хендлер "restart the systemd unit", в первой таске был только нотифай и условие, а во второй - тэги never и restart (на данном этапе есть уже три сущности с одинаковым именем), но теперь ансибл ругается, что в первой таске нет действия или модуля. Как сделать возможным выполнять одно действие при написании тэга безусловно и то же самое действие по мере выполнения плейбука, но с некоторым условием?

8 ответов

9 просмотров

Просто забудьте про теги - все сразу станет значительно проще

megahomyak- Автор вопроса
Timur Gadiev
Просто забудьте про теги - все сразу станет значит...

что в таком случае можно сделать для удобного перезапуска юнита? Отдельные плейбуки для этого как-то не очень удобно таскать по проектам, особенно с учётом того, что я роль делаю как раз для обобщения действий из нескольких плейбуков (там плейбуки для деплоя малюсеньких однотипных ботов на питоне), а ад-хоки каждый раз как-то тоже не комильфо писать, если честно вполне возможно, что я для этого вообще не тот инструмент решил использовать. Если это так, то порекомендуйте, пожалуйста, что-нибудь более... предназначенное для этого

megahomyak
что в таком случае можно сделать для удобного пере...

Если таскаете в разные проекты, то сделайте коллекцию. В ней может быть сколько угодно разных плейбук, которые можно легко запускать глобально, даже без привязки к пути исполнения

megahomyak- Автор вопроса
Timur Gadiev
Если таскаете в разные проекты, то сделайте коллек...

мне уже говорили про коллекцию раньше, но я не увидел разницу между ей и установленной ролью для моих потребностей. В моём случае, роль можно установить из requirements.yml, а сама роль лежит на гитхабе, то есть для установки нужен один файл, она точно так же не требует путь и при этом содержит общий для плейбуков из моих проектов код. Почему стоит "проапгрейдиться" до коллекции?

megahomyak
мне уже говорили про коллекцию раньше, но я не уви...

Разница коллекции с ролью в глобальном неймспейсе для ансибла. Роль вы можете вызвать только из другой плейбуки. Плейбуки из коллекции можно использовать глобально в любом месте

Если я не ошибаюсь, то есть magic variable, в которой лежат теги, с которыми запущен плэйбук. Можно в условие поставить «запущено с таким то тэгом»

Lex Dolgov
Если я не ошибаюсь, то есть magic variable, в кото...

Не-а, не ошибаешься: ansible_run_tags Contents of the --tags CLI option, which specifies which tags will be included for the current run. Note that if --tags is not passed, this variable will default to ["all"].

Lex Dolgov
Если я не ошибаюсь, то есть magic variable, в кото...

Это уже совсем наркомания какая-то. привязываться к тегам без тегов

Похожие вопросы

Обсуждают сегодня

Ребят, привет. У кого-то есть опыт заказа мерча в сторе? Есть успешные кейсы? Чёт у меня турецкую карту не принимает
Vladimir F.
7
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Всем привет. Есть кто разбирается в платежках? Что б принимать из других стран и выплачивать рф снг
Musa
6
Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
11
Приветствую всех, есть вопросик. Передали проект на OctoberCms, без инсталяшки в полуразвернутом виде, нужно было залить бекап бд, после залития бд, оказалось, что части строк...
Лео
14
Есть магистры regex в чате? Задача: нужно написать regex который мэтчит полные (без сокращений по типу ::1/128) ipv6 адреса кроме 2001:0df7:cef7:29f7:52f7:adf7:2cf7:4ff7, при ...
Илья
5
Подскажите, пожалуйста, где в backende, или не в нем можно дату поправить? Логирует действия не в том часовом поясе
Лео
7
А как получить доступ к отправленному сообщению в ChosenInlineResult? Раньше кажется можно было, щас убрали?
net
2
где собака, админ группы? нычкуется и боится проявить волю, в толерантность еще не наигрался? @yelizariev
Ognezar
61
Всем привет В общем надо на странице вакансии вывести вакансии с hh, но когда я пишу код в разделе Code ошибка Invalid URL format. The URL should start with the forward slash...
A da
1
Карта сайта