use epa for nfv & test with opnvf* yardstick*

24
Intel® Confidential — INTERNAL USE ONLY Use EPA for NFV & Test with OPNVF* Yardstick* Jim Chamings, Intel DRD/Datacenter Scale Engineering Out of the Box Network Developers Meetup, 9/20/2017

Upload: michelle-holley

Post on 21-Jan-2018

97 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Use EPA for NFV & Test with OPNVF* Yardstick*

Intel® Confidential — INTERNAL USE ONLY

Use EPA for NFV & Test with OPNVF* Yardstick* Jim Chamings, Intel DRD/Datacenter Scale Engineering

Out of the Box Network Developers Meetup, 9/20/2017

Page 2: Use EPA for NFV & Test with OPNVF* Yardstick*

2

Legal Notices and Disclaimers

This presentation is for informational purposes only. INTEL MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.

Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. Check with your system manufacturer or retailer or learn more at intel.com.

This sample source code is released under the Intel Sample Source Code License Agreement.

Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others. Copyright © 2017, Intel Corporation. All rights reserved.

Page 3: Use EPA for NFV & Test with OPNVF* Yardstick*

3

Today’s Agenda

•  Introductions, Mine and Yours

•  Technology Preview: OpenStack* EPA, OPNFV*, Yardstick*, NSB

•  Demonstrations

•  Building Yardstick

•  Yardstick ping

•  Reconfigure for EPA

•  Yardstick ping test repeat

•  Summary / Q&A

Page 4: Use EPA for NFV & Test with OPNVF* Yardstick*

Introductions

Page 5: Use EPA for NFV & Test with OPNVF* Yardstick*

5

Let’s Get to Know One Another

Me

•  Sr. Software Engineer, 21+ years with Intel

•  Not at all new to Cloud, but quite new to NFV

You?

Page 6: Use EPA for NFV & Test with OPNVF* Yardstick*

Technology preview OpenStack* EPA, OPNFV*, & Yardstick*

Page 7: Use EPA for NFV & Test with OPNVF* Yardstick*

7

OpenStack* Enhanced Platform Awareness (EPA)

•  What is it? It’s a whole raft of code that’s been contributed (primarily to Nova*) to enable cloud operators to direct workloads to specific compute node capabilities.

•  Some of the capabilities exposed through EPA:

•  CPU features

•  PCI passthrough •  Non-uniform Memory Access (NUMA) awareness

•  Open vSwitch* (OVS*)-DPDK •  Many others

Page 8: Use EPA for NFV & Test with OPNVF* Yardstick*

8

Open Platform for Network Function Virtualization*

•  What Is It? A Linux Foundation* project aimed at creating reference platforms for NFV by providing common integration, deployment, and testing frameworks.

•  (What it’s not...)

•  Currently the runnable portion is a set of four possible OpenStack* (or Kubernetes*) distributions, called ‘Installers’.

•  We’ll be using one called ‘Apex*’ today.

•  It’s also a set of test frameworks, of which Yardstick* is one.

•  Release code names: Brahamaputra, Colorado, Danube, Euphrates

Page 9: Use EPA for NFV & Test with OPNVF* Yardstick*

9

OPNFV* Yardstick*

•  What Is It? A test framework, sample test cases, and test stimuli aimed at allowing operators to verify infrastructure compliance when running VNF applications.

•  Most test cases are ‘decomposed’ into the basics that VNFs depend on: network throughput/latency tests, storage performance tests, CPUs, and so on.

•  You’ll see familiar tools like ping, iperf, and netstat, as well as more complicated test suites (and VNFs as well).

•  Yardstick can work against any heat-enabled OpenStack* Cloud (not just OPNFV).

•  Yardstick tests can also be written to work against preconfigured nodes—no cloud required (current Network Services Benchmark is like this).

Page 10: Use EPA for NFV & Test with OPNVF* Yardstick*

10

Network Services Benchmarking

•  NSB is a plugin for Yardstick*.

•  "GOAL: Extend Yardstick to perform real-world VNFs and NFVi characterization and benchmarking with repeatable and deterministic methods.” –  http://docs.opnfv.org/en/stable-danube/submodules/yardstick/docs/testing/user/userguide/13-nsb-overview.html#abstract

•  As of this writing, the test cases that have been added to NSB work with predefined bare metal nodes.

•  OpenStack* / Heat support is planned for the near-ish future.

•  NSB development offers the promise that this demo’s title conveys.

