opnfv: upstream headwaters to full deployment
TRANSCRIPT
Open Source NFV:Upstream Headwaters to Full Deployment
Chris WrightChief TechnologistRed Hat, Inc.
Software is eating the worldMarc Andreessen
Open SourceSoftware is eating the world
World without Open Source Software
No AmazonNo GoogleNo eBay
No PayPalNo Yahoo!
No SalesforceNo LinkedinNo Twitter
No FacebookNo Alibaba
IT Trend – Infrastructure
CPU
RAM
DISK
BUS
NET
SERVER
SERVERS
STORAGE
NETWORK
DATACENTER
IT Trend – Development
IT Trend – Business
Commoditization Innovation
Modern IT
Everybody wants…
Massive ScaleAgile Business
...to operate like large scale web companies
Gum sales declining
Transportation
FinanceRetail
IT Infrastructure
Media
Software Disrupts Traditional Business
DISRUPT YOURSELF OR BE DISRUPTED
Open Source NFV
Network Functions Virtualization (NFV)
Network Functions are trapped in function specific HW Expensive to procure, integrate, deploy and operate
Virtualize Network Functions (VNFs)Distribute VNFs on COTS-based IaaS – a Cloud
Bring modern data center architecture to Telco networkSteer traffic with SDN
Traffic must traverse chain of functions in well-defined order
Why NFV?
Reduce time-to-market for new services Improve business agility Compete with over-the-top web-based services
Reduce CAPEX and OPEX costs
Virtual Network Function as a Service
Access Router
WAN Optimization
Firewall
CG-NAT
ADC\IPS
NG-Firewall
DPI
Monitoring QoS
(ETSI #2)
Network Functions
Example: VNFaaS
Requires service chaining support in OpenDaylight, OpenStack Neutron
Enable Nova instances as nodes in a Neutron service chain SFC support in OpenDaylight
Performance DPDK-accelerated Open vSwitch
Reliability HA instances in Nova
Virtualized Mobile Base Station
-Multiple RAN technologies from multiple vendors to be consolidated on a single BS to improve utilization -BS virtualization can share resources among multiple logical RAN nodes from different systems.-C-RAN for efficient resource utilization among different physical BSs.-Baseband Unit (BBU) pool with high performance servers and real-time processing for signaling capacity
(ETSI #4)
Example: C-RAN/vRAN
Determinism Real-time patches to KVM
Performance DPDK accelerated Open vSwitch
Reliability at scale HA instances in OpenStack Nova HA OpenStack Fault management and reporting IPv6 support – kernel through Nova, Neutron
NFV is not just OpenStack
NFV is a broad set of Communities
ETSI NFV driving industry trends, documenting functional requirements
OPNFV integrating open source components, communicating needs upstream
OpenStack abstraction/integration of virtual compute, network, storage
libvirt, qemu/KVM, Ceph, OpenDaylight, Open vSwitch
Underlying infrastructure management
Upstream first
Successful changes should be designed, written and proposed with upstreamMaintaining significant out-of-tree patches across multiple projects is unsustainable
Upstream First
Requires discipline (small changes, discussed first)Relationships (your priority might not be their priority)Many communities – not just OpenStack!
Open Source NFV Summary
NFV requires a collection of multiple projectsUse-cases require features which touch many componentsMaintaining forks of multiple projects is unsustainableMultiple service providers and NEPs have similar requirementsEngaging with upstream projects early is required for success
ComputingHardware
StorageHardware
NetworkHardware
Hardware resources
Virtualisation LayerVirtualised
InfrastructureManager(s)
VNFManager(s)
VNF 2
OSS/BSS
NFVI
VNF 3VNF 1
Virtual Computing
Virtual Storage
Virtual Network
EMS 2 EMS 3EMS 1
Service, VNF and Infrastructure Description
Or-Vi
Or-Vnfm
Vi-Vnfm
Os-Ma
Se-Ma
Ve-Vnfm
Nf-Vi
Vn-Nf
Vl-Ha
Orchestrator
OpenStack
LinuxKVM OVS + DPDK
OPNFV
OpenDaylight
Open vSwitch (OVS)
Multi-layer virtual switch Configuration managed w/ OVSDB Flow tables controlled by OpenFlow
Provides connection between VMs on same hostProvides uplink to physical network via host NICData fast path in-kernelChallenges
kernel networking stack can be bottleneck 64 byte packet processing rates suffer Microflows vs. megaflows
DPDK
Library for userspace packet processingDirectly manages NIC with userspace poll mode driver (PMD)
Drivers for both physical and virtual NICsPolls driver NIC for packets, NIC DMAs directly to application buffersPlatform specific optimizations
Hugepages, NUMA and cacheline aware Batched packet processing CPU instructions (SSE4, AVX, etc)
OVS + DPDK
Intel reports improved packet processing rates
NFV Relevant Open Source Projects
Project LOC Change rate Cost
Linux 17,285,731 6000/mo $500M
QEMU 902,252 500/mo $25M
libvirt 566,977 250/mo $15M
OpenDaylight 2,326,260 2000/mo $67M
OpenStack 2,526,686 5000/mo $72M
Open vSwitch 224,121 200/mo $5M
DPDK 1,466,904 200/mo $42M
http://www.openhub.net
Putting it all together
OpenStack ComputeKVM
OVS+DPDK
OpenStack ComputeKVM
OVS+DPDK
OpenStack ComputeKVM
OVS+DPDK
OpenDaylightController
OpenStackNetworking
OpenFlow/OVSDB
ML2_ODL
OPNFV Bootstrap/Getting Startedwith Foreman/Quickstack
Quick Overview/Review
Foreman
Jenkins
Khaleesi
Genesis
QuickStack
Build Scheduler
Ansible Test Framework
Host Provisioning
Foreman Initiated Puppet
Host Provisioning
Configures OpenStack with Puppet
Current Deployment
Single POD in Intel lab with donated hardwareBaremetal hostsForeman server and hosts running CentOS 7Admin (management), Public and Private networksMinimum 2 servers per instance (more with HA)OpenDaylight integration with OpenStack
Topology Overview
Foreman Server
OpenStack Compute
OpenStack Network/ControlOpenDaylightAdmin Network
Private NetworkPublic Network
Foreman Overview
ForemanForeman Proxy Puppet Master
DNSDHCPTFTPBMCPuppet CA
Host GroupsHost DBIP ManagementKickStart TemplatesGlobal Params
GenesisQuickStackOpenStackOpenDaylight
Provisioning Work FlowPut Host into Build Mode with BMC
Reboot
Host PXE Boots using KickStart Template
Foreman provides host associated OS install + Puppet
Host Reboots into OS and starts Puppet
Puppet applies Genesis -> ODL and Quickstack
Foreman/QuickStack – OPNFV Arno Release
OpenStack HA + OpenDaylight achievedAutomatic deployment of OPNFV target system to virtual or baremetal setupsBootable Foreman/QuickStack ISO to assist in deploymentFunctest Integration in a OPNFV CI environment
OPNFV – OpenStack HA + Opendaylight
Only installer to achieve O/S integration with ODL for ArnoAll O/S services required for OPNFV run in HA - https://wiki.opnfv.org/get_started/get_started_system_stateIncludes automatically provisioned external network for tenant accessUses Ceph clustering backend for Cinder
Foreman/QuickStack Automatic Deployment
Uses a simple bash “deploy.sh” script to deploy an entire OpenStack HA + ODL setup (3 control nodes, x compute nodes)Minimal parameters needed – only need IPMI, mac address info of baremetalNetwork information and O/S parameters are dynamically determined at runtimeDeploys to either baremetal or virtual machines
Automatic Deployment Process (baremetal)
deploy.sh -base_config my_settings.yml
Vagrantfile + OPNFV settings created for JumpHost
Vagrant up installs Khaleesi + provisions JumpHost
Khaleesi executes and installs Foreman pre-configured with OPNFV nodes
Khaleesi issues API call to Foreman to rebuild and provision nodes using QuickStack puppet modules
Foreman/QuickStack ISO
To be installed on the JumpHost as it's base OSBased on CentOS 7Contains artifacts to be able to deploy after installation
CI + Functest Integration
Foreman/QuickStack integrated into OPNFV CI environmentOPNFV CI environment is controlled by Jenkins on Linux Foundation hardwareFunctest team triggers a set of tests to execute after a deploy:
Vping VNF test ODL Integration test suite Tempest Smoke Tests Rally benchmark tests
Thank you