Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Comparing chained network function CNF deployment models

This directory provides a way to reproduce chained vnf vs cnf testing results.

What is the goal?

To compare the performance of NF's on Openstack and Kubernetes with a reproducable set of steps.

  • Using for bare metal provisioning
  • Minimal user prerequisite software (ssh,git,docker)
  • Minimal scripted steps to setup, execute tests and destroy

Where are we now 12/18 ?

Need to fill in the blanks

  • Hand altering of BIOS and GRUB for quad port Intel NIC's

Example pictures showing test topologies for comparison


Any other pictures needed here?


Openstack testbed details

  • Openstack version
  • Openstack installation details?

Need to fill in the blanks

Kubernetes testbed details

  • K8s version

Need to fill in the blanks

Worker/compute Equipment in use at packet hosting CNF and VNFs

The Kubernetes and Openstack clusters will have 2-3 machines which run the network functions.

Specs at a glance:

  • CPU: Dual socket Xeon Gold 5120 (2.2Ghz)
  • Cores: 24 per CPU (48 total)
  • Memory: 384 GB of DDR4 ECC
  • Storage: 3.2 TB of NVMe Flash
  • NIC: Quad port Intel x710

The system hardware configuration is based on the Packet m2.xlarge.x86.

The default dual port Mellanox ConnectX-4 NIC has been replaced by quad port Intel x710 NIC.. The NIC ports are connected to 10GbE ports on the top-of-rack switches.

Test Results

Current results directory

Links for extensive results or nfvbench logs?

Executing the comparison test


  • As of 12/18 the Quad port Intel NIC is not publically available. It should become publically available in Q1/19.**
  • Some custom BIOS changes will be needed for Quad port Intel
  • This documentation assumes you have a packet account.

CNCF is not responsible for any charges on your account. Please verify that all servers are deleted when your testing is completed via the Packet Portal

Steps to execute performance test

  1. Install prereq software on your desktop machine

    1. docker
    2. git
  2. Create packet account

  3. Create packet account setup variables

    1. preserve your project ID UUID in
    2. create and preserve project-specific api key
    3. add your personal ssh key
  4. Setup environment (dual mellanox test)

    1. Clone the test repository
    2. Change into the test directory
    3. create global environment file from template
    4. edit global.env file with details
    5. load environment variables
    git clone
    cd cnfs/comparison/kubecon18-chained_nf_test
    cp template.env global.env
    emacs global.env
    . ./global.env  
  5. Kubernetes deploy and test execution

    1. Build k8s cluster on packet
      1. quad intel additional steps
    2. packet Layer 2 setup
    3. Execute k8s test

Still need final script names and locations

  1. Openstack deploy and test execution
    1. Build Openstack cluster on packet
      1. quad intel additional steps
    2. packet Layer 2 setup
    3. Execute Openstack test

Still need final script names and locations

Where do people go looking for results?

You can’t perform that action at this time.