avoid inheritance issues with default=dict declaration at class level

this should avoid the issue of subsequent plays not prompting for a var
prompted for in a previous play.
fixes #13363
This commit is contained in:
Brian Coca 2015-11-30 15:08:07 -08:00
parent f96730003b
commit 204e27ca66

View file

@ -49,7 +49,7 @@ class Base:
_remote_user = FieldAttribute(isa='string') _remote_user = FieldAttribute(isa='string')
# variables # variables
_vars = FieldAttribute(isa='dict', default=dict(), priority=100) _vars = FieldAttribute(isa='dict', priority=100)
# flags and misc. settings # flags and misc. settings
_environment = FieldAttribute(isa='list') _environment = FieldAttribute(isa='list')
@ -77,6 +77,9 @@ class Base:
# and initialize the base attributes # and initialize the base attributes
self._initialize_base_attributes() self._initialize_base_attributes()
if self.vars is None:
self.vars = dict()
# The following three functions are used to programatically define data # The following three functions are used to programatically define data
# descriptors (aka properties) for the Attributes of all of the playbook # descriptors (aka properties) for the Attributes of all of the playbook
# objects (tasks, blocks, plays, etc). # objects (tasks, blocks, plays, etc).