I’m trying to add tags to tasks via includes but it doesn’t work as I expect. I have
$ cat site.yml
#- { include: foo.yml, tags: [ foo ] }
- include: foo.yml tags=foo
$ cat foo.yml
- hosts: all
tasks:
- name: foo
debug: msg=foo
Then
$ ansible-playbook -i inventory site.yml -t foo
ERROR: tag(s) not found in playbook: foo. possible values:
Same error with 1.8.2 and current devel branch and with the other include syntax commented above.
Any help much appreciated,
Adam
Hi Adam,
This looks like it’s because you can add tags when pulling in roles, as well as tasks, but you can’t tag a playbook on an include.
It’s something that sounds reasonable, but probably not something that has been done before.
Try this:
- hosts: all
tasks:
- include: my_tasks.yml tags=foo
Etc
And should be good to go.
Alternatively:
roles:
- { name: foo, tags: [ ‘foo’, ‘bar’ ] }
etc
Yeah, I guess I misunderstood the docs (http://docs.ansible.com/playbooks_tags.html) here.
Would you be open to a pull request to implement this?
Adam
Tenatively, yes, I don’t see a problem with it applying to all the tasks/roles if done simply enough.
However given the ongoing v2 refactoring we should probably wait until this is complete. This should be in 1.9 (current release) timeframe.