Devel state server switches to devel streams even when they are not useful

Bug #1510944 reported by Aaron Bentley
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical Juju
Fix Released
Medium
Christian Muirhead
juju-core
Won't Fix
Medium
Unassigned
1.25
Won't Fix
Medium
Unassigned

Bug Description

The true cause is that juju automatically uses devel streams for devel jujus.

When you upgrade a state server from release to devel, and it was previously using released streams, it switches to devel streams. Those devel streams may not contain the agent for that release. If they do not, the remaining juju agents will be unable to upgrade.

Note that it is legitimate for released streams to contain devel agents. Our "devel" URL works that way:
http://streams.canonical.com/juju/devel/tools/streams/v1/com.ubuntu.juju:released:tools.json

http://streams.canonical.com/juju/devel/tools provides only released streams, not devel, so it is potentially subject to this issue.

One way to avoid this issue would be a "fall back" approach. Instead of using devel streams only, devel jujus could fall back to devel streams if the released streams did not contain the desired agent.

ORIGINAL DESCRIPTION
As seen here:
http://reports.vapour.ws/releases/3230/job/xx-aws-upgrade-20-trusty-amd64/attempt/19

This test was performed with very small streams, containing just the source and target agents, but since the state-server was able to upgrade, it seems unlikely that the streams were at fault. Perhaps the small size revealed a timing issue.
ure
The stream releases file is here:
https://s3.amazonaws.com/temp-streams/xx-aws-upgrade-20-trusty-amd64/19/streams/v1/com.ubuntu.juju-released-tools.json

The machine log shows that the uniter contains "upgrade requested from 1.20.11-trusty-amd64 to 1.26-alpha1
... ERROR ... "upgrader": no matching tools available"

http://data.vapour.ws/juju-ci/products/version-3230/xx-aws-upgrade-20-trusty-amd64/build-19/machine-1.log.gz

This does not always happen; an earlier run with the 1.25 branch showed success:
http://juju-ci.vapour.ws/job/xx-aws-upgrade-20-trusty-amd64/15/

Aaron Bentley (abentley)
summary: - Only state-server upgrades 1.20 to master
+ Only state-server upgrades from 1.20
Aaron Bentley (abentley)
summary: - Only state-server upgrades from 1.20
+ Devel state server switches to devel streams even when they are not
+ useful
Aaron Bentley (abentley)
description: updated
Changed in juju-core:
importance: High → Medium
milestone: 1.26.0 → none
Curtis Hovey (sinzui)
tags: added: streams
tags: added: simplestreams
affects: juju-core → juju
Changed in juju-core:
importance: Undecided → Medium
status: New → Won't Fix
Changed in juju:
assignee: nobody → Christian Muirhead (2-xtian)
status: Triaged → In Progress
milestone: none → 2.3-beta2
Changed in juju:
milestone: 2.3-beta2 → none
Revision history for this message
Christian Muirhead (2-xtian) wrote :

This is resolved by falling back across devel, proposed and released streams as suggested.

https://github.com/juju/juju/pull/8092

Changed in juju:
status: In Progress → Fix Committed
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.