Skip to content

Latest commit

 

History

History
143 lines (94 loc) · 4.31 KB

File metadata and controls

143 lines (94 loc) · 4.31 KB

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 Equinix Metal 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

network_overview

Any other pictures needed here?

openstack


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 Equinix Metal 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 m2.xlarge.x86 server from Equinix Metal.

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

Caveats:

  • 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 an Equinix Metal account.

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


Steps to execute performance test

  1. Install prereq software on your desktop machine

    1. docker
    2. git
  2. Create Equinix Metal account

  3. Create Equinix Metal 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 Equinix Metal details
    5. load environment variables
    git clone --depth 1 git@github.com:cncf/cnfs.git
    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 Equinix Metal
      1. quad intel additional steps
    2. Equinix Metal Layer 2 setup
    3. Execute k8s test
    ./deploy_k8s_test_case
    ./????packet_l2_setup
    ./run_k8s_test_case
    

Still need final script names and locations

  1. Openstack deploy and test execution
    1. Build Openstack cluster on Equinix Metal
      1. quad intel additional steps
    2. Equinix Metal Layer 2 setup
    3. Execute Openstack test
    ./deploy_openstack_test_case
    ./????packet_l2_setup
    ./run_openstack_test_case
    ``
    

Still need final script names and locations

Where do people go looking for results?