LF
August 15

S2E05

Если указать тэг в плейбуке, то выполнится весь плейбук.
Если не указывать тэг в плейбуке, но указать тэг в роли у определенной таски и выполнить `ansible-playbook tags_2.yml -t check` - выполнится только тэгированная таска
Тэги в плейбуке, по моему твёрдому убеждению, нужны при перечислении нескольких ролей. И они должны быть уникальные.
В свою очередь, тэги в тасках тоже должны быть уникальные.

```yaml
---
- hosts: all
become: yes
roles:
- { role: 'tags', tags: ['common', 'install'], random_var: 12 }
- { role: 'docker', tags: 'cloud', 'install']}
```
`ansible-playbook tags.yml -t check` выполнит обязательную таску из tags и таску с тегом check из докера
`ansible-playbook tags.yml -t "check,cloud"` выполнит **все** таски моей роли докер.
Почему второе: тэг, указанный для роли в плейбуке, присваивается всем таскам.
Чтоб отработала только таска с тэгом check - надо всем остальным таскам дать тэг "never".

Итого:
- если тэг указан в плэйбуке, то этот тэг присваивается всем таскам роли (дополнительно к имеющимся).
- если есть хоть один из тэгов у таски, то она выполняется.
Получается, что если у меня в плейбуке будет несколько ролей, которые я хочу вызывать по тэгам, мне надо
- или в тасках не использовать тэги вообще, т.к. бесполезно
- или использовать пару тегов "never" и нужный.
Во втором случае использование роли отдельно мне видится проблемным, то есть только общий плейбук с тегированными ролями, причем во всех ролях все таски тэгировать долго и мучительно, с обязательным тэгом never

https://gitlab.com/littlegreencat/infra-2/-/commit/79835d1d9073c02498db5a33e14f358dc1e302fc
https://gitlab.com/littlegreencat/lf-ansible-roles-2/-/commit/54f67c2a756e9d88b390574937c12bda5e671ed3