playbook includes and tags

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.