Support single-active BGPaaS object attached to multiple VMIs
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R3.2 |
Fix Committed
|
Wishlist
|
Srinivasan Venkatakrishnan | |||
R4.0 |
Fix Committed
|
Wishlist
|
Srinivasan Venkatakrishnan | |||
Trunk |
Fix Committed
|
Wishlist
|
Srinivasan Venkatakrishnan |
Bug Description
Consider the following BGPaaS use case. There are a number of control + data plane VMs that form a single entity. All VMs participate in the
data plane, but only a single VM is elected to run BGP to the contrail
controller. If the active VM fails, another VM is elected to run BGP.
The source address for the BGPaaS session is a loopback address that
is configured as an AAP on all the VMIs. This common loopback is also
used as the next-hop for all routes advertised by the VM thus allowing
incoming data traffic to be load balanced to all VMs.
Existing BGPaaS functionality requires the creation of a unique BGPaaS
object per VMI, even though there's a single established BGP session at
any given point. This bug tracks an enhancement to allow a single shared
BGPaaS object to be associated with all VMIs for the entity.
The following changes are anticipated:
1. Configuration
Change schema to add a new property to BGPaaS object to indicate that
the object can be associated with multiple VMIs and only a single VMI
can have an established bgp session. The ip address field is mandatory
when this new property is set. A single client bgp-router object will
be created and associated with the BGPaaS object.
2. Control
Control node needs to handle a new incoming tcp session with the same
source port as an existing bgpaas session. It should bring down any
existing bgpaas session and bring up the new one, triggering graceful
restart if appropriate.
3. Vrouter
vRouter and agent need to handle a failure of BGPaaS VMs wherein the
new active VM is on the same vRouter as the previous active VM. IOW,
the newly initiated bgp session will be associated with another VMI
that's on the same vRouter. This may require some tweaks to the logic
to initiate SNAT+DNAT for BGPaaS session. There may also be some tricky
issues here with TCP session setup and TCB cleanup on base OS in control
node since the vROuter uses the same source port for both old and new
sessions.
description: | updated |
description: | updated |
description: | updated |
tags: | added: bgpaas |
tags: | added: att-aic-contrail |
Review in progress for https:/ /review. opencontrail. org/28962
Submitter: Srinivasan Venkatakrishnan (<email address hidden>)