From d7e3d7f3dc4acd3c5a9b67aecacaa66f77cfc39d Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Mon, 22 Feb 2016 17:09:58 -0500 Subject: [PATCH] Don't re-inject become* variables as it causes problems when templating is involved Prior to 75b6f61, we strictly limited variables we re-injected. After that patch however, we re-injected everything which causes problems under certain circumstances. For now, we'll continue to filter out some properties of PlayContext for re-injection. Fixes #14352 --- lib/ansible/playbook/play_context.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/ansible/playbook/play_context.py b/lib/ansible/playbook/play_context.py index 37b7456072a..2d66ddf7315 100644 --- a/lib/ansible/playbook/play_context.py +++ b/lib/ansible/playbook/play_context.py @@ -525,8 +525,14 @@ class PlayContext(Base): ''' for prop, var_list in MAGIC_VARIABLE_MAPPING.items(): - var_val = getattr(self, prop, None) - if var_val is not None: + try: + if 'become' in prop: + continue + + var_val = getattr(self, prop) for var_opt in var_list: if var_opt not in variables: variables[var_opt] = var_val + except AttributeError: + continue +