Table of Contents

Project Name:

Project description:

  1. provide a documented baseline using release candidates of opnfv hw/sw ingredients
  2. release testing of OPNFV's official releases
  3. provide a "sandbox" for developer testing
  4. bottom-up benchmarking & performance testing, all the software and tooling required
  1. The first diagram shows a high level working model for release testing and how this project may interact with other projects

Scope:

A well established test bed is a critical resource to achieve opnfv's goals. Among these goals, integration of upstream source distributions, operational tools, other software components, hardware infrastructure, validation tools, well thought out quality assurance, well thought out performance metrics benchmarking,… rely heavily on a well established / well understood test bed.

Many developers may not have either the resources or the time or the inclination to create and maintain such a test bed on their own. It is a substantial challenge to create such an infrastructure in sizable / realistic scale. The well designed / well documented "sandbox" environment can improve developer efficiency and accelerate opnfv's project progress. This benefit can be extended most of the projects.

Benchmarking a network function can be a complex undertaking with many variables. This project focuses on a bottom-up approach and will likely meet the need of another project that focuses on specific ETSI defined use cases from top down.

Test bed infrastructure and tooling project extends to all the SW and HW components needed to establish and operate such a test bed. It should:

  1. support both micro/macro level testing, virtual infrastructure level, or VNFC or VNF level testing
  2. can host multi-origin/multi-vendor VNFs, i.e. compositions of vnfc's
  3. support sanity, regression, functional, and performance/benchmark testing
  4. covers both hw and sw components

The test bed will support the following functionality:

  1. Access tools: ID/authentication, onboarding, terms of use
  2. Access tools: Web access
  3. Access tools: Console access
  4. Physical access
  5. Access tools: Reservation / multi-user/tenant
  6. On-boarding of vnf/vnfc tools
  7. Test automation tools
  8. Devops tools
  9. Diagnostic, logging, monitoring tools
  10. Test load generators, benchmark tools: sw, hw, open source, commercial
  11. Test VNFs, common target or auxiliary VNFs - these VNFCs or VNFs are needed for testing, benchmarking, and for helping developers building their own test scenarios
  12. A standard set of bottom-up test cases
  13. inter-testbed connectivity emulation, if needed
  14. stand-alone nfvc connectivity emulation, if needed
  15. documentation, api reference, test reports

The following diagram shows the high level reference of the test beds and view of the interfaces:

In high level, the interfaces are:

For the first release, may be only the "user interface" is required.

Release candidates are delivered from CI project. We need to work out a release candidate cadence in practice to (i) have stability of the test bed for developers who rely on a stable environment, and (ii) meet the need of testing the latest release candidate. A suitable cadence needs to be worked out, or a rolling scheme.

More complex NFV use cases may be built on the top of this test bed platform. Those use cases may have separate projects / subgroups dedicated to each of them. Additional tooling may be required for specific use cases. But commonly shared test tooling should all be included in this project.

Some of the testing and benchmarking may be significantly expedited or improved if we can leverage commercial products, either SW and HW. In these cases, some software tools may be required to make the resource available for shared use.

Debugging and tracing are part of main deliverable for all in scope testing/benchmarking.

Test plans of platform level and tool level instrumentation will be covered in this project. It is assumed that a sister NFV use case project(s) will produce higher level use cases in a top-down approach.

Covered in this project includes tools that may go to a developer's client, e.g. for emulation of certain network connectivity. Most of other "client" tools may be supported with web UI.

See above in "Scope" section.

In scope:

  1. Bottom-up test cases that validate the functions of a release
  2. Bottom-up benchmark / performance tests
  3. VNF sw to support the above goals
  4. Automation tools to support the above
  5. Software and hardware tools that support developer sandbox
  6. VNF, devops, etc. sw to support the sandbox
  7. Shared common tools

Out of scope:

  1. Complex NFV use cases

The project may be expanded in several dimensions: Just some examples.

  1. Additional / different hardware flavors or designs or models
  2. Additional software variations as the overall opnfv support expands, e.g. Linux distribution, OpenStack distributions, Hypervisor / Containers, etc.
  3. Each release of opnfv will bring in new functions
  4. New methods of interacting with the test beds
  5. New instances of test beds
  6. New tools and test cases / use cases that the test bed can support

Testability: ''(optional, Project Categories: Integration & Testing)''

Documentation: ''(optional, Project Categories: Documention)''

Dependencies:

Committers and Contributors:

Planned deliverables

Proposed Release Schedule:

This will be part of the first release.

Yes.