@ -452,7 +452,7 @@ class StrategyBase:
block_list = load_list_of_blocks (
block_list = load_list_of_blocks (
data ,
data ,
play = included_file . _task . _block . _play ,
play = included_file . _task . _block . _play ,
parent_block = included_file . _task . _block ,
parent_block = None ,
task_include = included_file . _task ,
task_include = included_file . _task ,
role = included_file . _task . _role ,
role = included_file . _task . _role ,
use_handlers = is_handler ,
use_handlers = is_handler ,
@ -478,11 +478,7 @@ class StrategyBase:
# set the vars for this task from those specified as params to the include
# set the vars for this task from those specified as params to the include
for b in block_list :
for b in block_list :
# first make a copy of the including task, so that each has a unique copy to modify
# first make a copy of the including task, so that each has a unique copy to modify
# FIXME: not sure if this is the best way to fix this, as we might be losing
b . _task_include = b . _task_include . copy ( )
# information in the copy. Previously we assigned the include params to
# the block variables directly, which caused other problems, so we may
# need to figure out a third option if this also presents problems.
b . _task_include = b . _task_include . copy ( exclude_block = True )
# then we create a temporary set of vars to ensure the variable reference is unique
# then we create a temporary set of vars to ensure the variable reference is unique
temp_vars = b . _task_include . vars . copy ( )
temp_vars = b . _task_include . vars . copy ( )
temp_vars . update ( included_file . _args . copy ( ) )
temp_vars . update ( included_file . _args . copy ( ) )