From c8bbdd6b399d90c239bca1890c5a7634211496d7 Mon Sep 17 00:00:00 2001 From: James Cammarata Date: Tue, 19 Jan 2016 22:42:27 -0500 Subject: [PATCH] Don't assign both parent blocks and task includes to blocks This causes problems when fetching parent attributes, as the include was being skipped because the parent block would fetch the attribute from the parent play first. Fixes #13872 --- lib/ansible/playbook/block.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/ansible/playbook/block.py b/lib/ansible/playbook/block.py index be73c5d8ac..0cf9711403 100644 --- a/lib/ansible/playbook/block.py +++ b/lib/ansible/playbook/block.py @@ -44,12 +44,17 @@ class Block(Base, Become, Conditional, Taggable): def __init__(self, play=None, parent_block=None, role=None, task_include=None, use_handlers=False, implicit=False): self._play = play self._role = role - self._task_include = task_include - self._parent_block = parent_block + self._task_include = None + self._parent_block = None self._use_handlers = use_handlers self._implicit = implicit self._dep_chain = [] + if task_include: + self._task_include = task_include + elif parent_block: + self._parent_block = parent_block + super(Block, self).__init__() def get_vars(self):