Juju client deploys agent newer than itself
Bug #1247232 reported by
Aaron Bentley
This bug report is a duplicate of:
Bug #1455260: Deployments fail when juju implicitly upgrade after bootstrap.
Edit
Remove
This bug affects 3 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Triaged
|
Medium
|
Unassigned |
Bug Description
juju 1.16.0 deploys agent version 1.16.2. This means that the behaviour of juju can change when a new version of the agent is uploaded by Canonical, even when the user has not upgraded their juju install. Juju should deploy the same-version agent, to avoid behaviour changes. If for some reason there's a desire to deploy mismatched client/agent combinations, an override can be provided.
Users can then upgrade their juju client and run upgrade-juju, which is the approach that CI testing tests. Upgrading the agent first is untested, so we cannot be confident that it will behave as desired.
Related branches
lp://staging/~axwalk/juju-core/lp1247232-bootstrap-majorminorpatch
- Juju Engineering: Pending requested
-
Diff: 148 lines (+97/-2)3 files modifiedenvirons/bootstrap/bootstrap.go (+38/-1)
environs/bootstrap/bootstrap_test.go (+59/-0)
tools/list.go (+0/-1)
description: | updated |
summary: |
- Juju 1.16.0 deploys agent version 1.16.2 + Juju client deploys newer versions of agent |
summary: |
- Juju client deploys newer versions of agent + Juju client deploys agent newer than itself |
tags: | added: ci deploy |
tags: | added: canonical-is |
Changed in juju-core: | |
milestone: | 1.19.0 → 1.19.1 |
Changed in juju-core: | |
status: | Triaged → Won't Fix |
status: | Won't Fix → In Progress |
assignee: | nobody → Andrew Wilkins (axwalk) |
Changed in juju-core: | |
status: | In Progress → Fix Committed |
Changed in juju-core: | |
status: | Triaged → In Progress |
Changed in juju-core: | |
importance: | High → Medium |
To post a comment you must log in.
We have an upgrade-juju --version=XXX command that explicitly sets the version to be deployed, Users can use that now if they wish. The bootstrap command also has options to select tools from a series, but not version. I think then, that bootstrap should only choose the same version as the client. the user can upgrade if they wish, or upgrade-juju to just update the agents.
If there is a legitimate use case for selecting a different version, it needs to be better understood. I suspect this surprising bootstrap behaviour exists to ensure an agent can be deployed when there isn't a match. Choosing the newest tool does not meet this use case.