worker/provisioner: cannot restart cleanly due to hard dependency on api server
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
juju-core | Status tracked in Trunk | |||||
1.14 |
Fix Released
|
Critical
|
Roger Peppe | |||
Trunk |
Fix Released
|
High
|
Roger Peppe |
Bug Description
The provisioner cannot restart cleanly as it cannot come up without the api server. However when the provisioner restarts, the api server restarts and the two race to see who comes up first.
2013-09-03 01:46:09 INFO juju runner.go:245 worker: restarting "state" in 3s
2013-09-03 01:46:11 INFO juju runner.go:253 worker: start "api"
2013-09-03 01:46:11 INFO juju apiclient.go:106 state/api: dialing "wss://
2013-09-03 01:46:11 ERROR juju apiclient.go:111 state/api: websocket.Dial wss://localhost
2013-09-03 01:46:11 ERROR juju runner.go:211 worker: exited "api": websocket.Dial wss://localhost
2013-09-03 01:46:11 INFO juju runner.go:245 worker: restarting "api" in 3s
2013-09-03 01:46:12 INFO juju runner.go:253 worker: start "state"
2013-09-03 01:46:12 INFO juju.state open.go:68 opening state; mongo addresses: ["localhost:
2013-09-03 01:46:12 INFO juju.state open.go:106 connection established
2013-09-03 01:46:12 INFO juju runner.go:253 worker: start "lxc-provisioner"
2013-09-03 01:46:12 INFO juju runner.go:253 worker: start "environ-
2013-09-03 01:46:12 INFO juju runner.go:253 worker: start "firewaller"
2013-09-03 01:46:12 INFO juju runner.go:253 worker: start "apiserver"
2013-09-03 01:46:12 INFO juju apiserver.go:37 state/api: listening on "[::]:17070"
http://
Eventually the api server will start before the provisioner, but it causes extended delays adding new units/machines.
Related branches
- Juju Engineering: Pending requested
-
Diff: 761 lines (+313/-65)13 files modifiedcmd/jujud/agent.go (+21/-0)
cmd/jujud/agent_test.go (+66/-0)
cmd/jujud/machine.go (+14/-8)
cmd/jujud/machine_test.go (+6/-6)
cmd/jujud/unit.go (+2/-2)
juju/testing/conn.go (+48/-36)
state/api/apiclient.go (+5/-4)
state/apiserver/pinger_test.go (+12/-0)
state/state.go (+6/-0)
state/state_test.go (+6/-0)
testing/checkers/set.go (+35/-0)
testing/checkers/set_test.go (+54/-0)
testing/mgo.go (+38/-9)
tags: | added: papercut |
Changed in juju-core: | |
status: | Fix Committed → Fix Released |