Merge pull request #998 from ryanpetrello/fix-980

fix a bug which broke the callback plugin launch process
This commit is contained in:
Ryan Petrello
2018-01-17 12:12:05 -05:00
committed by GitHub
2 changed files with 11 additions and 7 deletions

View File

@@ -3319,7 +3319,8 @@ class JobTemplateCallback(GenericAPIView):
return Response(data, status=status.HTTP_400_BAD_REQUEST) return Response(data, status=status.HTTP_400_BAD_REQUEST)
# Everything is fine; actually create the job. # Everything is fine; actually create the job.
kv = {"limit": limit, "launch_type": 'callback'} kv = {"limit": limit}
kv.setdefault('_eager_fields', {})['launch_type'] = 'callback'
if extra_vars is not None and job_template.ask_variables_on_launch: if extra_vars is not None and job_template.ask_variables_on_launch:
extra_vars_redacted, removed = extract_ansible_vars(extra_vars) extra_vars_redacted, removed = extract_ansible_vars(extra_vars)
kv['extra_vars'] = extra_vars_redacted kv['extra_vars'] = extra_vars_redacted

View File

@@ -560,10 +560,11 @@ def test_callback_accept_prompted_extra_var(mocker, survey_spec_factory, job_tem
dict(extra_vars={"job_launch_var": 3, "survey_var": 4}, host_config_key="foo"), dict(extra_vars={"job_launch_var": 3, "survey_var": 4}, host_config_key="foo"),
admin_user, expect=201, format='json') admin_user, expect=201, format='json')
assert JobTemplate.create_unified_job.called assert JobTemplate.create_unified_job.called
assert JobTemplate.create_unified_job.call_args == ({'extra_vars': {'survey_var': 4, assert JobTemplate.create_unified_job.call_args == ({
'job_launch_var': 3}, 'extra_vars': {'survey_var': 4, 'job_launch_var': 3},
'launch_type': 'callback', '_eager_fields': {'launch_type': 'callback'},
'limit': 'single-host'},) 'limit': 'single-host'},
)
mock_job.signal_start.assert_called_once() mock_job.signal_start.assert_called_once()
@@ -585,8 +586,10 @@ def test_callback_ignore_unprompted_extra_var(mocker, survey_spec_factory, job_t
dict(extra_vars={"job_launch_var": 3, "survey_var": 4}, host_config_key="foo"), dict(extra_vars={"job_launch_var": 3, "survey_var": 4}, host_config_key="foo"),
admin_user, expect=201, format='json') admin_user, expect=201, format='json')
assert JobTemplate.create_unified_job.called assert JobTemplate.create_unified_job.called
assert JobTemplate.create_unified_job.call_args == ({'launch_type': 'callback', assert JobTemplate.create_unified_job.call_args == ({
'limit': 'single-host'},) '_eager_fields': {'launch_type': 'callback'},
'limit': 'single-host'},
)
mock_job.signal_start.assert_called_once() mock_job.signal_start.assert_called_once()