Page tree
Skip to end of metadata
Go to start of metadata

Project: Bootstrap/Get started!

  • Proposed name for the project: Bootstrap/Get-started (BGS)
  • Proposed name for the repository: genesis
  • Project Categories: Integration & Testing

Project description

Project “Bootstrap/Get started” assembles and tests a base set of infrastructure components for OPNFV to run a few example VNFs like LBs, FWs. It puts together a single deployment type that can both be used by developers and run in continuous integration. The goals of the GetStarted Project is to stand up quickly one or more stacks of components, learn from their differences and commonality of deployment experience, and feed that back into producing a more flexible framework. Initially the project will focus on a single combination of components. The project will be complete, and hand off to the wider scope “Octopus” project, when CI demonstrably runs and the project can be seen to perform the tasks required of a basic VIM layer.

The project targets an installation on a virtual environment based on Linux Ubuntu 14.04/Centos 7 as base operating system and distribution. “Bootstrap/Get started” provides a solution to automatically install and configure the required components using existing installer and configuration tools and perform a set of basic system level tests (i.e. test whether OpenStack, OpenDaylight/SDN Controler, OVS components are operational, tests whether a set of VNFs can be deployed/removed on the Compute Node). The project is intended to serve as both an initial development framework and a framework for CI. It is important that developers work on realistic deployments which (‘works on devstack &/or packstack" as Compute Node VNFs) and future projects will work on development tooling.

The picture outlines the main setup of “bootstrap/get started”.

Scope

“Bootstrap/Get started” intends to deliver a framework to automatically install and test a set of base infrastructure for OPNFV - applicable to both: developers as well as for continuous integration. To prove the functionality of the framework, example VNFs will be deployed on top of the base infrastructure.

The project comprises the following setup:

  • running OpenStack
  • with a standard, lightly tuned configuration that suits NFV applications
  • On Linux Centos 7
  • with redundant control nodes (Openstack HA)
  • running OpenDaylight Controller (ODL) / SDN Controller
  • one or more compute nodes
  • hosting a set of example VNFs to allow for system level testing of the infrastructure
  • with deployment to VMs for on-laptop testing
  • with deployment to bare metal for physical environment testing
  • with a set of integration tests to demonstrate correct OpenStack/ODL/SDN Controller base operation
  • with a set of system tests to demonstrate correct operation of the sample VNFs like LBs, FWs
  • designed for easy substitution of components
  • using KVM as hypervisor
  • using Open vSwitch (OVS) as virtual switch/virtual forwarder
  • leverage example VNFs: OpenWRT, SNORT
  • (as bonus) demonstrate service function chaining as a typical NFV example

The following elements are explicitly excluded from the initial scope; the aim here is to have a single reachable goal of an operational system, and branching out into other divergent configurations should happen after the initial goal is demonstrated:

  • other combinations of components (different OSes, network controllers, NFV components, etc.)
  • other configurations (e.g. different Openstack options)
  • packaging, unless absolutely necessary (e.g. taking an Openstack branch with patches and packaging it for deployment in place of stock distribution packages)
  • version variation (packages will be stock stable versions, not development branches)

Use-cases served by “bootstrap/get started”:

  • Standalone VNF (vRouter/Firewall/NAT) hosted on KVM
  • Bonus (in case there is time): Service Function Chaining (SFC) across a set of VNFs hosted on KVM

Targeted test cases (automated via Robot/Jenkins):

  • Automated test of installation completeness and component health check: Ensure that all required components are installed and are healthy (OpenStack, OpenDaylight Controller/SDN Controller, OVS, Example VNFs (OpenWRT, Snort, End-system/host VMs). This includes:
    • OpenStack health check (Verify Nova, Neutron, Keystone, Horizon, MySQL, Rabbit MQ, etc.. services are up and running)
    • OpenDaylight/SDN Controller health check (Verify MDSAL, RESTCONF, OVSDB, SFC, etc. services are up and running)
  • Automated system-level testing: bring up / tear down multiple instances of VNFs (OpenWRT, Snort), check idempotent system behavior.
  • Automated system service-level testing (bonus effort - in case there is time available): Bring up instances of OpenWRT and Snort, configure a service chain, test whether the service chain is functioning (e.g. two hosts can communicate via the service chain - and the configured packet processing behavior is in place).

Dependencies

  • The project is a contributor to project “Octopus”.
  • The project relies on the following upstream projects:
    • OpenStack Juno release: Components: Nova, Glance, Keystone, Horizon, Neutron, Ceilometer, Heat
    • OpenDaylight Helium release: Components: MDSAL, OVSDB, RESTCONF, ML2 plugin/ODL Neutron drivers
    • Installer: TBD
    • Puppet (for instance configuration)
    • QEMU/KVM
    • OpenWRT (as example VNF - for routing, firewall, NAT)
    • Snort (as example VNF - for IDS)
    • Linux Centos 7 distribution

Committers and Contributors

  • Committers
    • Dan Radez (dradez@redhat.com)
    • Frank Brockners (fbrockne@cisco.com)
    • Ian Wells (iawells@cisco.com)
    • Jonas Bjurel (jonas.bjurel@ericsson.com)
    • Kumari, Sudha (NFV BU) sudha.kumari@hp.com
    • M R (Chengappa cm-r@hp.com)
    • Palani Chinnakannan (pals@cisco.com)
    • Peter Hladky (peter.hladky@pantheon.sk)
    • Reinaldo Penno (rapenno@gmail.com)
    • Stefan Berg K (stefan.k.berg@ericsson.com)
    • Prakash Ramchandran (prakash.ramchandran@huawei.com)
    • Wes Hayutin (whayutin@redhat.com)
    • Xiong Zhang (zhangxiong7@huawei.com )
  • Contributors
    • Alan Pevec (apevec@redhat.com)
    • Chris Price (christopher.price@ericsson.com)
    • Dave Neary (dneary@redhat.com)
    • Frank Brockners (fbrockne@cisco.com)
    • Ian Wells (iawells@cisco.com)
    • Jonas Bjurel (jonas.bjurel@ericsson.com)
    • Jun Li (matthew.lijun@huawei.com)
    • Kumari, Sudha (NFV BU) sudha.kumari@hp.com
    • M R (Chengappa cm-r@hp.com)
    • Marika Rytkonen (marika.rytkonen@nsn.com)
    • Markus Berglund (markus.berglund@nsn.com)
    • Palani Chinnakannan (pals@cisco.com)
    • Paul Quinn (paulq@cisco.com)
    • Peter Hladky (peter.hladky@pantheon.sk)
    • Ashlee Young (ashlee@onosfw.com)
    • Qiqi Hu (huqiqi@huawei.com)
    • Reinaldo Penno (rapenno@gmail.com)
    • Stefan Berg K (stefan.k.berg@ericsson.com)
    • Vasile Radoaka (radoaca.vasile@huawei.com)
    • Deepak Unnikrishnan (deepak.cu@gmail.com)
    • Carlos Goncalves (carlos.goncalves@neclab.eu)
    • Dirk Kutscher (dirk.kutscher@neclab.eu)
    • Xiong Zhang (zhangxiong7@huawei.com )
    • Jia He (hejia1@huawei.com)
    • Dongren Zhao (zhaodongren@huawei.com )
    • Yu Zhang (zhangyu11@huawei.com )
    • Julien (zhang.jun3g@zte.com.cn)
    • Jiang zhifeng(jiang.zhifeng@zte.com.cn)
    • Vagish Shanmukh (vagishs@gmail.com)

Planned deliverables

Project deliverables:

  • “Bootstrap/Get started” install scripts for automated deployment of the test setup to a virtual environment and bare metal environment
  • Test scripts to allow for automated system level testing (Component health check (OpenStack, OVS, OpenDaylight / SDN Controller, lifecycle manage VNFs, create services using example VNFs).
  • Comprehensive source-to-tested-deployment script for running the entire system start to end for either use in development (deployed system is interesting), performance testing (performance results are interesting) or CI (test passes and failures are interesting).

Proposed Release Schedule

The project initial deliverable (“Bootstrap/Get started” install scripts for virtual environment, test scripts for automated system level testing) is expected to be available in time for OPNFV release #1.

  • No labels