Bootstrap agent initialization timeout too small
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Won't Fix
|
High
|
Unassigned |
Bug Description
We are unable to set the timeout for how long a bootstrap will wait for agent initialization. Currently it will retry 60 times, giving an effective timeout of about a minute. I would like to increase this timeout but am unable to do so. Can we consider this an option? That said a sane default may be better.
At the least, it seems a minute may be a little too short. The default timeout for bootstraps is 10 minutes in total, it would be nice if this timeout also applied to this agent-initializ
It's worth trying to figure out why it's so slow, but that answer lies outside of juju likely. Juju should try and support it anyway if possible.
In short:
Change the timeout to a saner default than 60 retries
Make bootstrap-timeout include the agent-initializ
-------
Specifically I'm referring this wait:
Bootstrapping Juju machine agent
Starting Juju machine agent (jujud-machine-0)
2016-07-21 15:06:07 INFO cmd cmd.go:129 Bootstrap agent installed
2016-07-21 15:06:07 DEBUG juju.juju api.go:246 API hostnames [10.0.2.15:17070] - resolving hostnames
2016-07-21 15:06:07 INFO juju.juju api.go:268 new API addresses to cache [10.0.2.15:17070]
2016-07-21 15:06:07 INFO juju.juju api.go:77 connecting to API addresses: [10.0.2.15:17070]
2016-07-21 15:06:07 INFO juju.api apiclient.go:520 dialing "wss://
2016-07-21 15:06:07 DEBUG juju.api apiclient.go:526 error dialing "wss://
....
ERROR unable to contact api server after 61 attempts: upgrade in progress (upgrade in progress)
Changed in juju-core: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 2.0.0 |
affects: | juju-core → juju |
Changed in juju: | |
milestone: | 2.0.0 → none |
milestone: | none → 2.0.0 |
Changed in juju: | |
assignee: | nobody → Richard Harding (rharding) |
Changed in juju: | |
milestone: | 2.0.0 → 2.1.0 |
Changed in juju: | |
assignee: | Richard Harding (rharding) → nobody |
Note, this is the attempt strategy defined in WaitForAgentIni tialisation in cmd/juju/ common/ controller. go
It seems like this should use the timeout from the whole bootstrap command, rather than hard-coding something like it is now. It seems like having a timeout here is silly if we have one higher up the stack.... this code should just take a cancellation channel and retry until told to stop by the top level timeout.