FUNCTEST IN DEPTH -...

51
FUNCTEST IN DEPTH Jose Lausuch (Ericsson) OPNFV Summit 2015 [email protected]

Transcript of FUNCTEST IN DEPTH -...

FUNCTEST IN DEPTH

Jose Lausuch (Ericsson)

OPNFV Summit 2015

[email protected]

Agenda

09/11/2015 Functest in Depth, OPNFV Summit 2015 2

What is Functest?

Test cases

Repository structure

CI & Automation

Brahmaputra Release

OPNFV Projects ecosystem

09/11/2015 Functest in Depth, OPNFV Summit 2015 3

TEST Projects

Yardstick

Qtip

VPerf

FEATURE Projects VPN

SFC

SDN Contr.

Resource mgmt.

PHAROS

Testbed

OCTOPUS (CI) RELENG

INSTALLER Projects Fuel

Foreman

JOID

Compass

Functest

Testbed Testbed Testbed Testbed

What is Functest?

09/11/2015 Functest in Depth, OPNFV Summit 2015 4

What we do…

Focus on verifying the OpenStack deployment and

the SDN Controllers

Have a full integration and automation mechanism

Provide comprehensive testing methodology

09/11/2015 Functest in Depth, OPNFV Summit 2015 5

Base System Functionality Testing

09/11/2015 Functest in Depth, OPNFV Summit 2015 6

ETSI NFV Reference

WE DON’T:

Performance tests

HW tests

Frameworks

The gang…

09/11/2015 Functest in Depth, OPNFV Summit 2015 7

The project…

09/11/2015 Functest in Depth, OPNFV Summit 2015 8

source: Bitergia (http://projects.bitergia.com/opnfv) date: November 2015

Functest Testcases Arno

09/11/2015 Functest in Depth, OPNFV Summit 2015 9

Functest Testcases

vPing test case

Create machines and verify connectivity

ODL test case

Robot framework, ODL functional testing

Rally bench tests

Benchmark the OpenStack deployment

Tempest test

OpenStack native tests (100+ smoke-tests) 09/11/2015 Functest in Depth, OPNFV Summit 2015 10

Functest Testcases

vPing test case

Create machines and verify connectivity

09/11/2015 Functest in Depth, OPNFV Summit 2015 11

VM2

vPing test case

09/11/2015 Functest in Depth, OPNFV Summit 2015 12

VM1

provisional Neutron network

Functest Testcases

ODL test case

Robot framework, ODL functional testing

09/11/2015 Functest in Depth, OPNFV Summit 2015 13

ODL test case

09/11/2015 Functest in Depth, OPNFV Summit 2015

14

Dashboard/API (Horizon)

Compute Storage Networking (Neutron) …..

ML2 Plug-in

Northbound API

ODL – Neutron REST API

OVSDB

OVS Nodes

ODL test cases

09/11/2015 Functest in Depth, OPNFV Summit 2015 15

Borrowed from ODL repository

4 basic test cases:

Check ODL Restconf

Create/Delete/Check Network

Create/Delete/Check Subnet

Create/Delete/Check Port

Functest Testcases

Rally bench tests

Benchmark the OpenStack deployment

09/11/2015 Functest in Depth, OPNFV Summit 2015 16

Rally

09/11/2015 Functest in Depth, OPNFV Summit 2015 17

Rally is a benchmarking tool that answers the question:

“How does OpenStack work at scale?”.

Rally - scenario example

09/11/2015 Functest in Depth, OPNFV Summit 2015 18

Runners: • Serial: launch scenario N times in one thread • Constant: launch scenario N times in M parallel threads • RPS: generates N threads per second M times

Success criteria (SLA) • You can define a maximum time per iteration • It will skip the test if 1 iteration fails

Context: • Contexts needed for this scenario (tenants/users)

Rally - output

09/11/2015 Functest in Depth, OPNFV Summit 2015 19

Functest Testcases

Tempest test

OpenStack native tests (100+ smoke-tests) 09/11/2015 Functest in Depth, OPNFV Summit 2015 20

Tempest test

09/11/2015 Functest in Depth, OPNFV Summit 2015 21

Tempest is a set of integration tests to be run against a live OpenStack cluster

Rally performs the tempest installation and generation of tempest.conf

Functest Structure today

09/11/2015 Functest in Depth, OPNFV Summit 2015 22

Directory structure

09/11/2015 Functest in Depth, OPNFV Summit 2015 23

Main configuration script. Installs needed tools (Rally, Robot, …)

Configuration parameters

SDN Controllers test suites

Openstack related tests (Rally, Tempest)

vPing test case

Dockerfile and automation scripts

Format results to dashboard ready and other utils

vIMS test case

Configuration file

09/11/2015 Functest in Depth, OPNFV Summit 2015 24

Configuration yaml file

Predefined tested values

Can be given as an input to Functest

Possible to specify commit IDs of the used repositories

Versioning control

CI & Aut

09/11/2015 Functest in Depth, OPNFV Summit 2015 25

tion

CI & Automation

09/11/2015 Functest in Depth, OPNFV Summit 2015 26

Functest Jenkins job

Triggered automatically after a successful deployment

One macro per test case

You can execute a single test From Jenkins

CI & Automation

09/11/2015 Functest in Depth, OPNFV Summit 2015 27

Daily verification of OPNFV platform

New Features

JENKINS

BUILD

DEPLOYMENT

FUNCTEST

YARDSTICK

….

Execution of tests

09/11/2015 Functest in Depth, OPNFV Summit 2015 28

Target POD

Jumphost

Don’t worry sir, I’ll do it for you

jjob

Brahmaputra release

09/11/2015 Functest in Depth, OPNFV Summit 2015

Functest in Brahmaputra release

Dockerization

Test Result collection

Dashboard

Virtual IMS test case

+ SDN Controllers tests

Feature projects

09/11/2015 Functest in Depth, OPNFV Summit 2015 30

Docker -ization

09/11/2015 Functest in Depth, OPNFV Summit 2015 31

Functest Docker

09/11/2015 Functest in Depth, OPNFV Summit 2015 32

$docker run -t opnfv/functest $dir/run_test.sh

Functest Docker

09/11/2015 Functest in Depth, OPNFV Summit 2015 33

Without Docker With Docker

• Have to install needed libraries in your jumphost

• Maintain in the documentation the needed libraries and dependencies

• Possible OS dependencies

• Not portable

• Needed libraries preinstalled in the docker image

• Update image when there is a new software dependency and push to the OPNFV Docker Hub

• No OS dependencies

• Portable

Execution of tests

09/11/2015 Functest in Depth, OPNFV Summit 2015 34

Target POD

Jumphost

Docker Hub

Don’t worry sir, I’ll do it for you

jjob

MRF PCRF CSCF

HSS

vIMS test case

09/11/2015 Functest in Depth, OPNFV Summit 2015 35

vIMS test case

Full automation of a core Open Source vIMS solution on OPNFV from Clearwater

Deployment of an orchestrator (Cloudify) to manage the VNF

Run suite of signaling tests on vIMS

Successfully tested from Jenkins on LinuxFoundation POD2

09/11/2015 Functest in Depth, OPNFV Summit 2015 36

SIP

vIMS test case

09/11/2015 Functest in Depth, OPNFV Summit 2015 37

1) Deploy the orchestrator

