The OPNFV project—a common integration and testing platform to facilitate NFV deployments that defines a consistent, functional stack—differs from more traditional code-based open source projects in that its work is focused upstream. Rather than re-event many wheels, the project leverages a variety of existing code bases from leading open source projects across compute, storage, and networking and fills gaps where needed to meet strict carrier-grade end user requirements. This approach is difficult and requires an extremely complicated set of requirements, but the result is a much needed common, de facto platform for the industry to test and build NFV products and services. OPNFV director Heather Kirksey spoke during LinuxCon North America 2016 on why the community chose to take this integrated approach, what’s been successful, and key lessons learned from this unique project.
5. Meanwhile the world was changing….
Rise of Open Source
Virtualization
Cloud
Software Defined
Networking
Rise of Open Source
Virtualization
Cloud
Software Defined
Networking
10. OPNFV is a carrier-
grade, integrated,
open source platform
to accelerate the
introduction of new
NFV products and
services.
11. OPNFV Project Goals
• Develop and test an integrated open source
platform
• Include participation of end users
• Contribute to and participate in relevant
open source projects
• Establish an ecosystem for NFV solutions
12. Governance
• A Business (Board) and Technical (TSC) governance
structure separates business decisions from meritocratic,
technical decisions
Financial oversight Oversight of all
marketing: web,
PR/AR,
branding, etc.
Policy oversight
Projects drive code
development,
testing, integration
and reference
platform releases
TSC sets
technical
direction for the
overall Project
Board sets business
direction and scope for the
Project
Certification
and
compliance
oversight
Strategic
direction
oversight
22. OPNFV Testing Approaches
• Functional:
• Functest: base system functionality, component testing, VIM
• Performance/System:
• Yardstick: End to end system level based on ETSI TST001
• Bottlenecks: Verify OPNFV boundaries in staging before bringing VNFs
• StorPerf: Storage performance for any VNF
• VSPerf: Virtual Switch characterization
• CPerf: Controller performance
• PolicyTest: Policy testing
• QTip: Bare metal focus (compute, network, storage)
• For discussion of testing ecosystem, see:
https://wiki.opnfv.org/display/functest/Testing
23. Functional Testing: Project FuncTest
A: ODL suite
Robot framework, ODL
functional testing
B: ONOS suite
TestON framework
B: vIMS
OpenSource solution by
Clearwater
B: Promise
Resource reservation and
management project
B: Doctor
Fault management and
maintenance project
B: BGPVPN
OpenStack
Neutron BGPVPN project
integration
A: vPing SSH
Verify private & public
connectivity
A: vPing userdata
Verify nova-metadata
service and private
connectivity
A: Tempest test
OpenStack native tests
(200+ tests)
A: Rally bench tests
Benchmark the OpenStack
deployment
Brahmaputra Additions
Brahmaputra Additions
25. Example testing activity in OPNFV:
System-Level testing: Project YardStick
Pre-Deployment
validation of NFVI
Control plane/User plane
Main components
Real time constraints
Hardware
Metrics
Test cases 1 … N
Test stimuli
Test environment
ETSI GS
NFV-TST001
Chapter 6
Pre-Deployment
validation
of NFV
infrastructure
- System under Test
(SUT)
- Deployment rules
- Execute benchmarks
- Trigger External
scripts
for SUT disturbances
- Collect results
- Graphical
results
- Assertion
- Generate template
or
- External templates
YardStick Test-Framework
30. Building/evolving features means contributing upstream.
Team Up To Drive Required Change Upstream
Swimming upstream
is hard
Team-up to increase
the likelihood to succeed
Swimming upstream
is dangerous
31. Feature Development Example:
OPNFV Doctor Project – Fault Management
“Doctor” creates a fault management and maintenance
framework
See also: https://wiki.opnfv.org/display/doctor
Project Blueprint Status
Ceilometer Event Alarm Evaluator
Completed
(Liberty)
Nova
New nova API call to mark
nova-compute down
Completed
(Liberty)
Support forcing service down
Completed
(Liberty)
Get valid server state
Completed
(Mitaka)
Add notification for service
status change
Completed
(Mitaka)
32. Feature Evolution Example: OPNFV SFC Project
• Objective: Verify ODL SFC in
system level deployments
• Brahmaputra Yardstick tests:
• TC029: VM Creation
• Verify that only 2 Service Function
VMs are created for Service
Chains Chain1 and Chain2
• TC030: Block HTTP
• Verify that Client1 can not do
HTTP traffic, but can do SSH traffic
• TC031: Block SSH
• Verify that Client2 can not do SSH
traffic, but can do HTTP traffic
See also: https://wiki.opnfv.org/display/sfc
34. System Level CI/CD:
OPNFV Octopus and Releng Projects
Install on
reference
system(s)
Test on
reference system(s)
Lab1
Lab2
Lab3
Lab1
Lab2
Lab3
Integrate & build*
as a system
Choice of existing and new components,
System state definition
35. Pharos Project
Goals:
•Facilitate collaborative testing
•Provide developers with substantial
resources
•Ensure OPNFV applicability across
architectures, environments and
vendors
•Create more robust, interoperable
releases https://www.opnfv.org/developers/pharos
https://wiki.opnfv.org/display/pharos/Pharos+Home
36. Arno (June 4, 2015)
• First OPNFV Release
• Nine Months after project launch