functest in depth - events.static.linuxfound.org · what is functest? 09/11/2015 functest in depth,...

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

Upload: others

Post on 25-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

FUNCTEST IN DEPTH

Jose Lausuch (Ericsson)

OPNFV Summit 2015

[email protected]

Page 2: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Agenda

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

What is Functest?

Test cases

Repository structure

CI & Automation

Brahmaputra Release

Page 3: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 4: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

What is Functest?

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

Page 5: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 6: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

ETSI NFV Reference

WE DON’T:

Performance tests

HW tests

Frameworks

Page 7: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

The gang…

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

Page 8: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

The project…

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

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

Page 9: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Functest Testcases Arno

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

Page 10: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 11: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Functest Testcases

vPing test case

Create machines and verify connectivity

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

Page 12: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

VM2

vPing test case

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

VM1

provisional Neutron network

Page 13: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Functest Testcases

ODL test case

Robot framework, ODL functional testing

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

Page 14: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 15: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 16: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Functest Testcases

Rally bench tests

Benchmark the OpenStack deployment

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

Page 17: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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?”.

Page 18: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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)

Page 19: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Rally - output

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

Page 20: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Functest Testcases

Tempest test

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

Page 21: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 22: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Functest Structure today

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

Page 23: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 24: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 25: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

CI & Aut

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

tion

Page 26: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 27: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

CI & Automation

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

Daily verification of OPNFV platform

New Features

JENKINS

BUILD

DEPLOYMENT

FUNCTEST

YARDSTICK

….

Page 28: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 29: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Brahmaputra release

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

Page 30: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 31: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Docker -ization

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

Page 32: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Functest Docker

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

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

Page 33: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 34: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 35: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

MRF PCRF CSCF

HSS

vIMS test case

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

Page 36: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 37: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 38: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

SDN Controllers

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

Page 39: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 40: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Test results collection

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

Page 41: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Test results collection

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

Test projects

Mongo DB

REST API

VPerf Yardstick QTIP Bottlenecks Functest …

Page 42: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 43: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Dashboard

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

Page 44: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 45: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Dashboard Draft

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

Page 46: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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, …)

Page 47: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 48: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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 !!

Page 49: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 50: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

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

Page 51: FUNCTEST IN DEPTH - events.static.linuxfound.org · What is Functest? 09/11/2015 Functest in Depth, OPNFV Summit 2015 4 . What we do… Focus on verifying the OpenStack deployment

Thank you!

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