cloud-init icon indicating copy to clipboard operation
cloud-init copied to clipboard

cli: incorrect top-level usage output when subcommand provides invalid optional parameter

Open blackboxsw opened this issue 2 years ago • 0 comments

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

blackboxsw avatar Nov 16 '23 16:11 blackboxsw