Yardstick Release Note

License

OPNFV Danube release note for Yardstick Docs are licensed under a Creative Commons Attribution 4.0 International License. You should have received a copy of the license along with this. If not, see <http://creativecommons.org/licenses/by/4.0/>.

The Yardstick framework, the Yardstick test cases and the ApexLake experimental framework are opensource software, licensed under the terms of the Apache License, Version 2.0.

OPNFV Danube Release Note for Yardstick

Abstract

This document describes the release note of Yardstick project.

Version History

Date Version Comment
  3.0 Yardstick for Danube release
May 4th, 2017 2.0 Yardstick for Danube release
Mar 31st, 2017 1.0 Yardstick for Danube release

Important Notes

The software delivered in the OPNFV Yardstick Project, comprising the Yardstick framework, the Yardstick test cases and the experimental framework Apex Lake is a realization of the methodology in ETSI-ISG NFV-TST001.

The Yardstick framework is installer, infrastructure and application independent.

OPNFV Danube Release

This Danube release provides Yardstick as a framework for NFVI testing and OPNFV feature testing, automated in the OPNFV CI pipeline, including:

  • Documentation generated with Sphinx
    • User Guide
    • Developer Guide
    • Release notes (this document)
    • Results
  • Automated Yardstick test suite (daily, weekly)
    • Jenkins Jobs for OPNFV community labs
  • Automated Yardstick test results visualization
    • Dashboard using Grafana (user:opnfv/password: opnfv), influxDB is used as backend
  • Yardstick framework source code
  • Yardstick test cases yaml files
  • Yardstick plug-in configration yaml files, plug-in install/remove scripts

For Danube release, the Yardstick framework is used for the following testing:

  • OPNFV platform testing - generic test cases to measure the categories:
    • Compute
    • Network
    • Storage
  • OPNFV platform network service benchmarking(NSB)
    • NSB
  • Test cases for the following OPNFV Projects:
    • High Availability
    • IPv6
    • KVM
    • Parser
    • StorPerf
    • VSperf
    • virtual Traffic Classifier

The Yardstick framework is developed in the OPNFV community, by the Yardstick team. The virtual Traffic Classifier is a part of the Yardstick Project.

Note

The test case description template used for the Yardstick test cases is based on the document ETSI-ISG NFV-TST001; the results report template used for the Yardstick results is based on the IEEE Std 829-2008.

Release Data

Project Yardstick
Repo/tag yardstick/Danube.2.0
Yardstick Docker image tag Danube.2.0
Release designation Danube
Release date May 4th, 2017
Purpose of the delivery OPNFV Danube release 2.0

Deliverables

Software Deliverables

Contexts

Context Description
Heat Models orchestration using OpenStack Heat
Node Models Baremetal, Controller, Compute
Standalone Models VM running on Non-Managed NFVi

Runners

Runner Description
Arithmetic Steps every run arithmetically according to specified input value
Duration Runs for a specified period of time
Iteration Runs for a specified number of iterations
Sequence Selects input value to a scenario from an input file and runs all entries sequentially

Scenarios

Category Delivered
Availability

Attacker:

  • baremetal, process

HA tools:

  • check host, openstack, process, service
  • kill process
  • start/stop service

Monitor:

  • command, process
Compute
  • cpuload
  • cyclictest
  • lmbench
  • lmbench_cache
  • perf
  • unixbench
  • ramspeed
  • cachestat
  • memeoryload
  • computecapacity
Networking
  • iperf3
  • netperf
  • netperf_node
  • ping
  • ping6
  • pktgen
  • sfc
  • sfc with tacker
  • vtc instantion validation
  • vtc instantion validation with noisy neighbors
  • vtc throughput
  • vtc throughput in the presence of noisy neighbors
  • networkcapacity
  • netutilization
  • nstat
Parser Tosca2Heat
Storage

fio

storagecapacity

StorPerf storperf
NSB vPE thoughput test case

API to Other Frameworks

Framework Description
ApexLake Experimental framework that enables the user to validate NFVI from the perspective of a VNF. A virtual Traffic Classifier is utilized as VNF. Enables experiments with SR-IOV on Compute Node.

Test Results Output

Dispatcher Description
file Log to a file.
http Post data to html.
influxdb Post data to influxDB.

Delivered Test cases

  • Generic NFVI test cases
    • OPNFV_YARDSTICK_TCOO1 - NW Performance
    • OPNFV_YARDSTICK_TCOO2 - NW Latency
    • OPNFV_YARDSTICK_TCOO4 - Cache Utilization
    • OPNFV_YARDSTICK_TCOO5 - Storage Performance
    • OPNFV_YARDSTICK_TCOO8 - Packet Loss Extended Test
    • OPNFV_YARDSTICK_TCOO9 - Packet Loss
    • OPNFV_YARDSTICK_TCO10 - Memory Latency
    • OPNFV_YARDSTICK_TCO11 - Packet Delay Variation Between VMs
    • OPNFV_YARDSTICK_TCO12 - Memory Bandwidth
    • OPNFV_YARDSTICK_TCO14 - Processing Speed
    • OPNFV_YARDSTICK_TCO24 - CPU Load
    • OPNFV_YARDSTICK_TCO37 - Latency, CPU Load, Throughput, Packet Loss
    • OPNFV_YARDSTICK_TCO38 - Latency, CPU Load, Throughput, Packet Loss Extended Test
    • OPNFV_YARDSTICK_TCO42 - Network Performance
    • OPNFV_YARDSTICK_TCO43 - Network Latency Between NFVI Nodes
    • OPNFV_YARDSTICK_TCO44 - Memory Utilization
    • OPNFV_YARDSTICK_TCO55 - Compute Capacity
    • OPNFV_YARDSTICK_TCO61 - Network Utilization
    • OPNFV_YARDSTICK_TCO63 - Storage Capacity
    • OPNFV_YARDSTICK_TCO69 - Memory Bandwidth
    • OPNFV_YARDSTICK_TCO70 - Latency, Memory Utilization, Throughput, Packet Loss
    • OPNFV_YARDSTICK_TCO71 - Latency, Cache Utilization, Throughput, Packet Loss
    • OPNFV_YARDSTICK_TCO72 - Latency, Network Utilization, Throughput, Packet Loss
    • OPNFV_YARDSTICK_TC073 - Network Latency and Throughput Between Nodes
    • OPNFV_YARDSTICK_TCO75 - Network Capacity and Scale
    • OPNFV_YARDSTICK_TCO76 - Network frame error rate
  • Test Cases for OPNFV HA Project:
    • OPNFV_YARDSTICK_TCO19 - HA: Control node Openstack service down
    • OPNFV_YARDSTICK_TC025 - HA: OpenStacK Controller Node abnormally down
    • OPNFV_YARDSTICK_TCO45 - HA: Control node Openstack service down - neutron server
    • OPNFV_YARDSTICK_TC046 - HA: Control node Openstack service down - keystone
    • OPNFV_YARDSTICK_TCO47 - HA: Control node Openstack service down - glance api
    • OPNFV_YARDSTICK_TC048 - HA: Control node Openstack service down - cinder api
    • OPNFV_YARDSTICK_TCO49 - HA: Control node Openstack service down - swift proxy
    • OPNFV_YARDSTICK_TC050 - HA: OpenStack Controller Node Network High Availability
    • OPNFV_YARDSTICK_TCO51 - HA: OpenStack Controller Node CPU Overload High Availability
    • OPNFV_YARDSTICK_TC052 - HA: OpenStack Controller Node Disk I/O Block High Availability
    • OPNFV_YARDSTICK_TCO53 - HA: OpenStack Controller Load Balance Service High Availability
    • OPNFV_YARDSTICK_TC054 - HA: OpenStack Virtual IP High Availability
  • Test Case for OPNFV IPv6 Project:
    • OPNFV_YARDSTICK_TCO27 - IPv6 connectivity
  • Test Case for OPNFV KVM Project:
    • OPNFV_YARDSTICK_TCO28 - KVM Latency measurements
  • Test Case for OPNFV Parser Project:
    • OPNFV_YARDSTICK_TCO40 - Verify Parser Yang-to-Tosca
  • Test Case for OPNFV StorPerf Project:
    • OPNFV_YARDSTICK_TCO74 - Storperf
  • Test Cases for Virtual Traffic Classifier:
    • OPNFV_YARDSTICK_TC006 - Virtual Traffic Classifier Data Plane Throughput
  • Benchmarking Test:
    • OPNFV_YARDSTICK_TC007 - Virtual Traffic Classifier Data Plane Throughput
  • Benchmarking in presence of noisy neighbors Test:
    • OPNFV_YARDSTICK_TC020 - Virtual Traffic Classifier Instantiation Test
    • OPNFV_YARDSTICK_TC021 - Virtual Traffic Classifier Instantiation in presence of noisy neighbors Test

Version Change

Module Version Changes

This is the fourth tracked release of Yardstick. It is based on following upstream versions:

  • ONOS Ibis
  • OpenStack Newton
  • OpenDaylight Boron

Document Version Changes

This is the fourth tracked version of the Yardstick framework in OPNFV. It includes the following documentation updates:

  • Yardstick User Guide: add “network service benchmarking(NSB)” chapter; add “Yardstick - NSB Testing -Installation” chapter; add “Yardstick API” chapter; add “Yardstick user interface” chapter; Update Yardstick installation chapter;
  • Yardstick Developer Guide
  • Yardstick Release Notes for Yardstick: this document

Feature additions

  • Yardstick RESTful API support
  • Introduce Network service benchmarking
  • Introduce stress testing with Bottlenecks team
  • Yardstick framework improvement:
    • Parellel test cases execution support
    • yardstick report CLI
    • Node context support openstack configuration via Ansible
    • Https support
  • Python 3 support

Scenario Matrix

For Danube 2.0, Yardstick was tested on the following scenarios:

Scenario Apex Compass Fuel Joid
os-nosdn-nofeature-noha     X X
os-nosdn-nofeature-ha X X X X
os-odl_l2-nofeature-ha   X X X
os-odl_l2-nofeature-noha     X  
os-odl_l3-nofeature-ha X X X  
os-odl_l3-nofeature-noha     X  
os-onos-sfc-ha        
os-onos-nofeature-ha   X   X
os-onos-nofeature-noha        
os-odl_l2-sfc-ha     X  
os-odl_l2-sfc-noha     X  
os-odl_l2-bgpvpn-ha X   X  
os-odl_l2-bgpvpn-noha     X  
os-nosdn-kvm-ha X   X  
os-nosdn-kvm-noha     X  
os-nosdn-ovs-ha     X  
os-nosdn-ovs-noha     X  
os-ocl-nofeature-ha   X    
os-nosdn-lxd-ha       X
os-nosdn-lxd-noha       X
os-nosdn-fdio-ha X      
os-odl_l2-fdio-noha X      
os-odl-gluon-noha X      
os-nosdn-openo-ha   X    
os-nosdn-kvm_ovs_dpdk -noha     X  
os-nosdn-kvm_ovs_dpdk-ha     X  
os-nosdn-kvm_ovs_dpdk _bar-ha     X  
os-nosdn-kvm_ovs_dpdk _bar-noha     X  
opnfv_os-ovn-nofeature- noha_daily X      

Test results

Test results are available in:

The reporting pages can be found at:

Known Issues/Faults

  • Floating IP not supported in bgpvpn scenario
  • VM instance cannot get floating IP in compass-os-odl_l2-nofeature-ha scenario

Note

The faults not related to Yardstick framework, addressing scenarios which were not fully verified, are listed in the OPNFV installer’s release notes.

Corrected Faults

Danube.2.0:

JIRA REFERENCE SLOGAN
JIRA: YARDSTICK-608 Set work directory in Yardstick container
JIRA: YARDSTICK-616 Bugfix: https support should adapt insecure situation
JIRA: YARDSTICK-620 Yardstick virtualenv support
JIRA: YARDSTICK-621 Bugfix: fix query job status in TC074
JIRA: YARDSTICK-622 Bugfix: take test case modification into effect in load_images.sh
JIRA: YARDSTICK-623 change openrc file path to /etc/yardstick/openstack.creds
JIRA: YARDSTICK-624 Add opnfv_os-ovn-nofeature-noha_daily test suite
JIRA: YARDSTICK-628 Bugfix: Make tc019 and tc025 accept –task-args options
JIRA: YARDSTICK-629 Bugfix: yardstick env prepare cmd do not support other installer
JIRA: YARDSTICK-632 Bugfix: KeyError when using http dispatcher
JIRA: YARDSTICK-633 Bugfix: Environment Compatibility Issues in HA Test Cases
JIRA: YARDSTICK-634 fix ha issue when run tc050~tc054 in ci
JIRA: YARDSTICK-635 Bugfix: Local Openstack Operation in HA test frameworks

Danube.1.0:

JIRA REFERENCE SLOGAN
JIRA: YARDSTICK-599 Could not load EntryPoint.parse when using ‘openstack -h’
JIRA: YARDSTICK-602 Don’t rely on staic ip addresses as they are dynamic

Danube 2.0 known restrictions/issues

Installer Scenario Issue
any *-bgpvpn Floating ips not supported. Some Test cases related to floating ips are excluded.
any odl_l3-* Some test cases related to using floating IP addresses fail because of a known ODL bug.
compass odl_l2-* In some test cases, VM instance will failed raising network interfaces.

Open JIRA tickets

JIRA REFERENCE SLOGAN
JIRA: YARDSTICK-626 Fio and Lmbench don’t work in Ubuntu-arm64 image
JIRA: YARDSTICK-603 Timeout waiting for floating ip (which actually pingable)
JIRA: YARDSTICK-412 IPv6 test case should add support for newton