Merge "cli help rework and cleanup"
This commit is contained in:
commit
5ba078c5e1
|
@ -47,6 +47,16 @@ class _CommaListAction(argparse.Action):
|
|||
setattr(namespace, self.dest, values.split(','))
|
||||
|
||||
|
||||
class ValidationsFormatter(argparse.ArgumentDefaultsHelpFormatter, argparse.RawTextHelpFormatter):
|
||||
"""
|
||||
Composite class inheriting from both ArgumentDefaultsHelpFormatter
|
||||
and RawTextHelpFormatter.
|
||||
Thus allowing for both more precise help output management
|
||||
and automatic printing of default arg values.
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
class Validation(argparse.ArgumentParser):
|
||||
"""Validation client implementation class"""
|
||||
|
||||
|
@ -54,17 +64,29 @@ class Validation(argparse.ArgumentParser):
|
|||
|
||||
def __init__(self, description=DESCRIPTION, epilog=EPILOG):
|
||||
"""Init validation paser"""
|
||||
super(Validation, self).__init__(description=DESCRIPTION,
|
||||
epilog=EPILOG)
|
||||
super(Validation, self).__init__(
|
||||
description=DESCRIPTION,
|
||||
epilog=EPILOG,
|
||||
formatter_class=ValidationsFormatter)
|
||||
|
||||
def parser(self, parser):
|
||||
"""Argument parser for validation"""
|
||||
parser.add_argument('action',
|
||||
choices=['run', 'list', 'show'],
|
||||
help='Validation Action')
|
||||
help=(
|
||||
'Validation Action: \n'
|
||||
' run:\n launches validations specified by '
|
||||
'the --group or --validation args. \n'
|
||||
' list:\n prints list of available validations,'
|
||||
'including their groups. \n'
|
||||
' show:\n prints list of validations executions and related info.'
|
||||
))
|
||||
parser.add_argument('--inventory', '-i', type=str,
|
||||
default="localhost",
|
||||
help="Path of the Ansible inventory.")
|
||||
help=(
|
||||
"Either a path of the Ansible inventory file, \n"
|
||||
"or a comma-separated list of hosts. \n"
|
||||
))
|
||||
parser.add_argument('--extra-vars', action='store',
|
||||
nargs='+',
|
||||
help="Extra ansible variables")
|
||||
|
@ -73,33 +95,34 @@ class Validation(argparse.ArgumentParser):
|
|||
dest="validation_name",
|
||||
action=_CommaListAction,
|
||||
default=[],
|
||||
help=("Run specific validations, "
|
||||
"if more than one validation is required "
|
||||
"separate the names with commas: "
|
||||
"--validation check-ftype,512e | "
|
||||
"--validation 512e"))
|
||||
help=("Run specific validations, \n"
|
||||
"if more than one validation is required \n"
|
||||
"separate the names with commas: \n"
|
||||
"--validation check-ftype,512e | \n"
|
||||
"--validation 512e \n"))
|
||||
parser.add_argument('--group', '-g',
|
||||
metavar='<group>[,<group>,...]',
|
||||
action=_CommaListGroupAction,
|
||||
default=[],
|
||||
help=("Run specific group validations, "
|
||||
"if more than one group is required "
|
||||
"separate the group names with commas: "
|
||||
"--group pre-upgrade,prep | "
|
||||
"--group openshift-on-openstack"))
|
||||
help=("Run specific group of validations, \n"
|
||||
"if more than one group is required \n"
|
||||
"separate the group names with commas: \n"
|
||||
"--group pre-upgrade,prep | \n"
|
||||
"--group openshift-on-openstack \n"))
|
||||
parser.add_argument('--quiet', action='store_true',
|
||||
help=("Run Ansible in silent mode."))
|
||||
help=("Run Ansible in silent mode. \n"))
|
||||
parser.add_argument('--validation-dir', dest='validation_dir',
|
||||
default=constants.ANSIBLE_VALIDATION_DIR,
|
||||
help=("Path where the validation playbooks "
|
||||
"is located."))
|
||||
"are located. \n"))
|
||||
parser.add_argument('--ansible-base-dir', dest='ansible_base_dir',
|
||||
default=constants.DEFAULT_VALIDATIONS_BASEDIR,
|
||||
help=("Path where the ansible roles, library "
|
||||
"and plugins is located."))
|
||||
help=("Path where the ansible roles, library \n"
|
||||
"and plugins are located. \n"))
|
||||
parser.add_argument('--output-log', dest='output_log',
|
||||
default=None,
|
||||
help=("Path where the run result will be stored"))
|
||||
help=("Path where the run result will be stored. \n"))
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
def _print_dict_table(self, data):
|
||||
|
|
Loading…
Reference in New Issue