Page 11: Use EPA for NFV & Test with OPNVF* Yardstick*

Demonstration

Page 12: Use EPA for NFV & Test with OPNVF* Yardstick*

The demo environment

12

Page 13: Use EPA for NFV & Test with OPNVF* Yardstick*

13

Page 14: Use EPA for NFV & Test with OPNVF* Yardstick*

14

Building OPNFV-Apex

•  There are four possible OPNFV* installers: Compass*, Apex*, Fuel*, and Juju OPNFV Infrastructure Deployer(JOID)*.

•  Apex offers a functional all-in-one virtual deployment that utilizes nested KVM, which is why I chose it for this session.

•  Currently deploys OpenStack* Newton release (10/2016).

•  Instructions link: •  http://docs.opnfv.org/en/stable-danube/submodules/apex/docs/release/

installation/index.html#apex-installation

Page 15: Use EPA for NFV & Test with OPNVF* Yardstick*

15

Building OPNFV-Apex (cont’d.)

•  All installers of OPNFV* offer ‘scenarios’. The scenarios are named in a specific format:

•  {virtual infrastructure manager}-{SDN}-{NFV technology}-{HA/No HA}

•  Examples:

•  os-odl_l2-fdio-ha = Openstack, OpenDayLight w/Layer-2 support, include FD.io support, use High Availability deployment.

•  os-nosdn-kvm-noha = Openstack, no SDN support, use KVM, no High Availability (single controller).

•  This is the scenario used in the demo environment.

Page 16: Use EPA for NFV & Test with OPNVF* Yardstick*

16

Building Yardstick*

•  Running a Docker* container is the easiest way, by far!

•  Configure it with --privileged so that report tools (InfluxDB*, Grafana*) can be generated automatically.

•  Configure to pass through OpenStack* credentials.

•  Environment setup will build Cirros*, Ubuntu*, and Yardstick test images, and upload them into the test cloud.

Page 17: Use EPA for NFV & Test with OPNVF* Yardstick*

17

Yardstick* Simple Ping

•  Located in /home/opnfv/repos/yardstick/samples/ping.yaml

•  Simple test scenario, generates heat template with two VMs, sets up a ping between them.

•  The ‘runner’ is the part of the framework that actually executes the test.

•  Generates data which can be transformed into an HTML report (or fed to dashboard application).

Page 18: Use EPA for NFV & Test with OPNVF* Yardstick*

18

Reconfigure for EPA

•  The demo was configured with two identical compute node VMs. I altered one of them to use OVS* with DPDK instead of the base deployment of OVS.

•  In doing so, and by connecting the ‘server’ up to OpenStack* in the proper fashion, I enabled the capability to schedule to it using EPA code.

•  Specifically, the use of the ‘hw:mem_page_size=2MB’extra key, applied to a new flavor for launching VMs, ensures that VMs are launched with the huge pages they need to access vhostuser interfaces on the DPDK-enabled host.

•  The actual details of doing this reconfiguration work are a bit beyond the scope of this presentation and demo.

Page 19: Use EPA for NFV & Test with OPNVF* Yardstick*

19

Reconfigure for EPA – Flavor Detail

Page 20: Use EPA for NFV & Test with OPNVF* Yardstick*

20

Repeat Yardstick* Ping Test

•  Reconfigure the .yaml file that defines the test to use the new flavor instead of the old.

•  Redirects test VMs to the new compute host.

•  In my test environment, this resulted in a drop from 1-2ms to sub-1ms latency.

•  Note that interfaces are being created as ‘dpdkvhostuser’ on the enabled host, and how traffic is being directed via the EPA code.

Page 21: Use EPA for NFV & Test with OPNVF* Yardstick*

Summary / Q&A

Page 22: Use EPA for NFV & Test with OPNVF* Yardstick*

22

Summary: OpenStack* EPA testing with Yardstick*

•  Testing out OPNFV* and Yardstick is relatively simple in a virtualized environment, and worth a spin to see if it’s useful for NFV operators and developers.

•  Yardstick can also be deployed against existing orchestrators and nodes, to test live environments.

•  Test cases are growing rapidly, and soon basic VNFs will be easy to use as well.

•  Network Services Benchmarking will offer a comprehensive VNF benchmarking framework in time. It’s worth getting familiar with it now.

Page 23: Use EPA for NFV & Test with OPNVF* Yardstick*

Q&A

23

Page 24: Use EPA for NFV & Test with OPNVF* Yardstick*