juju upgrade-model should upgrade to latest, not next major version
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
High
|
Ian Booth |
Bug Description
We have experienced issues where upgrading models from 2.6 or earlier upgrading in steps from 2.7.8 to 2.8.7 ends up with us experiencing bugs that have been fix-released in newer generations of juju agents. I'd like to propose that the juju upgrade-model command automatically upgrades you to the latest version of juju client you are running, or latest stable release, unless agent-version is specified.
The intended effect would be if you are running juju model-upgrade from a 2.8.7 client should then automatically update the model from 2.*anything* to 2.8.7.
This would apply to controller and application models, assuming the controller is already upgraded, the application models should upgrade directly to the version of the controller if agent-version is not specified.
Currently, if I run juju upgrade-model on a 2.6 model, I get a 2.7.8 model, which then potentially exhibits all bugs found in 2.7 series that have been patched by 2.8 or 2.9 series releases, and requires aborting the upgrade and performing a specific agent-version upgrade to 2.8.7.
Changed in juju: | |
milestone: | 3.0.0 → 3.0.1 |
Changed in juju: | |
milestone: | 3.0.1 → 3.0.2 |
Changed in juju: | |
milestone: | 3.0.2 → 3.0.3 |
Changed in juju: | |
status: | Fix Committed → Fix Released |
Juju choosing to upgrade to version X+1 if the current version is X goes back a long way to before we had a good upgrade capability. I think it's definitely time to revisit this. We've been reluctant to make this sort of change in a 2.x point release as it will change the existing behaviour but is something that will be fixed for 3.0 which is the current in development version.
The decision as to what version to upgrade to is not tied to the Juju client version though. It depends entirely on the running agent version of the controller / models. The Juju client version is irrelevant since any Juju client can essentially work with any Juju controller version (within some limits).