Axa Assurance Maroc - Insurer Innovation Award 2024
Operating OPNFV
1. Operating OPNFV:
Deploy it, test it, run your VNF
Frank Brockners
OPNFV TSC Member
Distinguished Engineer, Cisco
June 15th, 2015
2. …
OpenSource as the Basis for the Evolution Of The Network
Software Stack
Application
Software
Infrastructure
Software
Embedded
Software
Network OS Guest Apps/Plugins
Orchestration
Software
Management
Software
Optimization
Software
Base OS:
Linux, …
Base Control
Infrastructure
virtual physical
Protocols:
IETF, IEEE, …
Applications
…
Appliances PaaS
• Systems/Solutions
• Management and operations (orchestration & NFV)
• Service assurance: Fault, performance,
resource management and service analytics …
• Network control models, APIs
• Open Systems Integration
5. • “This is the Unix philosophy:
Write programs that do one thing and do
it well. Write programs to work together.”
Doug McIlroy
6. Theme: “Run my VNF for real”
Assemble a minimal set of base infrastructure to enable real-world VNF
deployments
• Predictable performance – Deploy to bare metal
• Validated – Functional testing, multiple test environments
• Repeatable – Automatic deployment
• Carrier-class – High availability
Do One Thing and Do It Well – “dotadiw”
Creating a starting point for OPNFV
See also: https://wiki.opnfv.org/get_started/get_started_system_state
7. Do One Thing and Do It Well – “dotadiw”
Base infrastructure requirements: Components
VM control
Store Images
(VNFs)
Identity
Services /AAA
Message Bus
Cluster Comms
HA &
Loadbalance
Portal
Network
Control
Hypervisor
Virtual
Forwarder
Virtual disks
(block storage)
Data-Base
Compute Storage OperationsInfraNetwork
OrchestrationObject store
Telemetry
Test
Verify
Benchmark
Test VNFs
8. Do One Thing and Do It Well – “dotadiw”
Choosing a minimal set of base infrastructure
O/S Nova O/S Glance
O/S Keystone
RabbitMQ
Corosync
PaceMaker
O/S HorizonOpenDaylight
KVM OpenvSwitchO/S Cinder
MySQL
Compute Storage OperationsInfraNetwork
O/S HeatO/S Swift
O/S Ceilometer
Test
O/S Tempest
Robot
Rally
Sample VNFs
See also: https://wiki.opnfv.org/get_started/get_started_system_state
9. …And Add Continuous Integration and Deployment
KVM
OpenDaylight
OpenStack
OpenVSwitch
<future component>
<your component>
Install on
reference system(s)
Test on
reference system(s)
Choice of existing components*
& System state definition
Lab1
Lab2
Lab3
Lab1
Lab2
Lab3
Integrate & build*
as a system
*OPNFV currently composes builds from
existing artifacts (e.g. RPMs) rather
than builds from source
11. Getting ready to run a VNF on OPNFV
Prepare Deploy Run
• What hardware to
run OPNFV on?
• Where to run
OPNFV?
• What OPNFV
software to install?
• How to deploy the
OPNFV software?
• How to test the
OPNFV deployment?
• How to run a VNF
on the deployed
OPNFV platform
12. • Servers
– >= 3 Control nodes
– >= 2 Compute nodes
– 1 Provisioning node (“jumphost”)
(Centos 7, runs test infra and installer VM)
• Services
– No additional services (e.g. DHCP)
available on subnets. Installers run
services that are required themselves
– Remote access for community members
– Lights-out-management (IPMI, PXE boot)
Choose your Hardware:
OPNFV Reference Infra
Jumphost
Control
node
Control
node
Control
node
Compute
node
Compute
node
Compute
node
Compute
node
Control
node
Traffic
subnet(s)
O&M
subnet(s)
FirewallInternet
Example HW (Linux Foundation lab):
Blade servers with 80G connectivity each (Cisco UCS-B)
Per server:
Intel Xeon E5-2637V3 / 3.5 GHz processor
2 x 1.2 TB 6G SAS 10K RPM SFF disks, 32G Memory
Installer
VM
Test
Infra
See also: https://wiki.opnfv.org/pharos/pharos_specification
13. • OPNFV offers a set of community test labs
• Compliant to OPNFV hardware reference
spec
• Individual hardware components for
custom/advanced testing
Build your own lab or choose an OPNFV community lab
See also: https://wiki.opnfv.org/pharos
https://www.opnfv.org/sites/opnfv/files/release/pharos-spec.arno.2015.1.0.pdf
14. OPNFV System Summary View
OPNFV Confidential
Automatic System Test
Control Node #1
(Centos)
Control Node #2
(Centos)
HA
Compute Node #1
(Centos 7)
Linux
Control Node #3
(Centos)
Automatic setup/install Rally/Tempest, Robot
ODL
Compute Node #2
(Centos 7)
Linux
Open
Stack
HA
OVS
vPing vIMS VNFs
Virtual Forwarder…
… …
OVS
vPing vIMS VNFs
Virtual Forwarder…
… …
Future: ODL clustering
15. • OPNFV system software:
main delivery vehicle
– Bootable disk image (ISO format)
to install jumphost
– Jumphost drives installation of
OPNFV system
• Alternative
– Install script (“deploy.sh”) to
automatically install the jumphost
from repositories
OPNFV Artifacts for Deployment
Arno ISO images: https://www.opnfv.org/software/download
Find latest ISO images in http://build.opnfv.org/artifacts/
Deploy scripts: https://git.opnfv.org/cgit/genesis/tree/foreman/ci/deploy.sh
https://git.opnfv.org/cgit/genesis/tree/fuel/deploy/deploy.sh
16. Deployment in a Nutshell
• Document your node roles, addresses etc.
• Cable your servers and configure any networking gear needed
• Deploy (and optionally customize) your jumphost (“build server”)
• Kick-off control nodes, compute node deployment, network setup
• Download images and upload into Glance
• Boot instance, test connectivity
• Modify setup to meet your needs
17
• Have a nice day
17. Install and Deployment - Concept
• Installer setup,
parametrization of
environment, setup and
deployment of OPNFV
can be automated
• Details of individual
deployment steps differ
by installer (e.g.
Foreman, Fuel)
2015-06-24
Put node into build mode with BMC reboot
PXE-boot nodes
Install host OS and associated control infra (Puppet etc.)
Install roles specific software on nodes
Setup and Deploy OPNFV
Deploy and Configure Installer
Setup Installer
Configure parameters, choose components (“pod.yml”)
Parameterize OPNFV environment
Manual and automated deployment&
18. Deployment Tool and Target OPNFV System
Objective: “Many Installers – one OPNFV”
BASE VM Manager INSTALLATION OPNFV-INSTALLATION and MAINTENANCE
Common
Configuration
(Puppet
Manifests)
System level
tests
(Rally, Robot)
…
Phase 1: Vanilla VM-manager install
by one of the available installers.
Once complete, installer “terminates”.
Phase 2: OPNFV specific installations
and maintenance. Goal: Phase 2 to be as
independent from base installer as possible
Foreman
Fuel
OpenStack Installer xvy…
Arno
Arno
See also https://wiki.opnfv.org/get_started/get_started_installer_approach
OPNFV test-cases
define and validate
target system state
19. OPNFV Testing
• Initial Test Focus:
Leverage Scenario tests from upstream; Run a set of sample VNFs
• Future: OPNFV specific scenario tests
2015-06-24
Verify
(scenario tests)
Benchmark
(generate user load)
Report
(generate reports)
Deployment
Tempest
(invoked by Rally)
Rally
Rally
Robot
Robot
OpenStack
scenarios
OpenDaylight
scenarios
Deploy
VNF
vPing, vIMS*
Manual and automated testing&
See also: https://wiki.opnfv.org/opnfv_functional_testing
https://www.opnfv.org/sites/opnfv/files/release/functest.arno.2015.1.0.pdf
*Note: vIMS isn‘t included in Arno
21. Ready! Run your own VNFs
Cinder create a volume
Create a new SSH key-pair and add it to Nova
Choose a VNF image and upload the image to Glance
Create a tenant network + router
Spawn VNF instance and link to criteria set above
Ensure VNF spawned (horizon, nova list, or ssh)
Check connectivity: Ping your VNF
Bring up any other Traffic Generator instances, verify test traffic to VNF
25. Kicking The Wheel:
Leverage And Tweak OPNFV
2015-06-24
KVM
OpenDaylight
OpenStack
OpenVSwitch
<future component>
<your component>
Install on
reference system(s)
Integrate & build
as a system
Requirements
<your test-cases>
(can incl. your VNFs)
Indirect:
Use-cases defined
as test cases
Direct:
Feature enhancements
through collab. development
Test on
reference system(s)
Run your VNF
Add your
component
26. Synchronize your Tool Chain with OPNFV:
Continuously deploy OPNFV to your lab
• Create an
OPNFV
compliant lab
• Hook-up your
local Jenkins to
OPNFV
• Continuously
deploy to your
lab
2015-06-24
Further details: https://www.opnfv.org/sites/opnfv/files/release/opnfv-jenkins-slave-connection.arno.2015.1.0.pdf
Current Jenkins slaves: https://build.opnfv.org/ci/computer/
OPNFV Jenkins
master
Your Lab
Community Lab A
Community Lab ..
Jenkins slave
OPNFV’s slave.jar
Jenkins slave
OPNFV’s slave.jar
Jenkins slave
OPNFV’s slave.jar
28. • Define your use-cases
• Create associated scenario
tests (Tempest, Robot)
• Get them integrated into
OPNFV
• Consider to contribute them to
OPNFV: Your use-case will be
part of OPNFV evolution
Your Use-Cases in OPNFV
29. • OPNFV has a project category
for “requirements projects”:
– “Projects which focus on
gathering and documenting
OPNFV related requirements”
• Gather momentum and drive
requirements as a community;
within OPNFV and with other
upstream communities and
SDOs
Your requirements articulated via OPNFV
See also: https://www.opnfv.org/developers/technical-project-governance/project-lifecycle
31. Summary
• OPNFV – Systems-integration as an
open, meritocratic, community effort
• Starting point (“Arno” release):
– “dotadiw” approach to get started
– Lab/developer focused first release
– “Run my VNF for real” mind set:
Deploy to bare metal with HA
– Instantiate cross-project CI/CD tool chain
– Distributed lab infrastructure
• Multiple ways to leverage and participate in OPNFV: Run your VNF, get
your use-cases/test-cases implemented, articulate your requirements
– User uptake to determine OPNFV’s success:
Can common merit be achieved quickly enough to achieve industry
acceptance?
32. Summary
• OPNFV – Systems-integration as an open, meritocratic, community effort
• Starting point (“Arno” release):
– “dotadiw” approach to get started
– Lab/developer focused first release
– “Run my VNF for real” mind set: Deploy to bare metal with HA
– Instantiate cross-project CI/CD tool chain
– Distributed lab infrastructure
• Multiple ways to leverage and participate in OPNFV: Run your VNF, get your
use-cases/test-cases implemented, articulate your requirements
– User uptake to determine OPNFV’s success:
Can common merit be achieved quickly enough to achieve industry acceptance?
2015-06-24
33. Closing thoughts
• NFV base infrastructure is a natural candidate for
open-source and community driven development
– “Hard work” – “Low on IP”, … but integration is still an art
• NFV base infrastructure has a strong systems-integration aspect:
Choose vs. Choice
– Systems-integration is about picking, choosing and Trust
– Open-Source is about creating choice and recognizing merit created
… Could a meritocratic approach provide for a solution?
• Create and Maintain one Open Platform for NFV – adhere to “dotiadiw”
– Verification (test driven) definition of OPNFV target system state moving forward?
2015-06-24