def __init__(self):
self.myvar = None
....
def v2_playbook_on_play_start(self, play):
var_mgr = play.get_variable_manager()
p_vars = var_mgr.get_vars(loader=play.get_loader())
self.inventory_name = p_vars.get('inventory_file')
# initialize
inv = var_mgr._inventory
# group vars
self._display.vvvv('... group vars')
for g in inv.get_groups():
self._display.vvvv('... group=' + str(g))
self._display.vvvv('... value=' + str(inv.get_group_variables(g)))
g_vars = inv.get_group_variables(g)
# get vars if not defined already (hopping groups are sorted)
if self.myvar is None: self.myvar = g_vars.get("myvar", None)
# host vars
self._display.vvvv('... host vars')
for h in inv.get_hosts():
self._display.vvvv('... host =' + str(h))
self._display.vvvv('... value=' + str(inv.get_host_vars(h)))
h_vars = inv.get_host_vars(h)
if self.myvar is None: self.myvar = h_vars.get("myvar", None)
# extra_vars: highest priority
e_vars = var_mgr.extra_vars
self.myvar = e_vars.get("myvar", None)
....