Use extra_vars_file for json stack_data

Ansible runner does not seralize nested dicts correctly and
also raises argument list too long error.

Change-Id: I758b5d51d4fa3ea921e032b51f06d2486f137a45
Closes-Bug: #1914369
This commit is contained in:
ramishra 2021-02-03 13:20:19 +05:30 committed by Rabi Mishra
parent 16789038c9
commit 9d5dd3bd78
2 changed files with 17 additions and 12 deletions

View File

@ -107,10 +107,11 @@ class TestParameterWorkflows(utils.TestCommand):
workdir=mock.ANY,
playbook_dir=mock.ANY,
verbosity=0,
extra_vars_file={
'tripleo_get_flatten_params': {
'stack_data': mock.ANY},
'tripleo_role_list': {'roles': mock.ANY}},
extra_vars={'num_phy_cores_per_numa_node_for_pmd': 2,
'tripleo_get_flatten_params': {
'stack_data': mock.ANY},
'tripleo_role_list': mock.ANY,
'derived_environment_path': mock.ANY}
)
]
@ -153,10 +154,11 @@ class TestParameterWorkflows(utils.TestCommand):
workdir=mock.ANY,
playbook_dir=mock.ANY,
verbosity=0,
extra_vars_file={
'tripleo_get_flatten_params': {
'stack_data': mock.ANY},
'tripleo_role_list': {'roles': mock.ANY}},
extra_vars={'num_phy_cores_per_numa_node_for_pmd': 2,
'tripleo_get_flatten_params': {
'stack_data': mock.ANY},
'tripleo_role_list': mock.ANY,
'derived_environment_path': mock.ANY}
),
mock.call(
@ -165,10 +167,11 @@ class TestParameterWorkflows(utils.TestCommand):
workdir=mock.ANY,
playbook_dir='/playbook/dir-1',
verbosity=0,
extra_vars_file={
'tripleo_get_flatten_params': {
'stack_data': mock.ANY},
'tripleo_role_list': {'roles': mock.ANY}},
extra_vars={'some_opt': 0,
'tripleo_get_flatten_params': {
'stack_data': mock.ANY},
'tripleo_role_list': mock.ANY,
'derived_environment_path': mock.ANY}
)
]

View File

@ -61,8 +61,9 @@ def invoke_plan_env_workflows(clients, stack_name, plan_env_file,
pb_vars
)
)
pb_vars['tripleo_get_flatten_params'] = {'stack_data': stack_data}
pb_vars['tripleo_role_list'] = role_list
pb_vars_file = {'tripleo_get_flatten_params': {
'stack_data': stack_data}, 'tripleo_role_list': {
'roles': role_list}}
pb_vars['derived_environment_path'] = derived_environment_path
playbook_dir = os.path.dirname(pb)
if not playbook_dir:
@ -74,7 +75,8 @@ def invoke_plan_env_workflows(clients, stack_name, plan_env_file,
workdir=tmp,
playbook_dir=playbook_dir,
verbosity=verbosity,
extra_vars=pb_vars
extra_vars=pb_vars,
extra_vars_file=pb_vars_file
)