juju agent on the controller does not complete after bootstrap
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Fix Released
|
High
|
Joseph Phillips | ||
3.3 |
Fix Released
|
High
|
Joseph Phillips | ||
3.4 |
Fix Released
|
High
|
Joseph Phillips |
Bug Description
When bootstrapping on a machine(manual provider) with more than 3 networks,
the bootstrap command does complete without any errors, however, the juju status for the controller unit stays with `agent initialising` message, and doesn't complete the bootstrap process.
$ juju status -m controller
Model Controller Cloud/Region Version SLA Timestamp
controller manual-default manual/default 3.1.6 unsupported 11:05:47Z
App Version Status Scale Charm Channel Rev Exposed Message
controller waiting 0/1 juju-controller 3.1/stable 14 no agent initialising
Unit Workload Agent Machine Public address Ports Message
controller/0 waiting allocating 0 192.168.88.50 agent initialising
Machine State Address Inst id Base AZ Message
0 started 192.168.88.50 manual: ubuntu@22.04
$ juju ssh -m controller 0 '
ip -br a
'
lo UNKNOWN 127.0.0.1/8 ::1/128
enp1s0 UP 192.168.88.50/24 fe80::5054:
enp2s0 UP 172.16.10.50/24 fe80::5054:
enp3s0 DOWN
enp4s0 DOWN
enp5s0 DOWN
enp6s0 UP 172.16.20.50/24 fe80::5054:
enp7s0 DOWN
Connection to 192.168.88.50 closed.
I have confirmed that this does not happen when bootstrapping on a machine with 2 networks.
For now the workaround is to prepare the machine with less than 2 networks, and add the necessary networks after bootstrap has completed.
Changed in juju: | |
milestone: | none → 3.1.8 |
Changed in juju: | |
status: | In Progress → Fix Committed |
Changed in juju: | |
status: | Fix Committed → Fix Released |
The peer-grouper worker, which maintains the MongoDB cluster needs to identify a unique local-cloud scoped address to which MongoDB is bound.
Where multiple are available, the one to use is specified by supplying config for the juju-ha-space.
This could be made to work on MAAS, where the subnets/spaces are provider-sourced, and therefore known at model creation.
However this is not the case with the manual provider, as there are no space definitions.
As part of the Juju 4.0 work we are moving some of this behaviour to the controller charm itself, so we will endeavour to accommodate this scenario.
Until that time, the stated work-around is the avenue to take.