path: root/docs
diff options
authorNikolas Hermanns <>2016-08-19 15:57:05 +0200
committerNikolas Hermanns <>2016-08-19 15:57:25 +0200
commit1cc5e4b07944b2fec64be0f0a8a1ce07fa2a2539 (patch)
tree61a4adc74f3ca09a5ac5a09023be1c1664f43607 /docs
parenta070148babcc8f589baef1166197263761a63f46 (diff)
adding example to the userguide
Change-Id: I501845e5200f6df638842dff93ee12346a75ec03 Signed-off-by: Nikolas Hermanns <>
Diffstat (limited to 'docs')
2 files changed, 62 insertions, 27 deletions
diff --git a/docs/userguide/feature.userguide.rst b/docs/userguide/feature.userguide.rst
index deb22e9..4ff3d81 100644
--- a/docs/userguide/feature.userguide.rst
+++ b/docs/userguide/feature.userguide.rst
@@ -176,7 +176,7 @@ node discovery and platform deployment) will take place without any further prom
sudo bash ./ -b file://<path-to-opnfv-fuel-repo>/config/ -l devel-pipeline -p <your-lab-name> -s os-odl_l2-bgpvpn-ha -i file://<path-to-fuel-iso>
Full automatic virtual deployment NO High Availability Mode
The following command will deploy the SDNVPN scenario in its non-high-availability flavor. Otherwise it does the same as described above.
@@ -204,10 +204,68 @@ Feature and API usage guidelines and example
For the details of using OpenStack BGPVPN API, please refer to the documentation
-Can we give a basic example here? Pointing someone off to a generic document in reference to
-this specific compilation of components feels a little like only half the job. :)
+In the example we will show a BGPVPN associated to 2 neutron networks. The BGPVPN
+will have the import and export routes in the way that it imports its own Route. The outcome will be that vms sitting on these two networks will be able to have a full L3
+Some defines:
+ net_1="Network1"
+ net_2="Network2"
+ subnet_net1=""
+ subnet_net2=""
+Create neutron networks and save network IDs:
+ neutron net-create --provider:network_type=local $net_1
+ export net_1_id=`echo "$rv" | grep " id " |awk '{print $4}'`
+ neutron net-create --provider:network_type=local $net_2
+ export net_2_id=`echo "$rv" | grep " id " |awk '{print $4}'`
+Create neutron subnets:
+ neutron subnet-create $net_1 --disable-dhcp $subnet_net1
+ neutron subnet-create $net_2 --disable-dhcp $subnet_net2
+Create BGPVPN:
+ neutron bgpvpn-create --route-distinguishers 100:100 --route-targets 100:2530 --name L3_VPN
+Start VMs on both networks:
+ nova boot --flavor 1 --image <some-image> --nic net-id=$net_1_id vm1
+ nova boot --flavor 1 --image <some-image> --nic net-id=$net_2_id vm2
+The VMs should not be able to see each other.
+Associate to Neutron networks:
+ neutron bgpvpn-net-assoc-create L3_VPN --network $net_1_id
+ neutron bgpvpn-net-assoc-create L3_VPN --network $net_2_id
+Now the VMs should be able to ping each other
+Check neutron logs on the controller:
+ tail -f /var/log/neutron/server.log |grep -E "ERROR|TRACE"
+Check Opendaylight logs:
+ tail -f /opt/opendaylight/data/logs/karaf.log
+Restart Opendaylight:
-What? I thought this would work!
+ service opendaylight restart
diff --git a/docs/userguide/featureusage.rst b/docs/userguide/featureusage.rst
deleted file mode 100644
index 672a009..0000000
--- a/docs/userguide/featureusage.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.
-.. (c) Tim Irnich, (
-SDN VPN capabilities and usage
-The BGPVPN feature enables creation of BGP VPNs according to the OpenStack
-BGPVPN blueprint at
-In a nutshell, the blueprint defines a BGPVPN object and a number of ways
-how to associate it with the existing Neutron object model, including a unique
-definition of the related semantics. The BGPVPN framework supports a backend
-driver model with currently available drivers for Bagpipe, OpenContrail, Nuage
-and OpenDaylight.
-Currently, in OPNFV only ODL is supported as a backend for BGPVPN. API calls are
-mapped onto the ODL VPN Service REST API through the BGPVPN ODL driver and the
-ODL Neutron Northbound module.
-Feature and API usage guidelines and example
-For the details of using OpenStack BGPVPN API, please refer to the documentation