juju agent using lxcbr0 address as apiaddress instead of juju-br0 breaks agents
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
juju-core |
Fix Released
|
High
|
James Tunnicliffe | ||
1.21 |
Fix Released
|
Critical
|
Dimiter Naydenov | ||
1.22 |
Fix Released
|
Critical
|
James Tunnicliffe |
Bug Description
juju-core 1.21.1
node 0: bootstrap, lxc/0-2
- juju-br0 10.10.18.51 (eth0)
- lxcbr0 10.0.3.1
- eth1 in promisc mode
node 1: lxc/0-6
- juju-br0 10.10.18.52 (eth0)
- lxcbr0 10.0.3.1
- virbr0 192.168.122.1
- eth1 in promisc mode
node 2: metal only
- juju-br0 10.10.18.53 (eth0)
- virbr0 192.168.122.1
- eth1 in promisc mode
- on node 0, physical and lxc machines and all unit agents have the ip from node 0 lxcbr0 bridge assigned to apiaddress in agent.conf. They report correctly their state.
- on node 1, physical and lxc machine and all unit agents have the node 0 lxcbr0 ip assigned to apiaddress in agent.conf. They can't reach WSS.
- on node 2, physical machine agent have the node 0 lxcbr0 ip assigned to apiaddress in agent.conf. Can't reach WSS.
I am assuming all agents are getting the lxcbr0 ip from node 0 as node 2 do not have an lxcbr0 and yet it has the 10.0.3.1 ip assigned to its apiaddress in agent.conf.
Manually changing apiaddress on all agents to juju-br0 ip of node 0, stopping and starting all the agents temporarily solved the issue.
After reboot, same problem happens as agent.conf is overwritten by juju on all machines, lxc and units.
To reproduce with 1.21 in a cloud:
juju bootstrap
juju ssh 0 "sudo grep -A 1 apiaddresses /var/lib/
apiaddresses:
- REAL_ETH0_
juju ssh 0 "sudo apt-get install -y lxc"
juju ssh 0 "sudo reboot -n"
juju ssh 0 "sudo grep -A 1 apiaddresses /var/lib/
apiaddresses:
- 10.0.3.1:17070
Or with manual-provider with lxc installed on the target state-server:
juju bootstrap
juju ssh 0 "sudo grep -A 1 apiaddresses /var/lib/
apiaddresses:
- 10.0.3.1:17070
description: | updated |
summary: |
- juju agent using lxcbr0 address as apiaddress instead of juju-br0 after - reboot + juju agent using lxcbr0 address as apiaddress instead of juju-br0 breaks + agents |
description: | updated |
tags: | added: lxc network |
tags: | added: api |
Changed in juju-core: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → 1.23 |
Changed in juju-core: | |
importance: | High → Critical |
Changed in juju-core: | |
importance: | Critical → High |
assignee: | nobody → Dimiter Naydenov (dimitern) |
Changed in juju-core: | |
importance: | High → Critical |
importance: | Critical → High |
Changed in juju-core: | |
status: | Triaged → In Progress |
Changed in juju-core: | |
status: | In Progress → Fix Committed |
status: | Fix Committed → In Progress |
Changed in juju-core: | |
status: | In Progress → Fix Committed |
Changed in juju-core: | |
status: | Fix Committed → Fix Released |
Changed in juju-core: | |
milestone: | 1.23 → 1.23-beta1 |
I'm seeing this error on new deploys on juju 1.21.1-trusty-amd64 from the stable PPA. I've attached an extract of the machine log showing it changing the API addresses from the correct values to the wrong values. ?field. comment= I'm seeing this error on new deploys on juju 1.21.1-trusty-amd64 from the stable PPA. I've attached an extract of the (redacted) machine log showing it changing the API addresses from the correct value (192.168.99.0) to the wrong value (10.0.3.1).