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

Current Testing

Overall Objectives

Key goals related to testing:

  • validate current platform support for specific model-driven NFV use cases and model features
  • add value to the FuncTest and CI/CD program of OPNFV by leveraging most (if not all) tests
  • include full documentation inside each test case (see vHello_Tacker.sh for an example), including
    • Use Case Description
    • Pre-State: identifier of required test environment, pre-configuration, etc
    • Test Steps and related Assertions (pass/fail criteria): by identifier
    • Post-State: description of the system state after the test
    • Cleanup: process to return the system to the pre-test state

Test Database Data

Test projects and planned tests are managed through  the Swagger API UI at http://testresults.opnfv.org/test/swagger/spec.html#!/spec/update. Details are below. 

ProjectSwagger API UI Data (create, update)
VES{
"name": "models"
}

 

Complete test database results for Models are available via this query (raw json) or the Swagger UI. This includes default values for fields not set below.

TestSwagger API UI Data (create, update)
Deployment on Cloud-Native VIM

{
"name": "Deployment on Cloud-Native VIM",
"url": "https://git.opnfv.org/models/plain/tests/cloud-native-deploy.sh",
"description": "Deployment of a TOSCA VNF blueprint on a cloud-native NFV platform. Deployment of various applications/VNFs with various blueprint-specified deployment options can be validated by this test."
}

Deployment on OpenStack VIM{
"name": "Deployment on OpenStack VIM",
"url": "https://git.opnfv.org/models/plain/tests/openstack-deploy.sh",
"description": "Deployment of a TOSCA VNF blueprint on an OpenStack-based NFV platform. Deployment of various applications/VNFs with various blueprint-specified deployment options can be validated by this test."
}
Lifecycle Management on Cloud-Native VIM

{
"name": "Lifecycle Management on Cloud-Native VIM",
"url": "https://git.opnfv.org/models/plain/tests/cloud-native-lifecycle.sh",
"description": "Handling of various application/VNF lifecycle events on a cloud-native NFV platform. Lifecycle management of various applications/VNFs with various blueprint-specified lifecycle/policy options can be validated by this test."
}

Lifecycle Management on OpenStack VIM{
"name": "Lifecycle Management on OpenStack VIM",
"url": "https://git.opnfv.org/models/plain/tests/openstack-lifecycle.sh",
"description": "Handling of various application/VNF lifecycle events on an OpenStack-based NFV platform. Lifecycle management of various applications/VNFs with various blueprint-specified lifecycle/policy options can be validated by this test."
}
Cloudify Hello World

{
"name": "vHello_Cloudify",
"url": "https://git.opnfv.org/models/plain/tests/vHello_Cloudify.sh",
"description": "A basic TOSCA blueprint based test using Cloudify as VNFM. A single-node simple python web server, connected to two internal networks (private and admin), and accessible via a floating IP. Based upon the OpenStack Tacker project's 'tosca-vnfd-hello-world' blueprint, modified/extended for testing of Cloudify-supported features as of OpenStack Newton."
}

Tacker Hello World{
"name": "vHello_Tacker",
"url": "https://git.opnfv.org/models/plain/tests/vHello_Tacker.sh",
"description": "A basic TOSCA blueprint based test using Tacker as VNFM. A single-node simple python web server, connected to two internal networks (private and admin), and accessible via a floating IP. Based upon the OpenStack Tacker project's 'tosca-vnfd-hello-world' blueprint, as modified/extended for testing of Tacker-supported features as of OpenStack Newton."
}

Earlier Information (cleanup in progress)

Test Cases

Following is a draft set of use cases, with contributors and relation to SDOs or other OPNFV projects.

Title

Contributors

Related to

DescriptionStatus

vHello_Cloudify

vHello_Tacker

 

Bryan

Cloudify

Tacker

A basic "Hello World" TOSCA blueprint for a single-node Python web server. The same basic design is used in both tests, with the scripts supporting parameters to invoke one or more steps in the sequence:
1) Setup the VNFM by initializing a Ubuntu Xenial docker container and installing the VNFM (Cloudify, Tacker) in the container
2) Install and start the related blueprint (currently VNFM-specific)
3) Stop and uninstall the blueprint
4) Clean the test environment (uninstall blueprints and VNFM)

Tacker: working on JOID and Apex.

Cloudify: working on JOID.

vIMS

Valentin Boucher

3GPP, Cloudify

Deploys Metaswitch's Clearwater IMS through a blueprint developed by Orange for OPNFV.Used in Functest regularly. Needs updating to current Cloudify version.
vLamp_Ansible

Bryan

Ansible

Deploys the Ansible-based lampstack blueprint defined by the OpenStack Operators group for the Interop Challenge.

Will be migrated to a TOSCA-based blueprint.

Ansible: Working on JOID. Apex testing in progress.

OpenWRT

Bryan Attempt to deploy OpenWRT on OPNFV. Will be converted to a TOSCA blueprint once working.Early development.
Intrusion Detector Security, CopperAs described in unobtrusive-intrusion-detection-in-openstack (OpenStack Vancouver), setup a Network IDS (Snort, Suricata) and Host IDS (OSSEC), and run thru various intrusion scenarios.In planning

SFC

Bryan

Copper, SFC, VNFFG

  

Clustering

Bryan

Copper

  

GeoDiversity

 

Multisite

  

Scaling

 

Copper

  

