Just getting back to this - it seems quite complicated to get the tags
for a playbook... here's the helper function that I have:
{{{
def get_tags_for_playbook(playbook_path):
"""Return all tags within a playbook."""
# utils imported first to avoid circular import failure.
import ansible.utils
import ansible.callbacks
import ansible.playbook
stats = ansible.callbacks.AggregateStats()
callbacks = ansible.callbacks.PlaybookRunnerCallbacks(stats)
runner_callbacks =
ansible.callbacks.PlaybookRunnerCallbacks(stats)
playbook = ansible.playbook.PlayBook(playbook=playbook_path,
callbacks=callbacks,
runner_callbacks=runner_callbacks,
stats=stats)
myplay =
ansible.playbook.Play(playbook, ds=playbook.playbook[0],
basedir=os.path.dirname(playbook_path))
_, playbook_tags = myplay.compare_tags([])
playbook_tags.remove('all')
return playbook_tags
}}}
Perhaps it is worth a feature request - let me know if this should be
easier or if I've missed something above?
Thanks.
-Michael