This is an old revision of the document!
SDN VPN project main page
The project aims to integrate the OpenStack Neutron BGPVPN project and its supported backends into the OPNFV reference platform.
Deployment options
The different BGPVPN backends should be supported through deployment options that can be selected when running the installers:
Bagpipe backend
OpenContrail backend (unclear if supported in Brahmaputra - contributors needed)
ODL backend (tests will only pass with ODL Beryllium)
ONOS is currently not supported by the OpenStack Neutron BGPVPN extension (networking-bgpvpn repository).
Manual deployment procedures
Baseline:
Install BGPVPN
deb/rpm package
pull from repo
Bagpipe backend
OpenContrail backend
ODL backend
ODL: activate VPN Service feature in karaf
step 2
Test cases and CI
The aim is to run the same suite of tests for all supported backends, i.e. within the CI pipeline a separate Jenkins job is needed for each deployment option (deploy the option, run the common tests).
Functest
Within Functest the basic functionality of the ODL VPN Service is verified using the ODL REST API directly. We re-use the robot framework test suite that has been developed for this purpose in ODL. The OpenStack Neutron BGPVPN API is verified using a second suite of robot framework tests that is located in the OPNFV SDN VPN repository (may be moved to OpenStack networking-bgpvpn repo later).
ODL VPN Service tests
RF tests for ODL VPN service using ODL REST API. The ODL integration-test repository is already cloned by Functest, the only thing that needs to be done is to include the vpnservice test suite in the list of tests to be run by Functest.
Create VPN instance and check command return code
Check if VPN instance is present
Create IETF VM interface and check return code
Verify IETF VM interface
Create VPN interface for IETF interface
Verify VPN interface
Verify FIB entry after create
Delete VM VPN interface
Verify after deleting VM VPN interface
Delete VPN instance
Verify after deleting VPN instance
Delete VM IETF interface
Verify after deleting VM IETF interface
Verify FIB entry after delete
OpenStack Neutron BGPVPN API extension tests
RF tests for BGPVPN Neutron API extensions. These tests will be kept in the SDN VPN repository for the time being and possibly be moved to the networking-bgpvpn repo at a later stage.
Create BGPVPN and check if the main parameters of the created object are correct.
Create BGPVPN with malformatted route target (e.g. ASN:NN) should fail.
Create BGPVPN with invalid route target (e.g. 65536:0) should fail.
Getting the VPN list works without producing an error.
Updating an existing BGPVPN works.
Displaying parameters of an existing BGPVPN works.
Deleting a BGPVPN works.
Associating an existing BGPVPN with a Neutron network works
Getting the associated Neutron network works.
Deleting the network association works.
Yardstick
2 compute nodes N1 and N2 are used during the tests.
Common test setup procedure:
set up VM1 and VM2 on N1 and VM3 on N2, all having 10.10.10/24 addresses
Set up VM4 on N1 and VM5 on N2, both having 10.10.11/24 addresses
Test 1:
Ping from VMx to VMy should not work
Create VPN1 (add parameters) and associate 10.10.10./24 subnet
Ping from VMx to VMy should work
Jira task in Yardstick for the Test 1: https://jira.opnfv.org/browse/YARDSTICK-185?jql=project%20%3D%20YARDSTICK
Common test teardown procedure: