diff options
author | 2017-10-17 20:22:39 +0000 | |
---|---|---|
committer | 2017-10-17 20:22:39 +0000 | |
commit | 778d4874047341c2b6af5c91c7553cc15e1cdaaf (patch) | |
tree | 59036e72b89d8092f9bc50402462a0aab55ce28f | |
parent | 236b16b97ace3a7fc8bd6719a034443e076dc039 (diff) | |
parent | 8e1aee4da772dec5f95bd50611323289eee35628 (diff) |
Merge "Updating docs for Euphrates"
-rw-r--r-- | docs/release/configguide/index.rst | 3 | ||||
-rw-r--r-- | docs/release/installation/index.rst | 322 | ||||
-rw-r--r-- | docs/release/release-notes/release-notes.rst | 52 | ||||
-rw-r--r-- | docs/release/scenarios/os-odl_l2-bgpvpn/index.rst | 20 | ||||
-rw-r--r-- | docs/release/scenarios/os-odl_l2-bgpvpn/scenario.description.rst | 97 | ||||
-rw-r--r-- | docs/release/userguide/feature.userguide.rst | 335 |
6 files changed, 349 insertions, 480 deletions
diff --git a/docs/release/configguide/index.rst b/docs/release/configguide/index.rst index 834fe5f..bc71de2 100644 --- a/docs/release/configguide/index.rst +++ b/docs/release/configguide/index.rst @@ -8,6 +8,9 @@ SDN VPN ======= +.. toctree:: + :maxdepth: 3 + .. include:: ../userguide/feature.userguide.rst diff --git a/docs/release/installation/index.rst b/docs/release/installation/index.rst index 006f813..78bdc8d 100644 --- a/docs/release/installation/index.rst +++ b/docs/release/installation/index.rst @@ -4,10 +4,324 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) Tim Irnich, (tim.irnich@ericsson.com) and others -======= -SDN VPN -======= +============================ +SDN VPN feature installation +============================ -.. include:: ../userguide/feature.userguide.rst +Hardware requirements +===================== +The SDNVPN scenarios can be deployed as a bare-metal or a virtual +environment on a single host. + +Bare metal deployment on Pharos Lab +----------------------------------- + +Hardware requirements for bare-metal deployments of the OPNFV +infrastructure are specified by the Pharos project. The Pharos project +provides an OPNFV hardware specification for configuring your hardware +at: http://artifacts.opnfv.org/pharos/docs/pharos-spec.html. + + +Virtual deployment on a single server +------------------------------------- + +To perform a virtual deployment of an OPNFV scenario on a single host, +that host has to meet the hardware requirements outlined in the <missing +spec>. + +When ODL is used as an SDN Controller in an OPNFV virtual deployment, ODL is +running on the OpenStack Controller VMs. It is therefore recommended to +increase the amount of resources for these VMs. + +Our recommendation is to have 2 additional virtual cores and 8GB +additional virtual memory on top of the normally recommended +configuration. + +Together with the commonly used recommendation this sums up to: +:: + + 6 virtual CPU cores + 16 GB virtual memory + +The installation section below has more details on how to configure this. + +Installation using Fuel installer +================================= + +Preparing the host to install Fuel by script +============================================ +.. Not all of these options are relevant for all scenarios. I advise following the +.. instructions applicable to the deploy tool used in the scenario. + +Before starting the installation of the os-odl-bgpnvp scenario some +preparation of the machine that will host the Fuel VM must be done. + + +Installation of required packages +--------------------------------- +To be able to run the installation of the basic OPNFV fuel installation the +Jumphost (or the host which serves the VMs for the virtual deployment) needs to +install the following packages: +:: + + sudo apt-get install -y git make curl libvirt-bin libpq-dev qemu-kvm \ + qemu-system tightvncserver virt-manager sshpass \ + fuseiso genisoimage blackbox xterm python-pip \ + python-git python-dev python-oslo.config \ + python-pip python-dev libffi-dev libxml2-dev \ + libxslt1-dev libffi-dev libxml2-dev libxslt1-dev \ + expect curl python-netaddr p7zip-full + + sudo pip install GitPython pyyaml netaddr paramiko lxml scp \ + python-novaclient python-neutronclient python-glanceclient \ + python-keystoneclient debtcollector netifaces enum + +Download the source code and artifact +------------------------------------- +To be able to install the scenario os-odl-bgpvpn one can follow the way +CI is deploying the scenario. +First of all the opnfv-fuel repository needs to be cloned: +:: + + git clone ssh://<user>@gerrit.opnfv.org:29418/fuel + +To check out a specific +version of OPNFV, checkout the appropriate branch: +:: + + cd fuel + git checkout stable/<colorado|danube|euphrates> + +Now download the corresponding OPNFV Fuel ISO into an appropriate folder from +the website +:: + https://www.opnfv.org/software/downloads/release-archives + +Have in mind that the fuel repo version needs to map with the downloaded +artifact. Note: it is also possible to build the Fuel image using the +tools found in the fuel git repository, but this is out of scope of the +procedure described here. Check the Fuel project documentation for more +information on building the Fuel ISO. + + +Simplified scenario deployment procedure using Fuel +=================================================== + +This section describes the installation of the os-odl-bgpvpn-ha or +os-odl-bgpvpn-noha OPNFV reference platform stack across a server cluster +or a single host as a virtual deployment. + +Scenario Preparation +-------------------- +dea.yaml and dha.yaml need to be copied and changed according to the lab-name/host +where you deploy. +Copy the full lab config from: +:: + + cp <path-to-opnfv-fuel-repo>/deploy/config/labs/devel-pipeline/elx \ + <path-to-opnfv-fuel-repo>/deploy/config/labs/devel-pipeline/<your-lab-name> + +Add at the bottom of dha.yaml +:: + + disks: + fuel: 100G + controller: 100G + compute: 100G + + define_vms: + controller: + vcpu: + value: 4 + memory: + attribute_equlas: + unit: KiB + value: 16388608 + currentMemory: + attribute_equlas: + unit: KiB + value: 16388608 + + +Check if the default settings in dea.yaml are in line with your intentions +and make changes as required. + +Installation procedures +----------------------- + +We describe several alternative procedures in the following. +First, we describe several methods that are based on the deploy.sh script, +which is also used by the OPNFV CI system. +It can be found in the Fuel repository. + +In addition, the SDNVPN feature can also be configured manually in the Fuel GUI. +This is described in the last subsection. + +Before starting any of the following procedures, go to +:: + + cd <opnfv-fuel-repo>/ci + +Full automatic virtual deployment High Availablity Mode +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The following command will deploy the high-availability flavor of SDNVPN scenario os-odl-bgpvpn-ha +in a fully automatic way, i.e. all installation steps (Fuel server installation, configuration, +node discovery and platform deployment) will take place without any further prompt for user input. +:: + + sudo bash ./deploy.sh -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 (note the +different scenario name for the -s switch). Otherwise it does the same as described above. +:: + + sudo bash ./deploy.sh -b file://<path-to-opnfv-fuel-repo>/config/ -l devel-pipeline -p <your-lab-name> -s os-odl_l2-bgpvpn-noha -i file://<path-to-fuel-iso> + +Automatic Fuel installation and manual scenario deployment +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +A useful alternative to the full automatic procedure is to only autodeploy the Fuel host and to run host selection, role assignment and SDNVPN scenario configuration manually. +:: + + sudo bash ./deploy.sh -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> -e + +With -e option the installer does not launch environment deployment, so +a user can do some modification before the scenario is really deployed. +Another interesting option is the -f option which deploys the scenario using an existing Fuel host. + +The result of this installation is a fuel sever with the right config for +BGPVPN. Now the deploy button on fuel dashboard can be used to deploy the environment. +It is as well possible to do the configuration manuell. + +Feature configuration on existing Fuel +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +If a Fuel server is already provided but the fuel plugins for Opendaylight, Openvswitch +and BGPVPN are not provided install them by: +:: + + cd /opt/opnfv/ + fuel plugins --install fuel-plugin-ovs-*.noarch.rpm + fuel plugins --install opendaylight-*.noarch.rpm + fuel plugins --install bgpvpn-*.noarch.rpm + +If plugins are installed and you want to update them use --force flag. + +Now the feature can be configured. Create a new environment with "Neutron with ML2 plugin" and +in there "Neutron with tunneling segmentation". +Go to Networks/Settings/Other and check "Assign public network to all nodes". This is required for +features such as floating IP, which require the Compute hosts to have public interfaces. +Then go to settings/other and check "OpenDaylight plugin", "Use ODL to manage L3 traffic", +"BGPVPN plugin" and set the OpenDaylight package version to "5.2.0-1". Then you should +be able to check "BGPVPN extensions" in OpenDaylight plugin section. + +Now the deploy button on fuel dashboard can be used to deploy the environment. + +Virtual deployment using Apex installer +======================================= + +Prerequisites +^^^^^^^^^^^^^ +For Virtual Apex deployment a host with Centos 7 is needed. This installation +was tested on centos-release-7-2.1511.el7.centos.2.10.x86_64 however any other +Centos 7 version should be fine. + +Build and Deploy +^^^^^^^^^^^^^^^^ +Download the Apex repo from opnfv gerrit and checkout stable/danube: +:: + + git clone ssh://<user>@gerrit.opnfv.org:29418/apex + cd apex + git checkout stable/danube + +In apex/contrib you will find simple_deploy.sh: +:: + + #!/bin/bash + set -e + apex_home=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/../ + export CONFIG=$apex_home/build + export LIB=$apex_home/lib + export RESOURCES=$apex_home/.build/ + export PYTHONPATH=$PYTHONPATH:$apex_home/lib/python + $apex_home/ci/dev_dep_check.sh || true + $apex_home/ci/clean.sh + pushd $apex_home/build + make clean + make undercloud + make overcloud-opendaylight + popd + pushd $apex_home/ci + echo "All further output will be piped to $PWD/nohup.out" + (nohup ./deploy.sh -v -n $apex_home/config/network/network_settings.yaml -d $apex_home/config/deploy/os-odl_l3-nofeature-noha.yaml &) + tail -f nohup.out + popd + +This script will: + +- "dev_dep_check.sh" install all required packages. +- "clean.sh" clean existing deployments +- "make clean" clean existing builds +- "make undercloud" building the undercloud image +- "make overcloud-opendaylight" build the overcloud image and convert that to a overcloud with opendaylight image +- "deploy.sh" deploy the os-odl_l3-nofeature-nohs.yaml scenario + +Edit the script and change the scenario to os-odl-bgpvpn-noha.yaml. More scenraios can be found: +./apex/config/deploy/ + +Execute the script in a own screen process: +:: + + yum install -y screen + screen -S deploy + bash ./simple_deploy.sh + +Accessing the undercloud +^^^^^^^^^^^^^^^^^^^^^^^^ +Determin the mac address of the undercloud vm: +:: + + # virsh domiflist undercloud + -> Default network + Interface Type Source Model MAC + ------------------------------------------------------- + vnet0 network default virtio 00:6a:9d:24:02:31 + vnet1 bridge admin virtio 00:6a:9d:24:02:33 + vnet2 bridge external virtio 00:6a:9d:24:02:35 + # arp -n |grep 00:6a:9d:24:02:31 + 192.168.122.34 ether 00:6a:9d:24:02:31 C virbr0 + # ssh stack@192.168.122.34 + -> no password needed (password stack) + +List overcloud deployment info: +:: + + # source stackrc + # # Compute and controller: + # nova list + # # Networks + # neutron net-list + +List overcloud openstack info: +:: + + # source overcloudrc + # nova list + # ... + + +Access the overcloud hosts +^^^^^^^^^^^^^^^^^^^^^^^^^^ +On the undercloud: +:: + + # . stackrc + # nova list + # ssh heat-admin@<ip-of-host> + -> there is no password the user has direct sudo rights. diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst index d6816d0..1c6f5c4 100644 --- a/docs/release/release-notes/release-notes.rst +++ b/docs/release/release-notes/release-notes.rst @@ -12,20 +12,22 @@ License. .. http://creativecommons.org/licenses/by/4.0 .. Abstract ======== -This document comprises the release notes for the SDN VPN feature contained in the Danube +This document comprises the release notes for the SDN VPN feature contained in the Euphrates release of OPNFV. Important notes =============== -In the Danube release, SDN VPN only supports ODL as a backend. Make sure to always deploy -SDN VPN and ODL together. Make use of deployment scenarios including the SDNVPN feature. +In the Euphrates release, SDN VPN only supports ODL as a backend. Make sure to always deploy +SDN VPN and ODL together. Make use of deployment scenarios including the SDNVPN feature such as os_odl_bgpvpn_{ha|noha}. Summary ======= -SDN VPN adds the possibility to create and associate BGP/MPLS based Virtual Private Networks (VPNs) -through the OpenStack Neutron BGPVPN API extension. +SDN VPN adds the possibility to create and associate BGP/MPLS based +Virtual Private Networks (VPNs) through the OpenStack Neutron BGPVPN API +extension. See the scenario description and the user guide for details. + Release Data ============ @@ -34,21 +36,18 @@ Release Data | **Project** | sdnvpn | | | | +--------------------------------------+-------------------------------------------+ -| **Repo/tag** | Danube.3.0 | +| **Repo/tag** | Euhprates 1.0 | | | | +--------------------------------------+-------------------------------------------+ -| **Release designation** | Danube 3.0 follow-up release | +| **Release designation** | Euphrates 1.0 - initial release | | | | +--------------------------------------+-------------------------------------------+ -| **Release date** | June 23 2017 | +| **Release date** | Oct 20 2017 | | | | +--------------------------------------+-------------------------------------------+ -| **Purpose of the delivery** | Including BGP stack - 6WIND Zrpcd/Quagga | -| | Fuel 10.0 baseline + bug fixes | -| | Deployment with Apex | -| | Integration with Boron SR2.0 and bugfixes | -| | 4 new e2e testcases for Functest | -| | Horizon integration for networking-bgpvpn | +| **Purpose of the delivery** | Rebased to new upstream versions | +| | Removed Fuel deployment scenario | +| | Couple of new test cases | | | | +--------------------------------------+-------------------------------------------+ @@ -63,10 +62,13 @@ functest to guarantee functionality. Module version changes ~~~~~~~~~~~~~~~~~~~~~~ -ODL has been upgraded to Boron SR4. +ODL has been upgraded to Carbon SR2. Document changes ~~~~~~~~~~~~~~~~ +The previous monolithic user guide, which was also covering install and +config, has been broken up into multiple documents. + Reason for version ------------------ @@ -78,35 +80,23 @@ SDN VPN adds the possibility to create and associate BGP/MPLS based Virtual Private Networks (VPNs) through the OpenStack Neutron BGPVPN API extension. -A new installer based on Apex is provided. +There has been no functional scope change in the Euphrates release, the +main deliverable is newer upstream versions and additional test +coverage. -The Horizon dashboard for the OpenStack Neutron BGPVPN API extensions -is available. Bug corrections ~~~~~~~~~~~~~~~ - Several bugs in ODL VPN Service have been fixed in this release. -- Floating IP is now working and tested in functest, relevant Tempest - tests have been enabled. - -- Performance issues have been rectified and the relevant tests have - been enabled again. - -- Yardstick testcases have been enabled again. - Deliverables ------------ Software deliverables ~~~~~~~~~~~~~~~~~~~~~ -- Fuel plugin for OpenStack BGPVPN -- Changes to ODL Fuel plugin to activate the NetVirt Karaf features - and to apply the appropriate configuration. Also changes to - implement integration with 6Wind Zrpcd and Quagga. -- Changes to Apex to enable a BGPVPN deployment. +- Changes to Apex to enable a BGPVPN deployment and integration of Quagga BGP. - Integration of VPN Service functional tests and BGPVPN API tests into Functest framework. - Enabling performance tests in Yardstick. - Changes to 6Wind Zrpcd to enable integration with Apex. diff --git a/docs/release/scenarios/os-odl_l2-bgpvpn/index.rst b/docs/release/scenarios/os-odl_l2-bgpvpn/index.rst deleted file mode 100644 index 5a33da3..0000000 --- a/docs/release/scenarios/os-odl_l2-bgpvpn/index.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. _sdnvpn-os-odl_l2-bgpvpn-noha: - -.. _sdnvpn-os-odl_l2-bgpvpn-ha: - -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) Tim Irnich <tim.irnich@ericsson.com> and others - -========================================= -os-odl_l2-bgpvpn overview and description -========================================= -.. This document will be used to provide a description of the scenario for an end user. -.. You should explain the purpose of the scenario, the types of capabilities provided and -.. the unique components that make up the scenario including how they are used. - -.. toctree:: - :maxdepth: 3 - - ./scenario.description.rst - diff --git a/docs/release/scenarios/os-odl_l2-bgpvpn/scenario.description.rst b/docs/release/scenarios/os-odl_l2-bgpvpn/scenario.description.rst deleted file mode 100644 index e552bcf..0000000 --- a/docs/release/scenarios/os-odl_l2-bgpvpn/scenario.description.rst +++ /dev/null @@ -1,97 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) Tim Irnich (tim.irnich@ericsson.com) and Nikolas Hermanns (nikolas.hermanns@ericsson.com) - -Introduction -============ -.. In this section explain the purpose of the scenario and the types of capabilities provided - -Many Telecom network functions are relying on layer-3 infrastructure services, within a VNF -between components, or towards existing external networks. In many cases, these external -networks are implemented in MPLS/BGP technology in existing service provider wide-area-networks (WAN). -This proven technology provides a good mechanism for inter-operation of a NFV Infrastructure (NFVI) -and wide-area networks (WAN) and is the main capability provided by the OPNFV SDNVPN project. - -.. should we explain here what a deployment scenario is? -The OPNFV SDNVPN feature is made available through additional OPNFV deployment scenarios, which are derived -from the baseline scenarios os-odl_l2-nofeature and os-odl_l3-nofeature. This document -provides an outline of the os-odl_l2-bgpvpn scenarios including guidelines and references to -required installation, software and hardware configuration documents. - -Scenario components and composition -=================================== -.. In this section describe the unique components that make up the scenario, -.. what each component provides and why it has been included in order -.. to communicate to the user the capabilities available in this scenario. - -The SDN VPN feature enhances OPNFV's baseline OpenStack deployment with the -possibility to configure BGP based VPNs using the Neutron API extension and service plugin -provided by the OpenStack Neutron -Stadium project BGPVPN. The BGPVPN project consists of a Neutron API extension and a -service plugin which has a driver framework similar to the ML2 plugin. BGPVPN today -has a quite large number of backend drivers (Bagpipe, OpenContrail, -Nuage and OpenDaylight currently). In OPNFV, currently only the OpenDaylight driver -is supported. - -The BGPVPN ODL driver maps the BGPVPN API onto the OpenDaylight NetVirt service, which exposes the data -center overlay like a virtual router to which Neutron Networks and Routers (and in the future also Ports) -are connected. NetVirt has access to the state of the Neutron API through the OpenDaylight -Neutron Northbound Interface module, which has been enhanced to support the BGPVPN API extension. -It uses an internal mesh of VxLAN tunnels to interconnect the vSwitches on the data -center compute nodes. For the purpose of BGP based route exchange with other BGP speakers the ODL -controller makes use of Quagga BGP as an external BGP speaker. - - -Scenario usage overview -======================= -.. Provide a brief overview on how to use the scenario and the features available to the -.. user. This should be an "introduction" to the user guide document, and explicitly link to it, -.. where the specifics of the features are covered including examples and API's - - When would I use this scenario, what value does it provide? Refer to the user guide for details - of configuration etc... - -Configuring SDNVPN features ---------------------------- - -Each installer has specific procedures to deploy the OPNFV platform so that the SDNVPN feature is enabled. - -Fuel installer configuration -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -To install the SDNVPN feature using Fuel, follow the Fuel installation guide ensuring to select the SDNVPN -feature when prompted <add link to Fuel docs once artifact locations are known>. - -This will trigger installation of the OpenStack BGPVPN API extension for -Neutron, set up for using the ODL driver, in addition to vanilla Neutron. -In addition, the required karaf features will be activated when ODL is installed and the compute nodes -will be configured including the VPN Service internal transport tunnel mesh. - -No post-deploy configuration is necessary. The Fuel BGPVPN plugin and the ODL plugin -should set up the cluster ready for BGPVPNs being created. - -APEX installer configuration -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -To install the SDNVPN feature using the APEX installer, follow the APEX installation guide and -activate the SDNVPN feature when prompted. - -Limitations, Issues and Workarounds -=================================== -.. Explain scenario limitations here, this should be at a design level rather than discussing -.. faults or bugs. If the system design only provide some expected functionality then provide -.. some insight at this point. - -Currently, in OPNFV only ODL is supported as a backend for BGPVPN. API calls are -mapped onto the ODL NetVirt REST API through the BGPVPN ODL driver and the -ODL Neutron Northbound module. - -No DPDK-enabled vhost user ports are supported. - -Integration with data center gateway will not work due to missing OVS patches for MPLSoGRE. - -References -========== - -For more information on the OPNFV Danube release, please visit -http://www.opnfv.org/danube diff --git a/docs/release/userguide/feature.userguide.rst b/docs/release/userguide/feature.userguide.rst index 995c447..5691409 100644 --- a/docs/release/userguide/feature.userguide.rst +++ b/docs/release/userguide/feature.userguide.rst @@ -7,333 +7,10 @@ Introduction .. Describe the specific features and how it is realised in the scenario in a brief manner .. to ensure the user understand the context for the user guide instructions to follow. -This document will provide an overview of how to work with the SDN VPN features in +This document provides an overview of how to work with the SDN VPN features in OPNFV. -SDN VPN feature description -=========================== -.. Describe the specific usage for <XYZ> feature. -.. Provide enough information that a user will be able to operate the feature on a deployed scenario. - -A high-level description of the scenarios is provided in this section. -For details of the scenarios and their provided capabilities refer to -the scenario description document: -http://artifacts.opnfv.org/danube/sdnpvn/scenarios/os-odl_l2-bgpvpn/index.html - -The BGPVPN feature enables creation of BGP VPNs on the Neutron API according to the OpenStack -BGPVPN blueprint at https://blueprints.launchpad.net/neutron/+spec/neutron-bgp-vpn. -In a nutshell, the blueprint defines a BGPVPN object and a number of ways -how to associate it with the existing Neutron object model, as well as 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. The OPNFV scenario makes use of the OpenDaylight driver and backend -implementation through the ODL NetVirt project. - -Hardware requirements -===================== - -The SDNVPN scenarios can be deployed as a bare-metal or a virtual environment on a single host. - -Bare metal deployment on Pharos Lab ------------------------------------ - -Hardware requirements for bare-metal deployments of the OPNFV infrastructure are specified -by the Pharos project. The Pharos project provides an OPNFV hardware specification for -configuring your hardware at: http://artifacts.opnfv.org/pharos/docs/pharos-spec.html. - -Virtual deployment hardware requirements ----------------------------------------- - -To perform a virtual deployment of an OPNFV scenario on a single host, that host has to -meet the hardware requirements outlined in the <missing spec>. - -When ODL is used as an SDN Controller in an OPNFV virtual deployment, ODL is -running on the OpenStack Controller VMs. It is therefore recommended to -increase the amount of resources for these VMs. - -Our recommendation is to have 2 additional virtual cores and 8GB additional virtual memory -on top of the normally recommended configuration. - -Together with the commonly used recommendation this sums up to: -:: - - 6 virtual cores - 16 GB virtual memory - -See in Installation section below how to configure this. - -[FUEL] Preparing the host to install Fuel by script -============================================ -.. Not all of these options are relevant for all scenarios. I advise following the -.. instructions applicable to the deploy tool used in the scenario. - -Before starting the installation of the os-odl_l2-bgpnvp scenario some preparation of the -machine that will host the Fuel VM must be done. - -[FUEL] Installation of required packages ---------------------------------- -To be able to run the installation of the basic OPNFV fuel installation the -Jumphost (or the host which serves the VMs for the virtual deployment) needs to -install the following packages: -:: - - sudo apt-get install -y git make curl libvirt-bin libpq-dev qemu-kvm \ - qemu-system tightvncserver virt-manager sshpass \ - fuseiso genisoimage blackbox xterm python-pip \ - python-git python-dev python-oslo.config \ - python-pip python-dev libffi-dev libxml2-dev \ - libxslt1-dev libffi-dev libxml2-dev libxslt1-dev \ - expect curl python-netaddr p7zip-full - - sudo pip install GitPython pyyaml netaddr paramiko lxml scp \ - python-novaclient python-neutronclient python-glanceclient \ - python-keystoneclient debtcollector netifaces enum - -[FUEL] Download the source code and artifact -------------------------------------- -To be able to install the scenario os-odl_l2-bgpvpn one can follow the way -CI is deploying the scenario. -First of all the opnfv-fuel repository needs to be cloned: -:: - - git clone ssh://<user>@gerrit.opnfv.org:29418/fuel - -This command downloads the whole repository fuel. To checkout a specific -version of OPNFV, checkout the appropriate branch: -:: - - cd fuel - git checkout stable/<colorado|danube> - -Now download the corresponding OPNFV Fuel ISO into an appropriate folder from -the website -:: - https://www.opnfv.org/software/downloads/release-archives - -Have in mind that the fuel repo version needs to map with the downloaded artifact. - -[FUEL] Simplified scenario deployment procedure using Fuel -=================================================== - -This section describes the installation of the os-odl_l2-bgpvpn-ha or -os-odl_l2-bgpvpn-noha OPNFV reference platform stack across a server cluster -or a single host as a virtual deployment. - -[FUEL] Scenario Preparation --------------------- -dea.yaml and dha.yaml need to be copied and changed according to the lab-name/host -where you deploy. -Copy the full lab config from: -:: - - cp <path-to-opnfv-fuel-repo>/deploy/config/labs/devel-pipeline/elx \ - <path-to-opnfv-fuel-repo>/deploy/config/labs/devel-pipeline/<your-lab-name> - -Add at the bottom of dha.yaml -:: - - disks: - fuel: 100G - controller: 100G - compute: 100G - - define_vms: - controller: - vcpu: - value: 4 - memory: - attribute_equlas: - unit: KiB - value: 16388608 - currentMemory: - attribute_equlas: - unit: KiB - value: 16388608 - - -Check if the default settings in dea.yaml are in line with your intentions -and make changes as required. - -[FUEL] Installation procedures ------------------------ - -We describe several alternative procedures in the following. -First, we describe several methods that are based on the deploy.sh script, -which is also used by the OPNFV CI system. -It can be found in the Fuel repository. - -In addition, the SDNVPN feature can also be configured manually in the Fuel GUI. -This is described in the last subsection. - -Before starting any of the following procedures, go to -:: - - cd <opnfv-fuel-repo>/ci - -[FUEL] Full automatic virtual deployment High Availablity Mode -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The following command will deploy the high-availability flavor of SDNVPN scenario os-odl_l2-bgpvpn-ha -in a fully automatic way, i.e. all installation steps (Fuel server installation, configuration, -node discovery and platform deployment) will take place without any further prompt for user input. -:: - - sudo bash ./deploy.sh -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> - -[FUEL] Full automatic virtual deployment NO High Availability Mode -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The following command will deploy the SDNVPN scenario in its non-high-availability flavor (note the -different scenario name for the -s switch). Otherwise it does the same as described above. -:: - - sudo bash ./deploy.sh -b file://<path-to-opnfv-fuel-repo>/config/ -l devel-pipeline -p <your-lab-name> -s os-odl_l2-bgpvpn-noha -i file://<path-to-fuel-iso> - -[FUEL] Automatic Fuel installation and manual scenario deployment -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -A useful alternative to the full automatic procedure is to only autodeploy the Fuel host and to run host selection, role assignment and SDNVPN scenario configuration manually. -:: - - sudo bash ./deploy.sh -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> -e - -With -e option the installer does not launch environment deployment, so -a user can do some modification before the scenario is really deployed. -Another interesting option is the -f option which deploys the scenario using an existing Fuel host. - -The result of this installation is a fuel sever with the right config for -BGPVPN. Now the deploy button on fuel dashboard can be used to deploy the environment. -It is as well possible to do the configuration manuell. - -[FUEL] Feature configuration on existing Fuel -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -If a Fuel server is already provided but the fuel plugins for Opendaylight, Openvswitch -and BGPVPN are not provided install them by: -:: - - cd /opt/opnfv/ - fuel plugins --install fuel-plugin-ovs-*.noarch.rpm - fuel plugins --install opendaylight-*.noarch.rpm - fuel plugins --install bgpvpn-*.noarch.rpm - -If plugins are installed and you want to update them use --force flag. - -Now the feature can be configured. Create a new environment with "Neutron with ML2 plugin" and -in there "Neutron with tunneling segmentation". -Go to Networks/Settings/Other and check "Assign public network to all nodes". This is required for -features such as floating IP, which require the Compute hosts to have public interfaces. -Then go to settings/other and check "OpenDaylight plugin", "Use ODL to manage L3 traffic", -"BGPVPN plugin" and set the OpenDaylight package version to "5.2.0-1". Then you should -be able to check "BGPVPN extensions" in OpenDaylight plugin section. - -Now the deploy button on fuel dashboard can be used to deploy the environment. - -[APEX] Virtual deployment -========================= - -[APEX] Prerequisites -^^^^^^^^^^^^^^^^^^^ -For Virtual Apex deployment a host with Centos 7 is needed. This installation -was tested on centos-release-7-2.1511.el7.centos.2.10.x86_64 however any other -Centos 7 version should be fine. - -[APEX] Build and Deploy -======================= -Download the Apex repo from opnfv gerrit and checkout stable/danube: -:: - - git clone ssh://<user>@gerrit.opnfv.org:29418/apex - cd apex - git checkout stable/danube - -In apex/contrib you will find simple_deploy.sh: -:: - - #!/bin/bash - set -e - apex_home=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/../ - export CONFIG=$apex_home/build - export LIB=$apex_home/lib - export RESOURCES=$apex_home/.build/ - export PYTHONPATH=$PYTHONPATH:$apex_home/lib/python - $apex_home/ci/dev_dep_check.sh || true - $apex_home/ci/clean.sh - pushd $apex_home/build - make clean - make undercloud - make overcloud-opendaylight - popd - pushd $apex_home/ci - echo "All further output will be piped to $PWD/nohup.out" - (nohup ./deploy.sh -v -n $apex_home/config/network/network_settings.yaml -d $apex_home/config/deploy/os-odl_l3-nofeature-noha.yaml &) - tail -f nohup.out - popd - -This script will: - -- "dev_dep_check.sh" install all required packages. -- "clean.sh" clean existing deployments -- "make clean" clean existing builds -- "make undercloud" building the undercloud image -- "make overcloud-opendaylight" build the overcloud image and convert that to a overcloud with opendaylight image -- "deploy.sh" deploy the os-odl_l3-nofeature-nohs.yaml scenario - -Edit the script and change the scenario to os-odl-bgpvpn-noha.yaml. More scenraios can be found: -./apex/config/deploy/ - -Execute the script in a own screen process: -:: - - yum install -y screen - screen -S deploy - bash ./simple_deploy.sh - -[APEX] Accessing the undercloud -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Determin the mac address of the undercloud vm: -:: - - # virsh domiflist undercloud - -> Default network - Interface Type Source Model MAC - ------------------------------------------------------- - vnet0 network default virtio 00:6a:9d:24:02:31 - vnet1 bridge admin virtio 00:6a:9d:24:02:33 - vnet2 bridge external virtio 00:6a:9d:24:02:35 - # arp -n |grep 00:6a:9d:24:02:31 - 192.168.122.34 ether 00:6a:9d:24:02:31 C virbr0 - # ssh stack@192.168.122.34 - -> no password needed (password stack) - -List overcloud deployment info: -:: - - # source stackrc - # # Compute and controller: - # nova list - # # Networks - # neutron net-list - -List overcloud openstack info: -:: - - # source overcloudrc - # nova list - # ... - - -[APEX] Access the overcloud hosts -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -On the undercloud: -:: - - # . stackrc - # nova list - # ssh heat-admin@<ip-of-host> - -> there is no password the user has direct sudo rights. - - -Feature and API usage guidelines and example [For Apex and Fuel] +Feature and API usage guidelines and example ============================================ .. Describe with examples how to use specific features, provide API examples and details required to .. operate the feature on the platform. @@ -343,9 +20,11 @@ at http://docs.openstack.org/developer/networking-bgpvpn/. Example ------- -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 -connectivity. +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 connectivity. + Some defines: :: |