Reservation

 

Promise, RS

  

L3VPN

Bryan

SDNVPN

  

LSO

 

MEF, ODL

  
IoTDMBryanOMA, ODL  
MMSBryanOMA  

vEPC/vIMS/

Prakash

Models/Domino/

VNFFG

Review OAI and Opensource vEPC to expose one or more Descriptors to use in OPPNFV MANO Projects. Link for vEPC : https://github.com/networkedsystemsIITB/NFV_LTE_EPC

Link for OAI : https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirUsage

vIMS: deployment and testing available for OAI with Juju VNFM and ABOT functional and performance testing framework:

https://jujucharms.com/u/abotcharm/abot-oai-epc-bundle/

and for vIMS:

https://jujucharms.com/u/abotcharm/abot-clearwater-ims-bundle/

In planning

Test Design

This section will include an overview of the design approach for each tested use case.

Title

Design Approach

vHelloLeverage vIMS, simplifying it to deploy the Cloudify HelloWorld example blueprint.

vPing

Leverage vPing, adding TOSCA model.

vIMS

Leverage vIMS, documenting model features supported.

SFC

Leverage SFC, adding additional deployment variations to exercise additional features.

Clustering

Leverage vPing, deploy clusters via availability zones and host aggregates.

GeoDiversity

Leverage vPing, deploy clusters via cells and regions.

Scaling

Scale HTTP server VNF up/down/in/out.

Reservation

Leverage Promise tests, adding TOSCA model.

L3VPN

Leverage L3VPN tests, adding TOSCA model.

LSO

Leverage ODL Unimgr YANG model (when available).

IoTDM

Leverage

MMS

Leverage

Test Utilities

 Title

Contributors

Related to

Description
cloudify-setup.shBryan

Cloudify

Setup script for Cloudify Manager and Cloudify CLI based tests.

How to use:
$ bash cloudify-setup.sh [cloudify-cli|cloudify-manager] [init|setup|clean]
cloudify-cli: use Cloudify CLI
cloudify-manager: use Cloudify Manager
init: Initialize docker container
setup: Setup of Cloudify in the docker container
clean: Clean

tacker-setup.shBryanTacker

Setup script for Tacker API (planned) and Tacker CLI based tests.

How to use:
$ bash tacker-setup.sh [tacker-cli|tacker-api] [init|setup|clean]
tacker-cli: use Tacker CLI
tacker-api: use Tacker RESTful API
init: Initialize docker container
setup: Setup of Tacker in the docker container
clean: Clean
ansible-setup.shBryanAnsible

Setup script for Ansible CLI based tests.

How to use:
$ bash ansible-setup.sh [init|setup|clean]
init: Initialize docker container
setup: Setup of Ansible in the docker container
clean: Clean
juju-setup.shBryanJuju

Setup script for Juju CLI based tests.

How to use:
$ bash juju-setup.sh [init|setup|clean]
init: Initialize Juju envrionment
setup: Setup of Juju in the docker container
clean: Clean

scripts to bootstrap Juju on JOID : https://git.opnfv.org/joid/tree/juju

Open Source VNFs

For potential use in model testing: See List Of VNFsReferences.

Test Database Data

Current planned tests for the Colorado release are managed through  the Swagger API UI at http://testresults.opnfv.org/test/swagger/spec.html#!/spec/update. Details are below. 

 

TestSwagger API UI Data (for update of the database as needed)
Cloudify Hello World

{
"name": "vHello_Cloudify",
"url": "https://git.opnfv.org/models/plain/tests/vHello_Cloudify.sh",
"description": "A basic TOSCA blueprint based test using Cloudify as VNFM. A single-node simple python web server, connected to two internal networks (private and admin), and accessible via a floating IP. Based upon the OpenStack Tacker project's 'tosca-vnfd-hello-world' blueprint, modified/extended for testing of Cloudify-supported features as of OpenStack Newton."
}

Tacker Hello World{
"name": "vHello_Tacker",
"url": "https://git.opnfv.org/models/plain/tests/vHello_Tacker.sh",
"description": "A basic TOSCA blueprint based test using Tacker as VNFM. A single-node simple python web server, connected to two internal networks (private and admin), and accessible via a floating IP. Based upon the OpenStack Tacker project's 'tosca-vnfd-hello-world' blueprint, as modified/extended for testing of Tacker-supported features as of OpenStack Newton."
}
OpenBaton Hello World{
"name": "vHello_OpenBaton",
"url": "https://git.opnfv.org/models/plain/tests/vHello_OpenBaton.sh",
"description": "A basic TOSCA blueprint based test using OpenBaton as VNFM. A single-node simple python web server, connected to two internal networks (private and admin), and accessible via a floating IP. Based upon the OpenStack Tacker project's 'tosca-vnfd-hello-world' blueprint, as modified/extended for testing of OpenBaton-supported features as of OpenStack Newton."
}
JuJu Hello World{
"name": "vHello_JuJu",
"url": "https://git.opnfv.org/models/plain/tests/vHello_JuJu.sh",
"description": "A basic TOSCA blueprint based test using Juju as VNFM. A single-node simple python web server, connected to two internal networks (private and admin), and accessible via a floating IP. Based upon the OpenStack Tacker project's 'tosca-vnfd-hello-world' blueprint, as modified/extended for testing of Juju-supported features as of OpenStack Newton."
}
  
  • No labels