Use validation_path attribut instead of variables

Globalize usage of the validation_path attribut set by
the __init__ instead of playing with variables which
introduce bugs and wrong usage

Change-Id: Ie61b380762c911d120076d50551b4661f1ef1526
This commit is contained in:
Mathieu Bultel 2020-04-08 17:04:26 +02:00
parent 7e27a0595e
commit f85ec24e9c
1 changed files with 9 additions and 13 deletions

View File

@ -63,9 +63,10 @@ class ValidationActions(object):
validation_name=None, extra_env_vars=None, validation_name=None, extra_env_vars=None,
ansible_cfg=None, quiet=True, workdir=None, ansible_cfg=None, quiet=True, workdir=None,
limit_hosts=None): limit_hosts=None):
self.log = logging.getLogger(__name__ + ".run_validations") self.log = logging.getLogger(__name__ + ".run_validations")
playbooks = [] playbooks = []
validations_dir = (validations_dir if validations_dir
else self.validation_path)
if playbook: if playbook:
if isinstance(playbook, list): if isinstance(playbook, list):
playbooks = playbook playbooks = playbook
@ -78,17 +79,15 @@ class ValidationActions(object):
self.log.debug('Getting the validations list by group') self.log.debug('Getting the validations list by group')
try: try:
validations = v_utils.parse_all_validations_on_disk( validations = v_utils.parse_all_validations_on_disk(
(validations_dir if validations_dir validations_dir, group)
else constants.ANSIBLE_VALIDATION_DIR), group)
for val in validations: for val in validations:
playbooks.append(val.get('id') + '.yaml') playbooks.append(val.get('id') + '.yaml')
except Exception as e: except Exception as e:
raise(e) raise(e)
elif validation_name: elif validation_name:
playbooks = v_utils.get_validations_playbook( playbooks = v_utils.get_validations_playbook(validations_dir,
(validations_dir if validations_dir validation_name,
else constants.ANSIBLE_VALIDATION_DIR), group)
validation_name, group)
else: else:
raise RuntimeError("No validations found") raise RuntimeError("No validations found")
@ -101,9 +100,7 @@ class ValidationActions(object):
_playbook, _rc, _status = run_ansible.run( _playbook, _rc, _status = run_ansible.run(
workdir=artifacts_dir, workdir=artifacts_dir,
playbook=playbook, playbook=playbook,
playbook_dir=(validations_dir if playbook_dir=validations_dir,
validations_dir else
constants.ANSIBLE_VALIDATION_DIR),
parallel_run=True, parallel_run=True,
inventory=inventory, inventory=inventory,
output_callback='validation_json', output_callback='validation_json',
@ -133,7 +130,7 @@ class ValidationActions(object):
# Get validations number by groups # Get validations number by groups
for gp in group: for gp in group:
validations = v_utils.parse_all_validations_on_disk( validations = v_utils.parse_all_validations_on_disk(
constants.ANSIBLE_VALIDATION_DIR, gp[0]) self.validation_path, gp[0])
group_info.append((gp[0], gp[1], len(validations))) group_info.append((gp[0], gp[1], len(validations)))
column_name = ("Groups", "Description", "Number of Validations") column_name = ("Groups", "Description", "Number of Validations")
return (column_name, group_info) return (column_name, group_info)
@ -141,8 +138,7 @@ class ValidationActions(object):
def show_validations_parameters(self, validation, group=None): def show_validations_parameters(self, validation, group=None):
"""Return Validations Parameters""" """Return Validations Parameters"""
validations = v_utils.get_validations_playbook( validations = v_utils.get_validations_playbook(
constants.ANSIBLE_VALIDATION_DIR, group) self.validation_path, validation, group)
return v_utils.get_validations_parameters(validations, validation, return v_utils.get_validations_parameters(validations, validation,
group) group)