I am experiencing some strange behavior from what I understand to be applying tags to roles/dependencies. I wrote a facts plugin to gather information about a systems role, and it includes this in the playbook run. Each system runs a playbook on its own, only managing itself.
# ansible_local facts 127.0.0.1 | success >> { "ansible_facts": { "ansible_local": { "host_roles": { "roles": [ "APPSERVERS", "COMMON", ] } } }, "changed": false } # site.yml --- - hosts: 127.0.0.1 connection: local gather_facts: yes sudo: yes roles: - { role: appserver, , when: "'APPSERVERS' in ansible_local.host_roles.roles" } - { role: hadoop_jobtracker, when: "'HADOOP_JOBTRACKER' in ansible_local.host_roles.roles" } # roles/appserver/meta/main.yml --- dependencies: - { role: managed_interface, tags=initial } This is the simplified output of my setup. I have a server that is acting with a local run of a playbook, and gathers its roles, and then grabs the dependencies from its role to call the manage_interface role when its tagged as initial. # command line ansible-playbook site.yml --tags "initial" The command runs only its tasks/main.yml and not the dependencies. When I tried applying at the site.yml level things got really weird. It runs both the appserver and hadoop_jobtracker roles, seemingiy ignoring the "when" statements. roles: - { role: appserver, tags: ['initial'], when: "'APPSERVERS' in ansible_local.host_roles.roles" } - { role: hadoop_jobtracker, tags: ['initial'], when: "'HADOOP_JOBTRACKER' in ansible_local.host_roles.roles" } Are there some rules in which these can be applied properly, or am I hacking at the system and making trouble again? -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+unsubscr...@googlegroups.com. To post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/dac2a7a2-a8d7-40b8-b00d-2801ff9289a2%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.