if the provisioner fails to find tools for one machine it fails to provision the others
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Fix Released
|
High
|
John A Meinel | ||
1.18 |
Fix Released
|
High
|
John A Meinel |
Bug Description
I encountered this because of bug #1306537
I'm not sure how to replicate it outside of the bug, though potentially asking to deploy a charm to any series where you don't have the tools would be sufficient.
So if you do:
juju bootstrap -e local
juju deploy $BADSERIES/ubuntu
juju deploy trusty/ubuntu ubuntu-t
(BADSERIES was "precise" in bug #1306537, could probably be something like "saucy" in the future)
Each time the provision wakes up, it sees 2 machines to start. It checks for information about the first one, and then realizes it cannot provision that one (because it doesn't have the tools available for it).
At which point it seems to bail out and not try to do anything for the second machine. It also doesn't set any error status/message for the first machine. Which means that the status stays "pending" forever.
When it wakes up again, it again sees 2 machines again and fails in the same way.
We could treat "no tools available" as an error that we can retry, but I'd at least like to see a message in status if we try to start something and are unable to, that is information that needs to be conveyed back to the user.
Related branches
- Juju Engineering: Pending requested
-
Diff: 74 lines (+43/-2)3 files modifiedtesting/constants.go (+1/-1)
worker/provisioner/provisioner_task.go (+7/-1)
worker/provisioner/provisioner_test.go (+35/-0)
Changed in juju-core: | |
assignee: | nobody → John A Meinel (jameinel) |
milestone: | none → 1.19.1 |
status: | Triaged → In Progress |
Changed in juju-core: | |
status: | In Progress → Fix Committed |
Changed in juju-core: | |
status: | Fix Committed → Fix Released |