Merge "Disable quiet mode run when using an Ansible Custom Callback"
This commit is contained in:
commit
51564ac80c
@ -141,6 +141,15 @@ class Run(Command):
|
|||||||
v_actions = ValidationActions(
|
v_actions = ValidationActions(
|
||||||
validation_path=parsed_args.validation_dir)
|
validation_path=parsed_args.validation_dir)
|
||||||
|
|
||||||
|
# Ansible execution should be quiet while using the validations_json
|
||||||
|
# default callback and be verbose while passing ANSIBLE_SDTOUT_CALLBACK
|
||||||
|
# environment variable to Ansible through the --extra-env-vars argument
|
||||||
|
quiet_mode = True
|
||||||
|
extra_env_vars = parsed_args.extra_env_vars
|
||||||
|
if extra_env_vars:
|
||||||
|
if "ANSIBLE_STDOUT_CALLBACK" in extra_env_vars.keys():
|
||||||
|
quiet_mode = False
|
||||||
|
|
||||||
extra_vars = parsed_args.extra_vars
|
extra_vars = parsed_args.extra_vars
|
||||||
if parsed_args.extra_vars_file:
|
if parsed_args.extra_vars_file:
|
||||||
try:
|
try:
|
||||||
@ -161,9 +170,10 @@ class Run(Command):
|
|||||||
validations_dir=parsed_args.validation_dir,
|
validations_dir=parsed_args.validation_dir,
|
||||||
base_dir=parsed_args.ansible_base_dir,
|
base_dir=parsed_args.ansible_base_dir,
|
||||||
validation_name=parsed_args.validation_name,
|
validation_name=parsed_args.validation_name,
|
||||||
extra_env_vars=parsed_args.extra_env_vars,
|
extra_env_vars=extra_env_vars,
|
||||||
quiet=True,
|
quiet=quiet_mode,
|
||||||
ssh_user=parsed_args.ssh_user)
|
ssh_user=parsed_args.ssh_user,
|
||||||
|
)
|
||||||
except RuntimeError as e:
|
except RuntimeError as e:
|
||||||
raise RuntimeError(e)
|
raise RuntimeError(e)
|
||||||
|
|
||||||
|
@ -181,6 +181,35 @@ class TestRun(BaseCommand):
|
|||||||
self.cmd.take_action(parsed_args)
|
self.cmd.take_action(parsed_args)
|
||||||
mock_run.assert_called_with(**run_called_args)
|
mock_run.assert_called_with(**run_called_args)
|
||||||
|
|
||||||
|
@mock.patch('getpass.getuser',
|
||||||
|
return_value='doe')
|
||||||
|
@mock.patch('validations_libs.validation_actions.ValidationActions.'
|
||||||
|
'run_validations',
|
||||||
|
return_value=fakes.FAKE_SUCCESS_RUN)
|
||||||
|
def test_run_command_extra_env_vars_with_custom_callback(self,
|
||||||
|
mock_run,
|
||||||
|
mock_user):
|
||||||
|
run_called_args = {
|
||||||
|
'inventory': 'localhost',
|
||||||
|
'limit_hosts': None,
|
||||||
|
'group': [],
|
||||||
|
'extra_vars': None,
|
||||||
|
'validations_dir': '/usr/share/ansible/validation-playbooks',
|
||||||
|
'base_dir': '/usr/share/ansible/',
|
||||||
|
'validation_name': ['foo'],
|
||||||
|
'extra_env_vars': {'ANSIBLE_STDOUT_CALLBACK': 'default'},
|
||||||
|
'quiet': False,
|
||||||
|
'ssh_user': 'doe'}
|
||||||
|
|
||||||
|
arglist = ['--validation', 'foo',
|
||||||
|
'--extra-env-vars', 'ANSIBLE_STDOUT_CALLBACK=default']
|
||||||
|
verifylist = [('validation_name', ['foo']),
|
||||||
|
('extra_env_vars', {'ANSIBLE_STDOUT_CALLBACK': 'default'})]
|
||||||
|
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
self.cmd.take_action(parsed_args)
|
||||||
|
mock_run.assert_called_with(**run_called_args)
|
||||||
|
|
||||||
@mock.patch('getpass.getuser',
|
@mock.patch('getpass.getuser',
|
||||||
return_value='doe')
|
return_value='doe')
|
||||||
@mock.patch('validations_libs.validation_actions.ValidationActions.'
|
@mock.patch('validations_libs.validation_actions.ValidationActions.'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user