Print help if nova-manage subcommand is not specified
If a nova-manage command is executed without the -h option or a subcommand the user gets an ugly traceback. This is easily recreated: $ tox -e venv -- nova-manage db Make the action argument required, so we get a helpful error message instead. $ nova-manage db usage: nova-manage db [-h] {archive_deleted_rows,ironic_flavor_migration, null_instance_uuid_scan,online_data_migrations, purge,sync,version} ... nova-manage db: error: the following arguments are required: action Note that unit tests appear to be impossible for this, since doing so attempts to initialize an oslo.config 'CONF' singleton and this is something we've already done in 'nova.test' and can't do again. Change-Id: I24d03eed3aa3b882c49916938f4c25d76fd4e831 Closes-Bug: #1837199 Co-Authored-By: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:

committed by
Stephen Finucane

parent
bbda16f634
commit
51b0d4ca58
@@ -34,7 +34,7 @@ Run without arguments to see a list of available command categories::
|
||||
|
||||
nova-manage
|
||||
|
||||
You can also run with a category argument such as user to see a list of all
|
||||
You can also run with a category argument such as ``db`` to see a list of all
|
||||
commands in that category::
|
||||
|
||||
nova-manage db
|
||||
|
@@ -124,6 +124,7 @@ def add_command_parsers(subparsers, categories):
|
||||
parser.set_defaults(command_object=command_object)
|
||||
|
||||
category_subparsers = parser.add_subparsers(dest='action')
|
||||
category_subparsers.required = True
|
||||
|
||||
for (action, action_fn) in methods_of(command_object):
|
||||
parser = category_subparsers.add_parser(
|
||||
|
Reference in New Issue
Block a user