Here's an example on ppc64el, but also occurs on amd64.
http://juju-ci.vapour.ws:8080/job/run-unit-tests-trusty-ppc64el/1816/console
[LOG] 6:01.068 ERROR juju.cmd.jujud upgrade from 1.16-beta1 to 1.21-beta1 for "machine-0" failed (will retry): boom
[LOG] 8:01.068 ERROR juju.cmd.jujud upgrade from 1.16-beta1 to 1.21-beta1 for "machine-0" failed (giving up): boom
upgrade_test.go:202:
c.Check(*attemptsP, gc.Equals, maxUpgradeRetries)
... obtained int = 5
... expected int = 3
upgrade_test.go:204:
c.Assert(agent.MachineStatusCalls, jc.DeepEquals,
s.makeExpectedStatusCalls(maxUpgradeRetries-1, fails, "boom"))
... obtained []main.MachineStatusCall = []main.MachineStatusCall{main.MachineStatusCall{Status:"started", Info:"upgrading to 1.21-beta1"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (giving up): boom"}}
... expected []main.MachineStatusCall = []main.MachineStatusCall{main.MachineStatusCall{Status:"started", Info:"upgrading to 1.21-beta1"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (giving up): boom"}}
... mismatch at top level: length mismatch, 6 vs 4; obtained []main.MachineStatusCall{main.MachineStatusCall{Status:"started", Info:"upgrading to 1.21-beta1"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (giving up): boom"}}; expected []main.MachineStatusCall{main.MachineStatusCall{Status:"started", Info:"upgrading to 1.21-beta1"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (will retry): boom"}, main.MachineStatusCall{Status:"error", Info:"upgrade to 1.21-beta1 failed (giving up): boom"}}
Fix is here: https:/ /github. com/juju/ juju/pull/ 1304