OPNFV: Upstream Headwaters to Full Deployment

Preview:

Citation preview

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