Don't modify the original task ds when preprocessing data

In the case of using YAML anchors/aliases, YAML actually uses references
to the duplicated object so any modifications to the original impacts
later uses of the object.

Fixes #13575

(cherry picked from commit af249b83e6)
pull/16483/head
James Cammarata 9 years ago
parent 57eb60757c
commit dd15a15edc

@ -196,7 +196,7 @@ class Task(Base, Conditional, Taggable, Become):
if 'vars' in ds: if 'vars' in ds:
# _load_vars is defined in Base, and is used to load a dictionary # _load_vars is defined in Base, and is used to load a dictionary
# or list of dictionaries in a standard way # or list of dictionaries in a standard way
new_ds['vars'] = self._load_vars(None, ds.pop('vars')) new_ds['vars'] = self._load_vars(None, ds.get('vars'))
else: else:
new_ds['vars'] = dict() new_ds['vars'] = dict()

Loading…
Cancel
Save