diff options
author | James Cammarata <jimi@sngx.net> | 2016-08-28 13:20:15 -0500 |
---|---|---|
committer | James Cammarata <jimi@sngx.net> | 2016-08-31 13:33:01 -0500 |
commit | 9ecec6c28ed048dcceacdfd3d98dcee7c05f3d23 (patch) | |
tree | 0dd48b02223fc42b652c4dd6fee4d28e5ffdb679 | |
parent | cddf1cf98ec3fa3150738b5f3d8edd594c464152 (diff) | |
download | ansible-9ecec6c28ed048dcceacdfd3d98dcee7c05f3d23.tar.gz |
Don't do parent stuff during serialize if squashed or finalized
-rw-r--r-- | lib/ansible/playbook/base.py | 11 | ||||
-rw-r--r-- | lib/ansible/playbook/task.py | 11 |
2 files changed, 11 insertions, 11 deletions
diff --git a/lib/ansible/playbook/base.py b/lib/ansible/playbook/base.py index e95e16b518..d54ebafb24 100644 --- a/lib/ansible/playbook/base.py +++ b/lib/ansible/playbook/base.py @@ -312,12 +312,7 @@ class Base(with_metaclass(BaseMeta, object)): ''' if not self._squashed: for name in self._valid_attrs.keys(): - getter = partial(_generic_g, name) - setter = partial(_generic_s, name) - deleter = partial(_generic_d, name) - self._attributes[name] = getattr(self, name) - #print("squashed attr %s: %s" % (name, self._attributes[name])) self._squashed = True def copy(self): @@ -516,7 +511,9 @@ class Base(with_metaclass(BaseMeta, object)): repr[name] = getattr(self, name) # serialize the uuid field - repr['uuid'] = getattr(self, '_uuid') + repr['uuid'] = self._uuid + repr['finalized'] = self._finalized + repr['squashed'] = self._squashed return repr @@ -538,4 +535,6 @@ class Base(with_metaclass(BaseMeta, object)): # restore the UUID field setattr(self, '_uuid', data.get('uuid')) + self._finalized = data.get('finalized', False) + self._squashed = data.get('squashed', False) diff --git a/lib/ansible/playbook/task.py b/lib/ansible/playbook/task.py index e99f84c108..f5bd653314 100644 --- a/lib/ansible/playbook/task.py +++ b/lib/ansible/playbook/task.py @@ -342,12 +342,13 @@ class Task(Base, Conditional, Taggable, Become): def serialize(self): data = super(Task, self).serialize() - if self._parent: - data['parent'] = self._parent.serialize() - data['parent_type'] = self._parent.__class__.__name__ + if not self._squashed and not self._finalized: + if self._parent: + data['parent'] = self._parent.serialize() + data['parent_type'] = self._parent.__class__.__name__ - if self._role: - data['role'] = self._role.serialize() + if self._role: + data['role'] = self._role.serialize() return data |