Made groups.groupname and group_names variables accessible in playbooks.

This commit is contained in:
Timothy Appnel 2012-09-07 18:07:52 -04:00
commit 20fc6a29d3
2 changed files with 16 additions and 6 deletions

View file

@ -250,17 +250,15 @@ class Runner(object):
inject.update(self.module_vars)
inject.update(self.setup_cache[host])
inject['hostvars'] = self.setup_cache
inject['group_names'] = host_variables.get('group_names', [])
inject['groups'] = self.inventory.groups_list()
# allow with_items to work in playbooks...
# apt and yum are converted into a single call, others run in a loop
items = self.module_vars.get('items', [])
if isinstance(items, basestring) and items.startswith("$"):
items = items.replace("$","")
if items in inject:
items = inject[items]
else:
raise errors.AnsibleError("unbound variable in with_items: %s" % items)
items = utils.varLookup(items, inject)
if type(items) != list:
raise errors.AnsibleError("with_items only takes a list: %s" % items)