[calico] Birdc configuration isn't changed after modification of environment
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel Plugins |
Fix Released
|
Undecided
|
Emma Gordon |
Bug Description
Fuel ISO# MirantisOpenSta
Description:
Plugin doesn't install birdc on nodes without controller or compute role. However if we have a node with other role (CephOSD for example), birdc is configured to establish peering with this node.
Enviroment:
OS: Ubuntu
Compute: QEMU
Networking Setup: Neutron with vlan segmentation
Ceph storage: No
Additional services: all by default
Steps to reproduce:
1. Install calico plugin
2. Deploy env with calico and following nodes: 1 controller, 1 compute + cinder.
3. Login to controller node and check birdc parameters.
4. Add one compute node to env and deploy changes.
5. Login to controller node and check birdc parameters.
Observed behaviour:
Birdc configuration on controller node doesn't contain information about new compute node:
Controller:
bird> show protocols
name proto table state since info
device1 Device master up 10:20:45
bgp1 BGP master up 10:20:49 Established <---- This is first compute node. We don't have configuration for the added node.
Added compute node:
bird> show protocols
name proto table state since info
kernel1 Kernel master up 12:21:36
device1 Device master up 12:21:36
direct1 Direct master up 12:21:36
N1 BGP master start 12:21:36 Active Socket: Connection closed
tags: | added: calico |
Changed in fuel-plugins: | |
status: | New → Confirmed |
assignee: | nobody → Emma Gordon (emma-0) |
Changed in fuel-plugins: | |
milestone: | none → 6.1 |
Changed in fuel-plugins: | |
status: | Confirmed → In Progress |
Changed in fuel-plugins: | |
status: | In Progress → Fix Released |
Fixed, pending code review - https:/ /review. openstack. org/#/c/ 202644/
Note that the bird configuration will be updated immediately when a new compute node is added, but when a compute node is deleted this will not be picked up until the next time that a node (of any role) is added to the deployment. This is a result of a fuel bug whereby /etc/hiera/ nodes.yaml is only updated when nodes are added, not removed (I have raised a bug report for this - https:/ /bugs.launchpad .net/fuel/ +bug/1475363).
This behaviour will resolve itself when that Fuel bug is fixed and I propose that it is liveable with until then (the only side effect being that bird will have timed out bgp sessions to deleted compute nodes - note this should not cause any problems with running out of tcp sockets since the next time a node is added to the deployment the deleted nodes will be noticed and the connections to them will be closed).