arguments no longer passed to plugins if you don't have an environment set
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Juju Charm Tools |
Invalid
|
Undecided
|
Unassigned | ||
juju-core |
Fix Released
|
High
|
Tim Penhey | ||
1.20 |
Fix Released
|
Critical
|
Ian Booth |
Bug Description
I'm not sure what the specific bug is, but if I'm running a development version of Juju, I end up with:
$ juju charm create
usage: /usr/bin/juju-charm subcommand
Available subcommands are:
admin
create
get
getall
list
promulgate
proof
review
review-queue
search
subscribers
unpromulgate
update
ERROR subprocess encountered error code 1
Note that I ran "juju charm create" and it tells me that it is one of the subcommands, but it doesn't actually work.
Now if I run:
/usr/bin/juju charm create
I get a nice help text:
usage: charm-create [-h] charmname [charmhome]
charm-create: error: too few arguments
Also, even if I use the right syntax, charm create doesn't actually work with Dev juju:
$ juju charm create foobar
usage: /usr/bin/juju-charm subcommand
Available subcommands are:
admin
create
...
It turns out that this is because of environCommandW
$ juju args -e local a b
['/home/
summary: |
- arguments no longer passed to plugins + arguments no longer passed to plugins if you don't have an environment + set |
Changed in juju-core: | |
assignee: | John A Meinel (jameinel) → Tim Penhey (thumper) |
importance: | Critical → High |
tags: | removed: regression |
Changed in juju-core: | |
status: | Triaged → Fix Committed |
tags: | added: charms ci regression |
Changed in juju-core: | |
status: | Fix Committed → Fix Released |
So if I hack "juju-charm" to print out sys.argv I get: bin/juju- charm', 'create', '-h'] bin/juju- charm']
$ /usr/bin/juju charm create -h
args ['/usr/
vs
$ juju charm create -h
args ['/usr/
So I think this is just a critical regression in core where we used to pass along arguments to plugins, and we stopped doing so.