только с некоторым условием. Я хотел повесить на неё тэг, чтобы можно было вызывать её отдельно, но обнаружил, что тогда нет переменных, которые проверяются в условии этой таски. Вынес её тело в хендлер (который тоже назывался "restart the systemd unit"), сделал две таски, в которых в notify: был упомянут хендлер "restart the systemd unit", в первой таске был только нотифай и условие, а во второй - тэги never и restart (на данном этапе есть уже три сущности с одинаковым именем), но теперь ансибл ругается, что в первой таске нет действия или модуля. Как сделать возможным выполнять одно действие при написании тэга безусловно и то же самое действие по мере выполнения плейбука, но с некоторым условием?
Просто забудьте про теги - все сразу станет значительно проще
что в таком случае можно сделать для удобного перезапуска юнита? Отдельные плейбуки для этого как-то не очень удобно таскать по проектам, особенно с учётом того, что я роль делаю как раз для обобщения действий из нескольких плейбуков (там плейбуки для деплоя малюсеньких однотипных ботов на питоне), а ад-хоки каждый раз как-то тоже не комильфо писать, если честно вполне возможно, что я для этого вообще не тот инструмент решил использовать. Если это так, то порекомендуйте, пожалуйста, что-нибудь более... предназначенное для этого
Если таскаете в разные проекты, то сделайте коллекцию. В ней может быть сколько угодно разных плейбук, которые можно легко запускать глобально, даже без привязки к пути исполнения
мне уже говорили про коллекцию раньше, но я не увидел разницу между ей и установленной ролью для моих потребностей. В моём случае, роль можно установить из requirements.yml, а сама роль лежит на гитхабе, то есть для установки нужен один файл, она точно так же не требует путь и при этом содержит общий для плейбуков из моих проектов код. Почему стоит "проапгрейдиться" до коллекции?
Разница коллекции с ролью в глобальном неймспейсе для ансибла. Роль вы можете вызвать только из другой плейбуки. Плейбуки из коллекции можно использовать глобально в любом месте
Если я не ошибаюсь, то есть 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"].
Это уже совсем наркомания какая-то. привязываться к тегам без тегов
Обсуждают сегодня