juju-verify CLI does not allow optional parameters followed by positional args
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-verify |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
juju-verify uses argparse to parse the allowed parameters.
The usage section mentions:
"""
usage: juju-verify [-h] [--model MODEL] [-l {trace,debug,info}] [-s] (--units UNITS [UNITS ...] | --machines MACHINES [MACHINES ...]) {shutdown,reboot}
"""
However, due to bug [1], the positional arguments ("{shutdown,
Example:
"""
# WRONG
$ juju verify -m foundations-
usage: juju-verify [-h] [--model MODEL] [-l {trace,debug,info}] [-s] (--units UNITS [UNITS ...] | --machines MACHINES [MACHINES ...]) {shutdown,reboot}
juju-verify: error: the following arguments are required: check
# CORRECT
$ juju verify reboot -m foundations-
"""
Changed in juju-verify: | |
status: | New → Confirmed |
Alternatively, the "--units" and "--machines" optional arguments (at least one param) should be turned into a single argument (e.g. "--units unit/0,unit/1,..." rather than "--units unit/0 unit/1 ...").
However, the comma-separated approach would be quite different to the one accepted by the juju core CLI tool.
For now, this is just a piece of advice of why the CLI may not work as expected.