no bundle option to specify channel
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
Medium
|
Unassigned |
Bug Description
When using the juju CLI, we can specify --channel=edge to deploy applications with their edge charm versions. Example below
1) Default behavior (stable)
$ juju add-model stable-test
$ juju deploy cs:~containers/
Located charm "cs:~containers
Deploying charm "cs:~containers
# juju export-bundle
juju export-bundle
series: bionic
applications:
kubernetes-
charm: cs:~containers/
num_units: 1
to:
- "0"
machines:
"0": {}
2) Edge channel behavior
$ juju add-model stable-test
$ juju deploy cs:~containers/
Located charm "cs:~containers
Deploying charm "cs:~containers
$ juju export-bundle
series: bionic
applications:
kubernetes-
charm: cs:~containers/
num_units: 1
to:
- "0"
machines:
"0": {}
As can be seen above, there is no need to specify the charm version when using the CLI, as the latest for each channel is picked up automatically.
This is not true when deploying bundles. See below:
$ cat test.yaml
series: bionic
applications:
kubernetes-
charm: cs:~containers/
num_units: 1
to:
- "0"
machines:
"0": {}
$ $ juju deploy test.yaml
Resolving charm: cs:~containers/
Executing changes:
- upload charm cs:~containers/
- deploy application kubernetes-master on bionic using cs:~containers/
added resource cdk-addons
added resource core
added resource kube-apiserver
added resource kube-controller
added resource kube-proxy
added resource kube-scheduler
added resource kubectl
- add new machine 0
- add unit kubernetes-master/0 to new machine 0
Deploy of bundle completed.
There is no documentation of an option such as "channel: edge" for the bundle (could be used right below the "series: bionic" option in the above example) to cause Juju to pick up the latest edge charm version when deploying bundles.
To deploy that bundle with edge, it is necessary to run:
$ juju deploy test.yaml --channel=edge
Resolving charm: cs:~containers/
Executing changes:
- upload charm cs:~containers/
- deploy application kubernetes-master on bionic using cs:~containers/
added resource cdk-addons
added resource core
added resource kube-apiserver
added resource kube-controller
added resource kube-proxy
added resource kube-scheduler
added resource kubectl
- add new machine 0
- add unit kubernetes-master/0 to new machine 0
Deploy of bundle completed.
Therefore, this limitation forces the use of the Juju CLI parameter where this could be improved to be defined in the bundle.
tags: | added: seg |
Changed in juju: | |
status: | Fix Committed → Fix Released |
I believe there are a few places where we wanted to avoid functionality in a bundle that you can do on a commandline (for example --force to ignore the series of a charm). I don't know if channel was intentionally restricted or whether it is just an omission.