Use OVO & push/pull framework for BaGPipe BGPVPN driver

Registered by Thomas Morin

This blueprint relates to evolving the bagpipe driver for BGPVPN to:
- use OVO for RPCs
- use the neutron.api.rpc.callbacks framework to carry information between neutron server and agents
- use standards attributes in BGPVPN tables

The goals are (a) to remove the use of custom RPCs and (b) to address race issues due to stale information reaching agents via RPCs (which is solved by the neutron.api.rpc.callbacks when the revision standard attribute is used)

Blueprint information

Status:
Not started
Approver:
None
Priority:
Medium
Drafter:
Thomas Morin
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/bagpipe-bgpvpn-ovo,n,z

Addressed by: https://review.openstack.org/499951
    Adding BGPVPN OVO objects and tests

Addressed by: https://review.openstack.org/499952
    bgpvpn agent extension changes for supporting ovo in bagpipe

Addressed by: https://review.openstack.org/#/c/499943/
    Switching committing and deleting in precommit methods

Addressed by: https://review.openstack.org/#/c/499946/
    bagpipe service driver changes for supporting ovo in bagpipe

Addressed by: https://review.openstack.org/527427
    Add _port_data to agent extensions unit tests base class

Addressed by: https://review.openstack.org/529813
    BGPVPN OVO connected networks fix

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.