operating opnfv
TRANSCRIPT
Operating OPNFV: Deploy it, test it, run your VNF
Frank Brockners
OPNFV TSC MemberDistinguished Engineer, Cisco
June 15th, 2015
…
OpenSource as the Basis for the Evolution Of The Network Software Stack
ApplicationSoftware
InfrastructureSoftware
EmbeddedSoftware
Network OS Guest Apps/Plugins
OrchestrationSoftware
ManagementSoftware
OptimizationSoftware
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
2023-04-15
Systems-integration is hard
OPNFV provides system integration for NFV as a community-led open-source effort.
Assembling A Platform For NFV
• “This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together.”
Doug McIlroy
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
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
PortalNetworkControl
Hypervisor Virtual Forwarder
Virtual disks(block storage)
Data-Base
Compute Storage OperationsInfraNetwork
OrchestrationObject store
Telemetry
Test
Verify
Benchmark
Test VNFs
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 TempestRobot
Rally
Sample VNFs
See also: https://wiki.opnfv.org/get_started/get_started_system_state
…And Add Continuous Integration and Deployment
KVMOpenDaylightOpenStackOpenVSwitch<future component><your component>
Install on reference system(s)
Test on reference system(s)
Choice of existing components* & System state definition
Lab1Lab2
Lab3
Lab1Lab2
Lab3
Integrate & build* as a system
*OPNFV currently composes builds fromexisting artifacts (e.g. RPMs) ratherthan builds from source
Deploying OPNFV
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 VNFon the deployedOPNFV platform
• 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 runservices that are required themselves
– Remote access for community members
– Lights-out-management (IPMI, PXE boot)
Choose your Hardware:OPNFV Reference Infra
Jumphost
Controlnode
Controlnode
Controlnode
Computenode
Computenode
Computenode
Computenode
Controlnode
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 processor2 x 1.2 TB 6G SAS 10K RPM SFF disks, 32G Memory
InstallerVM
TestInfra
See also: https://wiki.opnfv.org/pharos/pharos_specification
• 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
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
OpenStack
HA
OVS
vPing vIMS VNFs
Virtual Forwarder…
… …
OVS
vPing vIMS VNFs
Virtual Forwarder…
… …
Future: ODL clustering
• 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
17
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
• Have a nice day
2023-04-15
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)
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 InstallerSetup Installer
Configure parameters, choose components (“pod.yml”)Parameterize OPNFV environment
Manual and automated deployment&
Deployment Tool and Target OPNFV SystemObjective: “Many Installers – one OPNFV”
BASE VM Manager INSTALLATION OPNFV-INSTALLATION and MAINTENANCE
Common Configuration
(PuppetManifests)
System level tests
(Rally, Robot) …
Phase 1: Vanilla VM-manager installby one of the available installers.
Once complete, installer “terminates”.
Phase 2: OPNFV specific installationsand 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-casesdefine and validatetarget system state
2023-04-15
OPNFV Testing
• Initial Test Focus: Leverage Scenario tests from upstream; Run a set of sample VNFs
• Future: OPNFV specific scenario tests
Verify(scenario tests)
Benchmark(generate user load)
Report(generate reports)
Deployment
Tempest(invoked by Rally)
Rally
Rally
Robot
Robot
OpenStackscenarios
OpenDaylightscenarios
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
2023-04-15
Rally
Robot
Rally
Rally/Tempest
Test samples
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
23
24
Evolve And Influence OPNFVTweak OPNFV to your needs
Kicking The Wheel:Leverage And Tweak OPNFV
2023-04-15
KVMOpenDaylightOpenStackOpenVSwitch<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 yourcomponent
2023-04-15
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
Further details: https://www.opnfv.org/sites/opnfv/files/release/opnfv-jenkins-slave-connection.arno.2015.1.0.pdfCurrent Jenkins slaves: https://build.opnfv.org/ci/computer/
OPNFV Jenkins master
Your Lab
Community Lab A
Community Lab ..
Jenkins slaveOPNFV’s slave.jar
Jenkins slaveOPNFV’s slave.jar
Jenkins slaveOPNFV’s slave.jar
Customized ComponentsReplace OPNFV choices to meet your individual needs: Example
Leverage OPNFV tool chain to integrate and validate
• Define your use-cases
• Create associated scenario tests (Tempest, Robot)
• Get them integrated into OPNFV
• Consider to contribute them toOPNFV: Your use-case will be part of OPNFV evolution
Your Use-Cases in OPNFV
• 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
Summary & Closing Thoughts
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?
2023-04-15
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?
2023-04-15
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?
Thank you!