2) Create the tenant

3) Create the VNF (10 VMs)

4) Launch test suite (more

than 100 signaling tests)

5) Collect results

6) Clean-up

SDN Controllers

09/11/2015 Functest in Depth, OPNFV Summit 2015 38

SDN Controllers

Extension of OpenDaylight test cases

Integration of ONOS test framework

Open Contrail test

09/11/2015 Functest in Depth, OPNFV Summit 2015 39

Test results collection

09/11/2015 Functest in Depth, OPNFV Summit 2015 40

Test results collection

09/11/2015 Functest in Depth, OPNFV Summit 2015 41

Test projects

Mongo DB

REST API

VPerf Yardstick QTIP Bottlenecks Functest …

Test results collection - API

Filter per test case – http://<DB_Public_IP>/results?case=vPing

Filter per pod – http://<DB_Public_IP>/results?pod=opnfv-jump-2

Filter per project – http://<DB_Public_IP>/results?project=yardstick

Combination of filters – http://<DB_Public_IP>/results?project=functest&case=Tempest&pod=opnfv-jump-2

09/11/2015 Functest in Depth, OPNFV Summit 2015 42

Dashboard

09/11/2015 Functest in Depth, OPNFV Summit 2015 43

Dashboard

Show all the results using simplistic graphs

Possible to filter per project/test case/…

Comparison of previous results with recent ones

09/11/2015 Functest in Depth, OPNFV Summit 2015 44

Dashboard Draft

09/11/2015 Functest in Depth, OPNFV Summit 2015 45

Beyond Brahmaputra

09/11/2015 Functest in Depth, OPNFV Summit 2015 46

New functional test (vCPE, vHGW, vCDN, …) Results analytics Better Rally usage More SDN controllers test integration Broaden test coverage (security, O&M, …)

Lessons learned in Arno

09/11/2015 Functest in Depth, OPNFV Summit 2015 47

Need for stable labs some weeks before the release Need to run the tests on different PODs from CI Complex troubleshooting Functest cannot solve all problems

Challenges

09/11/2015 Functest in Depth, OPNFV Summit 2015 48

Different OpenStack installers Different SDN controllers Many features

Lots of combinations to be tested !!

Summary

09/11/2015 Functest in Depth, OPNFV Summit 2015 49

First test project in OPNFV Validate a fresh OPNFV deployment Umbrella for testing projects Umbrella for feature projects We don’t bite, come to us with questions

09/11/2015 Functest in Depth, OPNFV Summit 2015 50

Thank you!

09/11/2015 Functest in Depth, OPNFV Summit 2015 51