Reviewed: https://review.opendev.org/694806 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=51b0d4ca58f70fdd887dd053bfae1b2c918c33ba Submitter: Zuul Branch: master
commit 51b0d4ca58f70fdd887dd053bfae1b2c918c33ba Author: Matt Riedemann <mriedem...@gmail.com> Date: Mon Nov 18 11:36:20 2019 -0500 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 <stephen...@redhat.com> ** Changed in: nova Status: In Progress => Fix Released -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1837199 Title: nova-manage Tracebeck on missing arg Status in OpenStack Compute (nova): Fix Released Status in OpenStack Compute (nova) queens series: Confirmed Status in OpenStack Compute (nova) stein series: Confirmed Status in OpenStack Compute (nova) train series: Confirmed Bug description: # nova-manage cell_v2 An error has occurred: Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/oslo_config/cfg.py", line 3179, in __getattr__ return getattr(self._conf._namespace, name) AttributeError: '_Namespace' object has no attribute 'action_fn' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/stack/nova/nova/cmd/manage.py", line 2205, in main fn, fn_args, fn_kwargs = cmd_common.get_action_fn() File "/opt/stack/nova/nova/cmd/common.py", line 169, in get_action_fn fn = CONF.category.action_fn File "/usr/local/lib/python3.7/site-packages/oslo_config/cfg.py", line 3181, in __getattr__ raise NoSuchOptError(name) oslo_config.cfg.NoSuchOptError: no such option action_fn in group [DEFAULT] # nova-manage cell_v2 help usage: nova-manage cell_v2 [-h] {create_cell,delete_cell,delete_host,discover_hosts,list_cells,list_hosts,map_cell0,map_cell_and_hosts,map_instances,simple_cell_setup,update_cell,verify_instance} ... nova-manage cell_v2: error: argument action: invalid choice: 'help' (choose from 'create_cell', 'delete_cell', 'delete_host', 'discover_hosts', 'list_cells', 'list_hosts', 'map_cell0', 'map_cell_and_hosts', 'map_instances', 'simple_cell_setup', 'update_cell', 'verify_instance') # nova-manage cell_v2 -h usage: nova-manage cell_v2 [-h] {create_cell,delete_cell,delete_host,discover_hosts,list_cells,list_hosts,map_cell0,map_cell_and_hosts,map_instances,simple_cell_setup,update_cell,verify_instance} ... positional arguments: {create_cell,delete_cell,delete_host,discover_hosts,list_cells,list_hosts,map_cell0,map_cell_and_hosts,map_instances,simple_cell_setup,update_cell,verify_instance} optional arguments: -h, --help show this help message and exit python version: /usr/bin/python3 --version Python 3.7.3 nova version: $ git log -1 commit 78f9961d293e3b3e0ac62345b78abb1c9e2bd128 (HEAD -> master, origin/master, origin/HEAD) oslo.config 6.11.0 Instead of printing Traceback, nova-manage should give a hint for the user choices. To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1837199/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp