5.19. Neutron ML2/ODL Performance testing

status

draft

version

1.0

Abstract

This document describes how control plane and network data plane performance testing is conducted on an OpenStack Cloud using the Neutron ML2/ODL plugin. The control plane performance is going to be analyzed in terms of response time and the parameters used to characterize the data plane performance are throughput in Mbps and latency in milliseconds and number of Request-Response Transactions.

5.19.1. Test Plan

Characterize the resource consumption, control plane response time and network performance of an OpenStack Cloud using the Neutron ML2/ODL Plugin. Control plane response time is measured when creating and listing common Neutron resources as well as during actions that require interaction between Neutron and other OpenStack services such as Nova. Network plane performance is measured for both TCP and UDP protocols, with throughput, latency and Request-Response benchmarks for TCP and Packets Per Second (PPS) and loss for UDP.

5.19.1.1. Test Environment

5.19.1.1.1. Preparation

TripleO is the vehicle used for deploying OpenStack with the ML2/ODL Neutron Plugin.

5.19.1.1.2. Environment description

The environment description includes hardware specs, software versions, tunings and configuration of the OpenStack Cloud under test.

5.19.1.1.2.1. Hardware

List details of hardware for each node type here.

Deployment node (Undercloud)

Parameter

Value

model

Dell PowerEdge r630

CPU

2xIntel(R) Xeon(R) E5-2683(28Cores/56Threads)

Memory

126 GB

Disk

2 x 1TB SATA

Network

1 x Intel X710 Quad Port 10G

Controller

Parameter

Value

model

Dell PowerEdge r630

CPU

2xIntel(R) Xeon(R) E5-2683(28Cores/56Threads)

Memory

126 GB

Disk

2 x 1TB SATA

Network

1 x Intel X710 Quad Port 10G

Compute

Parameter

Value

model

Dell PowerEdge r630

CPU

2xIntel(R) Xeon(R) E5-2683(28Cores/56Threads)

Memory

126 GB

Disk

2 x 1TB SATA

Network

1 x Intel X710 Quad Port 10G

Additional Hardware for testing/monitoring/results

  • Performance Monitoring Host (Carbon/Graphite/Grafana)

  • Performance Results Host (ElasticSearch/Kibana)

5.19.1.1.2.2. Software

Parameter

Value

OS

RHEL 7.3

OpenStack

Newton

Hypervisor

KVM

Neutron plugin

ML2/OVS

L2 segmentation

VxLAN

5.19.1.1.2.3. System Performance Monitoring

Record System performance metrics into a separate metrics collection/storage/analysis system. Suggested system would be a separate machine with Carbon, Graphite, and Grafana with dashboards for monitoring system resource utilization. To push metrics into the TSDB, collectd can/should be installed on all monitored machines. (Deployment, Controllers, and Computes)

5.19.1.2. Test Case 1

5.19.1.2.1. Description

Create and list Neutron resources such as networks, routers etc and measure the response time of the API.

5.19.1.2.2. List of performance metrics

Priority

Value

Measurement Units

Description

1

Reponse Time

seconds

Time taken for API to respond

5.19.1.3. Test Case 2

5.19.1.3.1. Description

Create and list servers on a subnet and compare time taken for server to go into ACTIVE. This is an important test case as ML2/OVS and ML2/ODL have both take different approaches when notifying NOVA that the network is ready.

5.19.1.3.2. List of performance metrics

5.19.1.4. Test Case 3

5.19.1.4.1. Description

Using Browbeat to run Shaker, measure Latency of UDP small packets, TCP throughput and Request-responses in each of L2, L3-East-West and L3-North-South Scenarios.

5.19.1.4.2. List of performance metrics

5.19.1.5. Tools

Browbeat is used to orchestrate several Rally and Shaker scenarios and results are pushed to Elasticsearch for easy visualization through Kibana.

5.19.1.5.1. Setup

  1. Deploy OpenStack Cloud using TripleO

  2. Install testing and monitoring tooling

  3. Gather metadata on Cloud

  4. Run tests

5.19.1.5.2. Analysis

Review System performance metrics graphs during test duration to observe for stopping/failure conditions. Review testing harness output for test failure conditions. API response time and several statistics associated with it such as percentiles can be obtained from Rally and Shaker output. Compare ML2/OVS with ML2/ODL.