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>
(cherry picked from commit 51b0d4ca58
)
This commit is contained in:
parent
27bfd0bc62
commit
48f9b1c2ce
@ -35,7 +35,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(
|
||||
|
Loading…
Reference in New Issue
Block a user