[calico] Birdc configuration isn't changed after modification of environment

Bug #1472604 reported by Ilya Bumarskov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel Plugins
Fix Released
Undecided
Emma Gordon

Bug Description

Fuel ISO# MirantisOpenStack-6.1

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: calico
tags: added: calico
Emma Gordon (emma-0)
Changed in fuel-plugins:
status: New → Confirmed
assignee: nobody → Emma Gordon (emma-0)
Changed in fuel-plugins:
milestone: none → 6.1
Emma Gordon (emma-0)
Changed in fuel-plugins:
status: Confirmed → In Progress
Revision history for this message
Emma Gordon (emma-0) wrote :

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).

Emma Gordon (emma-0)
Changed in fuel-plugins:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.