Merge "Update and improve bagpipe driver documentation"

This commit is contained in:
Jenkins
2016年03月18日 10:20:39 +00:00
committed by Gerrit Code Review

View File

@@ -11,18 +11,18 @@ BaGPipe driver
Introduction
------------
The **bagpipe** driver for the BGPVPN service plugin is designed to work jointly with the openvswitch
ML2 mechanism driver.
The **BaGPipe** driver for the BGPVPN service plugin is designed to work jointly with the openvswitch
ML2 mechanism driver.
It relies on the use of the _bagpipe-bgp BGP VPN implementation on compute node
It relies on the use of the bagpipe-bgp_ BGP VPN implementation on compute node
and the MPLS implementation in OpenVSwitch.
Architecture overview
---------------------
The bagpipe driver for the BGPVPN service plugin interacts with the openvswitch agent on compute
node, which is extended to support new RPCs to trigger the local configuration on compute nodes
of BGP VPN instances and of their MPLS dataplane.
The bagpipe driver for the BGPVPN service plugin interacts with the openvswitch agent on each
compute node, which is extended to support new RPCs to trigger the local configuration on compute
nodes of BGP VPN instances and of their MPLS dataplane.
.. blockdiag:: overview.blockdiag
@@ -41,39 +41,54 @@ In devstack
* ``local.conf``:
* enable the ``openvswitch`` ML2 mechanism driver, and activate the agent ARP responder (you need to enable l2population too for the ARP responder to be enabled)
* add the following to enable the BaGPipe driver for the BGPVPN service plugin::
NETWORKING_BGPVPN_DRIVER="BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe.BaGPipeBGPVPNDriver:default"
* enable networking-bagpipe_, which contains code for agent extensions::
enable_plugin networking-bagpipe git://git.openstack.org/openstack/networking-bagpipe.git
* enable the ``openvswitch`` and ``l2population`` ML2 mechanism drivers::
Q_PLUGIN=ml2
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,l2population
* and activate the agent ARP responder (you need to enable l2population too for the ARP responder to be enabled)::
[[post-config|/$Q_PLUGIN_CONF_FILE]]
[agent]
l2_population=True
arp_responder=True
* on a control node, if you want to run the Fake Route-Reflector there::
enable_plugin bagpipe-bgp https://github.com/Orange-OpenSource/bagpipe-bgp.git
enable_service b-fakerr
* on compute nodes:
* install and configure bagpipe-bgp_, typically with a peering to a BGP Router-Reflector or BGP routers, can be done through devstack
* install and configure bagpipe-bgp_, typically with a peering to a BGP Route-Reflector or BGP routers, can be done through devstack
like this::
enable_plugin bagpipe-bgp https://github.com/Orange-OpenSource/bagpipe-bgp.git
BAGPIPE_DATAPLANE_DRIVER_IPVPN=mpls_ovs_dataplane.MPLSOVSDataplaneDriver
# IP of your route-reflector or BGP router, or fakeRR
# (typically $SERVICE_HOST on compute node, if the control node is running the RR)
BAGPIPE_BGP_PEERS=1.2.3.4
# BAGPIPE_BGP_PEERS defaults to $SERVICE_HOST, which will point to the controller in a
# multi-node setup
#BAGPIPE_BGP_PEERS=1.2.3.4,2.3.4.5
enable_service b-bgp
* the compute node Neutron agent is ``openvswitch`` (with additions to interact with ``bagpipe-bgp``):
* the compute node Neutron agent is the Neutron openvswitch agent, with the ``bagpipe_bgpvpn`` agent extension:
* install networking-bagpipe_ (the code to interact with ``bagpipe-bgp`` comes from there)::
enable_plugin networking-bagpipe git://git.openstack.org/openstack/networking-bagpipe.git
* define ``Q_AGENT=openvswitch`` in ``local.conf``
* define ``Q_AGENT=openvswitch`` in ``local.conf`` (optional, this is actually the default now)
* the ``bagpipe_bgpvpn`` agent extension is automatically added to the agent configuration by the devstack plugin
.. _bagpipe-bgp: https://github.com/Orange-OpenSource/bagpipe-bgp
.. _networking-bagpipe: https://github.com/openstack/networking-bagpipe
Reference in New Issue
openstack/networking-bgpvpn
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.

The note is not visible to the blocked user.