cloud-init
cloud-init copied to clipboard
cli: incorrect top-level usage output when subcommand provides invalid optional parameter
Bug report
cloud-init provides invalid usage statements when --invalid optional parameters are provided to a cloud-init sub-commands.
The usage reported on the command line is the usage of the base command cloud-init when it should be the usage of the specific usage of the sub-command.
Expected:
Providing and invalid optional parameter --invalid to a cloud-init sub-command should generate a usage statement for that sub-command
$ cloud-init clean --invalid
usage: /usr/bin/cloud-init clean [-h] [-l] [--machine-id] [-r] [-s] [-c {all,ssh_config,network} [{all,ssh_config,network} ...]]
/usr/bin/cloud-init clean: error: unrecognized arguments: --invalid
Actual:
Providing and invalid optional parameter --invalid to a cloud-init sub-command actually generates a usage statement from the base-command which doesn't provide helpful context on viable parameters for that sub-command
usage: /usr/bin/cloud-init [-h] [--version] [--file FILES] [--debug] [--force] {init,modules,single,query,features,analyze,devel,collect-logs,clean,status,schema} ...
/usr/bin/cloud-init: error: unrecognized arguments: --invalid
Environment details
- Cloud-init version: 23.4~3g0cb0b80f-0ubuntu1
- Operating System Distribution: ANY
- Cloud provider, platform or installer type: ANY
cloud-init logs
n/a