From: pmikus Date: Thu, 9 Mar 2023 13:32:33 +0000 (+0000) Subject: feat(docs): Hugo X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=commitdiff_plain;h=b928e56347c682fdb9762ccbe2f368329d4037e4 feat(docs): Hugo Signed-off-by: pmikus Change-Id: Id8b43ef1f31f39b19a0629c52581514fda278f3b --- diff --git a/.gitignore b/.gitignore index a659a44d85..c0a62a7a4c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -# Copyright (c) 2022 Cisco and/or its affiliates. +# Copyright (c) 2023 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -15,8 +15,11 @@ /archive_dir /download_dir /env -# "generated" is a place for autogenerated data, not to pollute git. /generated +/docs/public +/docs/resources +/csit.infra.dash/app/cdocs +.hugo_build.lock outputs output.xml log.html diff --git a/csit.infra.dash/app/app.ini b/csit.infra.dash/app/app.ini index 2b56fdf83c..0f93f34fbf 100644 --- a/csit.infra.dash/app/app.ini +++ b/csit.infra.dash/app/app.ini @@ -1,6 +1,8 @@ [uwsgi] ini = :cdash py-autoreload = 0 +static-index = index.html +static-map = /cdocs/=/app/cdocs/ [cdash] strict = true diff --git a/csit.infra.hugo/docker-compose.yaml b/csit.infra.hugo/docker-compose.yaml new file mode 100644 index 0000000000..5728f5560a --- /dev/null +++ b/csit.infra.hugo/docker-compose.yaml @@ -0,0 +1,23 @@ +version: "3" +services: + init: + image: "klakegg/hugo:ext-alpine" + command: "mod get -u" + volumes: + - "../docs:/src" + build: + image: "klakegg/hugo:ext-alpine" + depends_on: + - "init" + volumes: + - "../docs:/src" + - "../csit.infra.dash:/cdash" + server: + image: "klakegg/hugo:ext-alpine" + command: "server --minify" + depends_on: + - "init" + volumes: + - "../docs:/src" + ports: + - "1313:1313" diff --git a/docs/archetypes/default.md b/docs/archetypes/default.md new file mode 100644 index 0000000000..df18eb8a11 --- /dev/null +++ b/docs/archetypes/default.md @@ -0,0 +1,7 @@ +--- +bookFlatSection: true +bookToc: false +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- \ No newline at end of file diff --git a/docs/config.toml b/docs/config.toml new file mode 100644 index 0000000000..3c02a7ee88 --- /dev/null +++ b/docs/config.toml @@ -0,0 +1,58 @@ +baseURL = 'https://csit.fd.io/cdocs' +languageCode = 'en-us' +title = 'CSIT-DOCS' + +publishDir = '../cdash/app/cdocs' + +# (Optional) Set this to true if you use capital letters in file names +disablePathToLower = true + +# (Optional) Set this to true to enable 'Last Modified by' date and git author +# information on 'doc' type pages. +enableGitInfo = false + +# (Optional) Theme is intended for documentation use, therefore it doesn't render taxonomy. +# You can remove related files with config below +disableKinds = ['taxonomy', 'taxonomyTerm'] + +[module] +[[module.imports]] +path = 'github.com/alex-shpak/hugo-book' + +# Needed for mermaid/katex shortcodes +[markup] +[markup.goldmark.renderer] + unsafe = true + +[markup.tableOfContents] + startLevel = 1 + +[params] + # (Optional, default light) Sets color theme: light, dark or auto. + # Theme 'auto' switches between dark and light modes based on browser/os preferences + BookTheme = 'auto' + + # (Optional, default true) Controls table of contents visibility on right side of pages. + # Start and end levels can be controlled with markup.tableOfContents setting. + # You can also specify this parameter per page in front matter. + BookToC = false + + # (Optional, default docs) Specify section of content to render as menu + # You can also set value to "*" to render all sections to menu + BookSection = '*' + + # (Optional, default January 2, 2006) Configure the date format used on the pages + # - In git information + # - In blog posts + BookDateFormat = 'Jan 2, 2006' + + # (Optional, default true) Enables search function with flexsearch, + # Index is built on fly, therefore it might slowdown your website. + # Configuration for indexing can be adjusted in i18n folder per language. + BookSearch = true + + # (Optional, default true) Enables comments template on pages + # By default partials/docs/comments.html includes Disqus template + # See https://gohugo.io/content-management/comments/#configure-disqus + # Can be overwritten by same param in page frontmatter + BookComments = false diff --git a/docs/content/_index.md b/docs/content/_index.md new file mode 100644 index 0000000000..6f3e0b53e0 --- /dev/null +++ b/docs/content/_index.md @@ -0,0 +1,40 @@ +--- +title: "FD.io CSIT" +type: "docs" +--- + +# Report Structure + +FD.io CSIT Dashboard Documentation contains system performance and functional +testing data. + +Documentation is structured as follows: + +1. INTRODUCTION: General introduction to CSIT Performance Dashboard. + - **Dashboard History**: Version changes. + - **Test Scenarios Overview**: A brief overview of test scenarios + covered in this report. + - **Design**: Framework modular design hierarchy. + - **Test Naming**: Test naming convention. + - **Test Tags Descriptions**: Robot Framework Tags used for test suite and + test case grouping and selection. +2. METHODOLOGY: + - **Overview**: Tested logical topologies, test coverage and naming + specifics. +3. RELEASE NOTES: Performance tests executed in physical FD.io + testbeds. + - **VPP Performance**: Changes, added tests, environment or methodology + changes, known issues. + - **DPDK Performance**: Changes, added tests, environment or methodology + changes, known issues. + - **TRex Performance**: Changes, added tests, environment or methodology + changes, known issues. + - **VPP Device**: Changes, added tests, environment or methodology + changes, known issues. +4. INFRASTRUCTURE: + - **FD.io DC Vexxhost Inventory**: Physical testbeds location. + - **FD.io CSIT Testbed Specifications**: Specification of the physical + testbed infrastructure. + - **FD.io CSIT Testbed Configuration**: Configuration of the physical + testbed infrastructure. + - **Test Environment**: Performance test environment configuration. diff --git a/docs/content/infrastructure/_index.md b/docs/content/infrastructure/_index.md new file mode 100644 index 0000000000..3ccc042a8b --- /dev/null +++ b/docs/content/infrastructure/_index.md @@ -0,0 +1,5 @@ +--- +bookFlatSection: true +title: "Infrastructure" +weight: 4 +--- \ No newline at end of file diff --git a/docs/lab/testbed_specifications.md b/docs/content/infrastructure/fdio_csit_testbed_specifications.md similarity index 94% rename from docs/lab/testbed_specifications.md rename to docs/content/infrastructure/fdio_csit_testbed_specifications.md index fc59465569..20bec11f9f 100644 --- a/docs/lab/testbed_specifications.md +++ b/docs/content/infrastructure/fdio_csit_testbed_specifications.md @@ -1,59 +1,10 @@ -# FD.io CSIT Testbed Specifications +--- +bookToc: true +title: "FD.io CSIT Testbed Specifications" +weight: 2 +--- -1. [Purpose](#purpose) -1. [Testbeds Overview](#testbeds-overview) - 1. [Summary List](#summary-list) - 1. [1-Node-Skylake Xeon Intel (1n-skx)](#1-node-skylake-xeon-intel-1n-skx) - 1. [1-Node-ThunderX2 Arm Marvell (1n-tx2)](#1-node-thunderx2-arm-marvell-1n-tx2) - 1. [1-Node-Cascadelake Xeon Intel (1n-clx)](#1-node-cascadelake-xeon-intel-1n-clx) - 1. [2-Node-IxiaPS1L47 Ixia PSOne L47 (2n-ps1)](#2-node-ixiaps1l47-ixia-psone-l47-2n-ps1) - 1. [2-Node-Cascadelake Xeon Intel (2n-clx)](#2-node-cascadelake-xeon-intel-2n-clx) - 1. [2-Node-Zen2 EPYC AMD (2n-zn2)](#2-node-zen2-epyc-amd-2n-zn) - 1. [2-Node-ThunderX2 Arm Marvell (2x-tx2)](#2-node-thunderx2-arm-marvell-2n-tx2) - 1. [2-Node-Icelake Xeon Intel (2n-icx)](#2-node-icelake-xeon-intel-2n-icx) - 1. [3-Node-Rangeley Atom Testbeds](#3-node-rangeley-atom-testbeds) - 1. [3-Node-TaiShan Arm Huawei (3n-tsh)](#3-node-taishan-arm-huawei-3n-tsh) - 1. [3-Node-Altra Arm Ampere (3n-alt)](#3-node-altra-arm-armpere-3n-alt) - 1. [3-Node-Icelake Xeon Intel (3n-icx)](#3-node-icelake-xeon-intel-3n-icx) - 1. [3-Node-SnowRidge Atom Intel (3n-snr)](#3-node-snowridge-atom-intel-3n-snr) - 1. [2-Node-Full-SapphireRapids Xeon Intel (2nf-spr)](#2-node-full-sapphirerapids-xeon-intel-2nf-spr) - 1. [2-Node-SapphireRapids Xeon Intel (2n-spr)](#2-Node-SapphireRapids-Xeon-Intel-2n-spr) -1. [Server Management](#server-management) - 1. [Addressing](#addressing) -1. [Server Specifications](#server-specifications) - 1. [Server Types](#server-types) - 1. [Naming Convention](#naming-convention) -1. [Testbeds Configuration](#testbeds-configuration) - 1. [Per Testbed Server Allocation and Naming](#per-testbed-server-allocation-and-naming) - 1. [1-Node-Skylake Servers (1n-skx) PROD](#1-node-skylake-servers-1n-skx-prod) - 1. [1-Node-ThunderX2 Servers (1n-tx2) PROD](#1-node-thunderx2-servers-1n-tx2-prod) - 1. [1-Node-Cascadelake Servers (1n-clx) PROD](#1-node-cascadelake-servers-1n-clx-prod) - 1. [2-Node-IxiaPS1L47 Servers (2n-ps1) VERIFY](#2-node-ixiaps1l47-servers-2n-ps1-verify) - 1. [2-Node-Cascadelake Servers (2n-clx) PROD](#2-node-cascadelake-servers-2n-clx-prod) - 1. [2-Node-Zen2 Servers (2n-zn2) PROD](#2-node-zen2-servers-2n-zn2-prod]) - 1. [2-Node-ThunderX2 Servers (2n-tx2) PROD](#2-node-thunderx2-servers-2n-tx2-prod) - 1. [2-Node-Icelake Servers (2n-icx) PROD](#2-node-icelake-servers-2n-icx-prod) - 1. [3-Node-Rangeley Servers (3n-rng) VERIFY](#3-node-rangeley-servers-3n-rng-verify) - 1. [3-Node-Taishan Servers (3n-tsh) PROD](#3-node-taishan-servers-3n-tsh-prod) - 1. [3-Node-Altra Servers (3n-alt) PROD](#3-node-altra-servers-3n-alt-prod) - 1. [3-Node-Icelake Servers (3n-icx) PROD](#3-node-icelake-servers-3n-icx-prod) - 1. [3-Node-SnowRidge Servers (3n-snr) PROD](#3-node-snowridge-servers-3n-snr-prod) - 1. [2-Node-SapphireRapids Servers (2n-spr) PROD](#2-Node-sapphirerapids-servers-2n-spr-prod) - 1. [Per Testbed Wiring](#per-testbed-wiring) - 1. [1-Node-Skylake Wiring (1n-skx) PROD](#1-node-skylake-wiring-1n-skx-prod) - 1. [1-Node-ThunderX2 Wiring (1n-tx2) PROD](#1-node-thunderx2-wiring-1n-tx2-prod) - 1. [1-Node-Cascadelake Wiring (1n-clx) PROD](#1-node-cascadelake-wiring-1n-clx-prod) - 1. [2-Node-IxiaPS1L47 Wiring (2n-ps1) VERIFY](#2-node-ixiaps1l47-wiring-2n-ps1-verify) - 1. [2-Node-Cascadelake Wiring (2n-clx) PROD](#2-node-cascadelake-wiring-2n-clx-prod) - 1. [2-Node-Zen2 Wiring (2n-zn2) PROD](#2-node-zen2-wiring-2n-zn2-prod]) - 1. [2-Node-ThunderX2 Wiring (2n-tx2) PROD](#2-node-thunderx2-wiring-2n-tx2-prod) - 1. [2-Node-Icelake Servers (2n-icx) PROD](#2-node-icelake-servers-2n-icx-prod) - 1. [3-Node-Rangeley Wiring (3n-rng) VERIFY](#3-node-rangeley-wiring-3n-rng-todo) - 1. [3-Node-Taishan Wiring (3n-tsh) PROD](#3-node-taishan-wiring-3n-tsh-prod) - 1. [3-Node-Altra Wiring (3n-alt) PROD](#3-node-altra-wiring-3n-alt-prod) - 1. [3-Node-Icelake Wiring (3n-icx) PROD](#3-node-icelake-wiring-3n-icx-prod) - 1. [3-Node-SnowRidge Wiring (3n-snr) PROD](#3-node-snowridge-wiring-3n-snr-prod) - 1. [2-Node-SapphireRapids Wiring (2n-spr) PROD](#2-Node-sapphirerapids-wiring-2n-spr-prod) +# FD.io CSIT Testbed Specifications ## Purpose diff --git a/docs/content/infrastructure/fdio_dc_vexxhost_inventory.md b/docs/content/infrastructure/fdio_dc_vexxhost_inventory.md new file mode 100644 index 0000000000..a0c0df52f0 --- /dev/null +++ b/docs/content/infrastructure/fdio_dc_vexxhost_inventory.md @@ -0,0 +1,118 @@ +--- +title: "FD.io DC Vexxhost Inventory" +weight: 1 +--- + +## FD.io DC Vexxhost Inventory + +- for each DC location, per rack .csv table with server inventory +- captured inventory data: name,oper-status,testbed-id,role,model,s/n,rackid,rackunit,mgmt-ip4,ipmi-ip4,new-rackid,new-rackunit,new-mgmt-ip4,new-ipmi-ip4 + - name: CSIT functional server name as tracked in [CSIT testbed specification](https://git.fd.io/csit/tree/docs/lab/testbed_specifications.md), followed by "/" and the actual configured hostname, unless it is the same as CSIT name. + - oper-status: operational status (up|down|ipmi). + - testbed-id: CSIT testbed identifier. + - role: 2n/3n-xxx performance testbed, nomad-client, nomad-server. + - role exceptions: decommission, repurpose, spare. + - model: server model. + - s/n: serial number. + - mgmt-ip4: current management IPv4 address on management VLAN. + - ipmi-ip4: current IPMI IPv4 address on LOM VLAN. + - rackid: new location rack id. + - rackunit: new location rack unit id. + +### Missing Equipment Inventory + +1. Ixia PerfectStorm One Appliance + - [Specification: Ixia PerfectStorm One Appliance TG for FD.io TCP/IP performance tests](https://git.fd.io/csit/tree/docs/lab/testbed_specifications.md#n554) + - [Wiring: 2-Node-IxiaPS1L47 Servers (2n-ps1)](https://git.fd.io/csit/tree/docs/lab/testbed_specifications.md#n1017) + - [mgmt-ip4 10.30.51.62 s26-t25-tg1](https://git.fd.io/csit/tree/docs/lab/testbed_specifications.md#n374) + - [ipmi-ip4 10.30.50.59 s26-t25-tg1](https://git.fd.io/csit/tree/docs/lab/testbed_specifications.md#n281) + +### YUL1 Inventory + +#### Rack YUL1-8 (3016.8) + + **name** | **oper-status** | **testbed-id** | **role** | **model** | **s/n** | **mgmt-ip4** | **ipmi-ip4** | **rackid** | **rackunit** +---------------|-----------------|----------------|----------|----------------|-----------------|--------------|--------------|------------|-------------- + mtl1-8-lb4m | up | switch | uplink | ? | ? | ? | ? | 3016.8 | u47 + s65-t37-sut1 | up | t37 | 3n-icx | SYS-740GP-TNRT | C7470KK25P50098 | 10.30.51.75 | 10.30.50.75 | 3016.8 | u42-u45 + s66-t37-sut2 | up | t37 | 3n-icx | SYS-740GP-TNRT | C7470KK33P50247 | 10.30.51.76 | 10.30.50.76 | 3016.8 | u38-u41 + s67-t37-tg1 | up | t37 | 3n-icx | SYS-740GP-TNRT | C7470KK25P50076 | 10.30.51.77 | 10.30.50.77 | 3016.8 | u34-u37 + s71-t212-sut1 | up | t212 | 2n-icx | SYS-740GP-TNRT | C7470KK25P50173 | 10.30.51.81 | 10.30.50.81 | 3016.8 | u30-u33 + s72-t212-tg1 | up | t212 | 2n-icx | SYS-740GP-TNRT | C7470KK33P50220 | 10.30.51.82 | 10.30.50.82 | 3016.8 | u26-u29 + s83-t213-sut1 | up | t213 | 2n-icx | SYS-740GP-TNRT | C7470KL07P50300 | 10.30.51.83 | 10.30.50.83 | 3016.8 | u22-u25 + s84-t213-tg1 | up | t213 | 2n-icx | SYS-740GP-TNRT | C7470KL03P50187 | 10.30.51.84 | 10.30.50.84 | 3016.8 | u18-u21 + s85-t214-sut1 | up | t214 | 2n-icx | SYS-740GP-TNRT | C7470KK33P50219 | 10.30.51.85 | 10.30.50.85 | 3016.8 | u14-u17 + s86-t214-tg1 | up | t214 | 2n-icx | SYS-740GP-TNRT | C7470KL07P50312 | 10.30.51.86 | 10.30.50.86 | 3016.8 | u10-u13 + s87-t215-sut1 | up | t215 | 2n-icx | SYS-740GP-TNRT | C7470KL03P50171 | 10.30.51.87 | 10.30.50.87 | 3016.8 | u6-u9 + s88-t215-tg1 | up | t215 | 2n-icx | SYS-740GP-TNRT | C7470KL07P50301 | 10.30.51.88 | 10.30.50.88 | 3016.8 | u2-u5 + +#### Rack YUL1-9 (3016.9) + + **name** | **oper-status** | **testbed-id** | **role** | **model** | **s/n** | **mgmt-ip4** | **ipmi-ip4** | **rackid** | **rackunit** +-----------------|-----------------|----------------|---------------|---------------------|-----------------|--------------|--------------|------------|-------------- + mtl1-5-lb4m | up | switch | uplink | ? | ? | ? | ? | 3016.9 | u47 + s52-t21-sut1 | up | t21 | 2n-spr | SYS-741GE-TNRT | C7490FL36A40118 | 10.30.51.52 | 10.30.50.52 | 3016.9 | u42-u45 + s53-t21-tg1 | up | t21 | 2n-spr | SYS-741GE-TNRT | ??? | 10.30.51.53 | 10.30.50.53 | 3016.9 | u38-u41 + s54-t22-sut1 | up | t22 | 2n-spr | SYS-741GE-TNRT | ??? | 10.30.51.54 | 10.30.50.54 | 3016.9 | u34-u37 + s55-t22-tg1 | up | t22 | 2n-spr | SYS-741GE-TNRT | ??? | 10.30.51.55 | 10.30.50.55 | 3016.9 | u30-u33 + s56-t23-sut1 | up | t23 | 2n-spr | SYS-741GE-TNRT | ??? | 10.30.51.56 | 10.30.50.56 | 3016.9 | u26-u29 + s57-t23-tg1 | up | t23 | 2n-spr | SYS-741GE-TNRT | ??? | 10.30.51.57 | 10.30.50.57 | 3016.9 | u22-u25 + s25-t25-sut1 | down | t25 | 2n-p1 | SYS-7049GP-TRT | C7470KH06A20022 | 10.30.51.61 | 10.30.50.58 | 3016.9 | u18-u21 + s19-t33t211-tg1 | up | t33t211 | 3n-tsh/2n-tx2 | SYS-7049GP-TRT | C7470KH06A20056 | 10.30.51.49 | 10.30.50.46 | 3016.9 | u14-u17 + s27-t211-sut1 | up | t211 | 2n-tx2 | ThunderX2-9975 | K61186073100003 | 10.30.51.69 | 10.30.50.69 | 3016.9 | u13 + s18-t33-sut2 | up | t33 | 3n-tsh | HUAWEI-TAISHAN-2280 | N/A | 10.30.51.37 | 10.30.50.37 | 3016.9 | u11-u12 + s17-t33-sut1 | up | t33 | 3n-tsh | HUAWEI-TAISHAN-2280 | N/A | 10.30.51.36 | 10.30.50.36 | 3016.9 | u9-u10 + s79-t39t310-tg1 | in-transit | t39t310 | tbd | SYS-740GP-TNRT | ??? | 10.30.51.89 | 10.30.50.89 | 3016.9 | u5-u8 + +#### Rack YUL1-10 (3016.10) + + **name** | **oper-status** | **testbed-id** | **role** | **model** | **s/n** | **mgmt-ip4** | **ipmi-ip4** | **rackid** | **rackunit** +-----------------|-----------------|----------------|----------|----------------|-----------------|--------------|--------------|------------|-------------- + yul1-10-lb4m | up | switch | uplink | ? | ? | ? | ? | 3016.10 | u47 + s2-t12-sut1 | up | t12 | 1n-skx | SYS-7049GP-TRT | C7470KH06A20119 | 10.30.51.51 | 10.30.50.48 | 3016.10 | u42-u45 + s1-t11-sut1 | up | t11 | 1n-skx | SYS-7049GP-TRT | C7470KH06A20154 | 10.30.51.50 | 10.30.50.47 | 3016.10 | u38-u41 + s58-t24-sut1 | up | t24 | 2n-spr | SYS-741GE-TNRT | ??? | 10.30.51.58 | 10.30.50.58 | 3016.10 | u34-u37 + s59-t24-tg1 | up | t24 | 2n-spr | SYS-741GE-TNRT | ??? | 10.30.51.59 | 10.30.50.59 | 3016.10 | u30-u33 + s93-t39-sut1 | up | t39 | 3n-snr | ? | ? | 10.30.51.93 | 10.30.50.93 | 3016.10 | u10-u13 + s94-t39-sut2 | up | t39 | 3n-snr | ? | ? | 10.30.51.94 | 10.30.50.94 | 3016.10 | u6-u9 + s89-t39t310-tg1 | up | t39 | 3n-snr | ? | ? | 10.30.51.89 | 10.30.50.89 | 3016.10 | u2-u5 + + +#### Rack YUL1-11 (3016.11) + + **name** | **oper-status** | **testbed-id** | **role** | **model** | **s/n** | **mgmt-ip4** | **ipmi-ip4** | **rackid** | **rackunit** +-----------------------|-----------------|----------------|------------|----------------|-----------------|--------------|--------------|------------|-------------- + yul1-11-lb6m | up | switch | arm-uplink | ? | ? | ? | ? | 3016.11 | u48 + yul1-11-lf-tor-switch | up | switch | uplink | ? | ? | ? | ? | 3016.11 | u47 + mtl1-6-7050QX-32 | up | switch | uplink | ? | ? | ? | ? | 3016.11 | u46 + fdio-marvell-dev | up | N/A | dev | ThunderX-88XX | N/A | 10.30.51.38 | 10.30.50.38 | 3016.11 | u45 + s56-t14-sut1 | up | t14 | 1n-tx2 | ThunderX2-9980 | N/A | 10.30.51.71 | 10.30.50.71 | 3016.11 | u41-u42 + s78-t38-sut1 | up | t38 | 3n-icx | SYS-740GP-TNRT | C7470KL03P50450 | 10.30.51.78 | 10.30.50.78 | 3016.11 | u31-u34 + s79-t38-sut2 | up | t38 | 3n-icx | SYS-740GP-TNRT | C7470KL07P50297 | 10.30.51.79 | 10.30.50.79 | 3016.11 | u27-u30 + s80-t38-tg1 | up | t38 | 3n-icx | SYS-740GP-TNRT | C7470KL03P50454 | 10.30.51.80 | 10.30.50.80 | 3016.11 | u23-u26 + s55-t13-sut1 | up | t13 | 1n-tx2 | ThunderX2-9980 | N/A | 10.30.51.70 | 10.30.50.70 | 3016.11 | u11-u12 + s62-t34-sut1 | up | t34 | 3n-alt | WIWYNN | 04000059N0SC | 10.30.51.72 | 10.30.50.72 | 3016.11 | u9-u10 + s63-t34-sut2 | up | t34 | 3n-alt | WIWYNN | 0390003EN0SC | 10.30.51.73 | 10.30.50.73 | 3016.11 | u7-u8 + s64-t34-tg1 | up | t34 | 3n-alt | SYS-740GP-TNRT | C7470KK40P50249 | 10.30.51.74 | 10.30.50.74 | 3016.11 | u3-u6 + +#### Rack YUL1-12 (3016.12) + + **name** | **oper-status** | **testbed-id** | **role** | **model** | **s/n** | **mgmt-ip4** | **ipmi-ip4** | **rackid** | **rackunit** +---------------|-----------------|-----------------------------|----------------|-----------------|-----------------|--------------|--------------|------------|-------------- + yul1-12-lb4m | up | switch | uplink | ? | ? | ? | ? | 3016.12 | u47 + s28-nomad | up | nomad-cluster1.nomad-client | SYS-7049GP-TRT | C7470KH06A20196 | 10.30.51.28 | 10.30.50.28 | 3016.12 | u41-u44 | + s27-nomad | up | nomad-cluster1 | nomad-client | SYS-7049GP-TRT | C7470KH06A20055 | 10.30.51.27 | 10.30.50.27 | 3016.12 | u37-u40 + s91-nomad | up | nomad-cluster1 | nomad-client | R152-P30-00 | GLG4P9912A0016 | 10.30.51.91 | 10.30.50.91 | 3016.12 | u36 + s92-nomad | up | nomad-cluster1 | nomad-client | R152-P30-00 | GLG4P9912A0004 | 10.30.51.92 | 10.30.50.92 | 3016.12 | u35 + s23-nomad | up | nomad-cluster1 | nomad-server | SYS-1029P-WTRT | C1160LI12NM0256 | 10.30.51.23 | 10.30.51.23 | 3016.12 | u34 + s24-nomad | up | nomad-cluster1 | nomad-server | SYS-1029P-WTRT | C1160LI12NM0241 | 10.30.51.24 | 10.30.51.24 | 3016.12 | u33 + s25-nomad | up | nomad-cluster1 | nomad-server | SYS-1029P-WTRT | C1160LI12NM0540 | 10.30.51.25 | 10.30.51.25 | 3016.12 | u32 + s61-t210-tg1 | up | t210 | 2n-zn2 | AS-1014S-WTRT | C8150LI50NS2689 | 10.32.8.25 | 10.30.55.25 | 3016.12 | u31 + s60-t210-sut1 | up | t210 | 2n-zn2 | AS-1114S-WTRT | N/A | 10.32.8.24 | 10.30.55.24 | 3016.12 | u30 + s26-nomad | up | nomad-cluster1 | nomad-server | SYS-7049GP-TRT | C7470KH37A30505 | 10.30.51.26 | 10.30.51.26 | 3016.12 | u26-u29 + s33-t27-sut1 | up | t27 | 2n-clx | SYS-7049GP-TRT | C7470KH37A30567 | 10.32.8.18 | 10.30.55.18 | 3016.12 | u22-u25 + s34-t27-tg1 | up | t27 | 2n-clx | SYS-7049GP-TRT | C7470KH37A30565 | 10.32.8.19 | 10.30.55.19 | 3016.12 | u18-u21 + s35-t28-sut1 | up | t28 | 2n-clx | SYS-7049GP-TRT | C7470KH37A30509 | 10.32.8.20 | 10.30.55.20 | 3016.12 | u14-u17 + s36-t28-tg1 | up | t28 | 2n-clx | SYS-7049GP-TRT | C7470KH37A30511 | 10.32.8.21 | 10.30.55.21 | 3016.12 | u10-u13 + s37-t29-sut1 | up | t29 | 2n-clx | SYS-7049GP-TRT | C7470KH37A30566 | 10.32.8.22 | 10.30.55.22 | 3016.12 | u6-u9 + s38-t29-tg1 | up | t29 | 2n-clx | SYS-7049GP-TRT | C7470KH37A30506 | 10.32.8.23 | 10.30.55.23 | 3016.12 | u2-u5 \ No newline at end of file diff --git a/docs/content/infrastructure/testbed_configuration/_index.md b/docs/content/infrastructure/testbed_configuration/_index.md new file mode 100644 index 0000000000..ce023237c7 --- /dev/null +++ b/docs/content/infrastructure/testbed_configuration/_index.md @@ -0,0 +1,5 @@ +--- +bookFlatSection: false +title: "FD.io CSIT Testbed Configuration" +weight: 3 +--- \ No newline at end of file diff --git a/docs/lab/testbeds_sm_clx_hw_bios_cfg.md b/docs/content/infrastructure/testbed_configuration/sm_clx_hw_bios_cfg.md similarity index 98% rename from docs/lab/testbeds_sm_clx_hw_bios_cfg.md rename to docs/content/infrastructure/testbed_configuration/sm_clx_hw_bios_cfg.md index 4b22d09325..b2c859b11f 100644 --- a/docs/lab/testbeds_sm_clx_hw_bios_cfg.md +++ b/docs/content/infrastructure/testbed_configuration/sm_clx_hw_bios_cfg.md @@ -1,29 +1,9 @@ -# SuperMicro Cascadelake Servers - HW and BIOS Configuration - -1. [Linux lscpu](#linux-lscpu) -1. [Linux dmidecode](#dmidecode) -1. [Linux dmidecode pci](#linux-dmidecode-pci) -1. [Linux dmidecode memory](#linux-dmidecode-memory) -1. [Xeon Clx Server BIOS Configuration](#xeon-clx-server-bios-configuration) - 1. [Boot Feature](#boot-feature) - 1. [CPU Configuration](#cpu-configuration) - 1. [Advanced Power Management Configuration](#advanced-power-management-configuration) - 1. [CPU P State Control](#cpu-p-state-control) - 1. [Hardware PM State Control](#hardware-pm-state-control) - 1. [CPU C State Control](#cpu-c-state-control) - 1. [Package C State Control](#package-c-state-control) - 1. [CPU T State Control](#cpu-t-state-control) - 1. [Chipset Configuration](#chipset-configuration) - 1. [North Bridge](#north-bridge) - 1. [UPI Configuration](#upi-configuration) - 1. [Memory Configuration](#memory-configuration) - 1. [IIO Configuration](#iio-configuration) - 1. [CPU1 Configuration](#cpu1-configuration) - 1. [CPU2 Configuration](#cpu2-configuration) - 1. [South Bridge](#south-bridge) - 1. [PCIe/PCI/PnP Configuration](#pciepcipnp-configuration) - 1. [ACPI Settings](#acpi-settings) -1. [Xeon Clx Server Firmware Inventory](#xeon-clx-server-firmware-inventory) +--- +bookToc: true +title: "SuperMicro Cascadelake" +--- + +# SuperMicro Cascadelake ## Linux lscpu diff --git a/docs/lab/testbeds_sm_icx_hw_bios_cfg.md b/docs/content/infrastructure/testbed_configuration/sm_icx_hw_bios_cfg.md similarity index 97% rename from docs/lab/testbeds_sm_icx_hw_bios_cfg.md rename to docs/content/infrastructure/testbed_configuration/sm_icx_hw_bios_cfg.md index d0bea7f40f..854d3d0418 100644 --- a/docs/lab/testbeds_sm_icx_hw_bios_cfg.md +++ b/docs/content/infrastructure/testbed_configuration/sm_icx_hw_bios_cfg.md @@ -1,28 +1,9 @@ -# SuperMicro Icelake Servers - HW and BIOS Configuration +--- +bookToc: true +title: "SuperMicro Icelake" +--- -1. [Linux lscpu](#linux-lscpu) -1. [Linux dmidecode](#dmidecode) -1. [Linux dmidecode memory](#linux-dmidecode-memory) -1. [Xeon ICX Server BIOS Configuration](#xeon-icx-server-bios-configuration) - 1. [Boot Feature](#boot-feature) - 1. [CPU Configuration](#cpu-configuration) - 1. [Advanced Power Management Configuration](#advanced-power-management-configuration) - 1. [CPU P State Control](#cpu-p-state-control) - 1. [Hardware PM State Control](#hardware-pm-state-control) - 1. [CPU C State Control](#cpu-c-state-control) - 1. [Package C State Control](#package-c-state-control) - 1. [CPU T State Control](#cpu-t-state-control) - 1. [Chipset Configuration](#chipset-configuration) - 1. [North Bridge](#north-bridge) - 1. [UPI Configuration](#upi-configuration) - 1. [Memory Configuration](#memory-configuration) - 1. [IIO Configuration](#iio-configuration) - 1. [CPU1 Configuration](#cpu1-configuration) - 1. [CPU2 Configuration](#cpu2-configuration) - 1. [South Bridge](#south-bridge) - 1. [PCIe/PCI/PnP Configuration](#pciepcipnp-configuration) - 1. [ACPI Settings](#acpi-settings) -1. [Xeon ICX Server Firmware Inventory](#xeon-icx-server-firmware-inventory) +# SuperMicro Icelake ## Linux lscpu diff --git a/docs/lab/testbeds_sm_spr_hw_bios_cfg.md b/docs/content/infrastructure/testbed_configuration/sm_spr_hw_bios_cfg.md similarity index 99% rename from docs/lab/testbeds_sm_spr_hw_bios_cfg.md rename to docs/content/infrastructure/testbed_configuration/sm_spr_hw_bios_cfg.md index 9a72b84510..c2bf8fb795 100644 --- a/docs/lab/testbeds_sm_spr_hw_bios_cfg.md +++ b/docs/content/infrastructure/testbed_configuration/sm_spr_hw_bios_cfg.md @@ -1,9 +1,9 @@ -# SuperMicro SapphireRapids Servers - HW and BIOS Configuration +--- +bookToc: true +title: "SuperMicro SapphireRapids" +--- -1. [Linux lscpu](#linux-lscpu) -1. [Linux dmidecode](#dmidecode) -1. [Linux dmidecode memory](#linux-dmidecode-memory) -1. [Xeon SPR Server Firmware Inventory](#xeon-spr-server-firmware-inventory) +# SuperMicro SapphireRapids ## Linux lscpu diff --git a/docs/lab/testbeds_sm_zn2_hw_bios_cfg.md b/docs/content/infrastructure/testbed_configuration/sm_zn2_hw_bios_cfg.md similarity index 95% rename from docs/lab/testbeds_sm_zn2_hw_bios_cfg.md rename to docs/content/infrastructure/testbed_configuration/sm_zn2_hw_bios_cfg.md index 457eb9f87f..31335d5cc7 100644 --- a/docs/lab/testbeds_sm_zn2_hw_bios_cfg.md +++ b/docs/content/infrastructure/testbed_configuration/sm_zn2_hw_bios_cfg.md @@ -1,29 +1,9 @@ -# SuperMicro Cascadelake Servers - HW and BIOS Configuration - -1. [Linux lscpu](#linux-lscpu) -1. [Linux dmidecode](#dmidecode) -1. [Linux dmidecode pci](#linux-dmidecode-pci) -1. [Linux dmidecode memory](#linux-dmidecode-memory) -1. [EPYC zn2 Server BIOS Configuration](#epyc-zn2-server-bios-configuration) - 1. [Boot Feature](#boot-feature) - 1. [CPU Configuration](#cpu-configuration) - 1. [Advanced Power Management Configuration](#advanced-power-management-configuration) - 1. [CPU P State Control](#cpu-p-state-control) - 1. [Hardware PM State Control](#hardware-pm-state-control) - 1. [CPU C State Control](#cpu-c-state-control) - 1. [Package C State Control](#package-c-state-control) - 1. [CPU T State Control](#cpu-t-state-control) - 1. [Chipset Configuration](#chipset-configuration) - 1. [North Bridge](#north-bridge) - 1. [UPI Configuration](#upi-configuration) - 1. [Memory Configuration](#memory-configuration) - 1. [IIO Configuration](#iio-configuration) - 1. [CPU1 Configuration](#cpu1-configuration) - 1. [CPU2 Configuration](#cpu2-configuration) - 1. [South Bridge](#south-bridge) - 1. [PCIe/PCI/PnP Configuration](#pciepcipnp-configuration) - 1. [ACPI Settings](#acpi-settings) -1. [EPYC zn2 Server Firmware Inventory](#epyc-zn2-server-firmware-inventory) +--- +bookToc: true +title: "SuperMicro EPYC Zen2" +--- + +# SuperMicro EPYC Zen2 ## Linux lscpu diff --git a/docs/content/introduction/_index.md b/docs/content/introduction/_index.md new file mode 100644 index 0000000000..e028786bd1 --- /dev/null +++ b/docs/content/introduction/_index.md @@ -0,0 +1,5 @@ +--- +bookFlatSection: true +title: "Introduction" +weight: 1 +--- \ No newline at end of file diff --git a/docs/automating_vpp_api_flag_day.rst b/docs/content/introduction/automating_vpp_api_flag_day.md similarity index 93% rename from docs/automating_vpp_api_flag_day.rst rename to docs/content/introduction/automating_vpp_api_flag_day.md index 5e4803822f..131adeab9d 100644 --- a/docs/automating_vpp_api_flag_day.rst +++ b/docs/content/introduction/automating_vpp_api_flag_day.md @@ -1,23 +1,11 @@ -.. - Copyright (c) 2021 Cisco and/or its affiliates. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at: -.. - http://www.apache.org/licenses/LICENSE-2.0 -.. - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - -VPP API Flag Day Algorithm -^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Abstract -~~~~~~~~ +--- +bookHidden: true +title: "VPP API Flag Day Algorithms" +--- + +# VPP API Flag Day Algorithm + +## Abstract This document describes the current solution to the problem of automating the detection of VPP API changes which are not backwards @@ -30,8 +18,7 @@ Eventually the detection algorithm could be extended to include other integration points such as "directory" structure of stats segment or PAPI python library dependencies. -Motivation -~~~~~~~~~~ +## Motivation Aside of per-release activities (release report), CSIT also provides testing that requires somewhat tight coupling to the latest (merged but not released) @@ -75,8 +62,7 @@ and rebasing to HEAD should result in +1 from the api-crc job. Secondly, no more than one VPP change is allowed to be processed (at the same time). -Naming -~~~~~~ +## Naming It is easier to define the process after chosing shorter names for notions that need long definition. @@ -86,8 +72,7 @@ in practice it can be a set of jobs covering parts of functionality. A "run" of the set of jobs passes only if each job within the set has been run (again) and passed. -Jobs ----- +## Jobs + A *vpp verify* job: Any job run automatically, and voting on open VPP changes. Some verify jobs compile and package VPP for target operating system @@ -129,8 +114,7 @@ Jobs + A *manual verification* is done by a CSIT committer, locally executing steps equivalent to the patch-on-patch job. This can to save time and resources. -CRC Collections ---------------- +## CRC Collections Any commit in/for the CSIT repository contains a file (supported_crcs.yaml), which contains either one or two collections. A collection is a mapping @@ -153,8 +137,7 @@ targeted at the VPP build (pointed out by the collection name). This is safe, because api-crc job on the active API change will fail if the older patch is no longer API-equivalent to the newer patch. -Changes -------- +## Changes + An *API change*: The name for any Gerrit Change for VPP repository that does not pass api-crc job right away, and needs this whole process. @@ -165,9 +148,6 @@ Changes (and this document does not talk about other FD.io or external projects), "API change" is shorter. - TODO: Is there a magic incantation for Gerrit WebUI to search for API changes? - Open, -1 from api-crc job, +1 from other (non-csit) jobs. - + A *blocked change*: The name for open Gerrit Change for VPP repository that got -1 from some of voting verify jobs. @@ -228,8 +208,7 @@ When this documents says a change is activating or deactivating, it allows the possibility for the change to fullfill also other purposes (e.g. acting as deactivating / activating change for another API change). -Algorithm Steps -~~~~~~~~~~~~~~~ +## Algorithm Steps The following steps describe the application of the API "Flag Day" algorithm: @@ -303,8 +282,7 @@ The following steps describe the application of the API "Flag Day" algorithm: submitter to rebase the patch to pick up the compatible VPP API version files. -Real life examples -~~~~~~~~~~~~~~~~~~ +### Real life examples Simple API change: https://gerrit.fd.io/r/c/vpp/+/23829 diff --git a/docs/bash_code_style.rst b/docs/content/introduction/bash_code_style.md similarity index 89% rename from docs/bash_code_style.rst rename to docs/content/introduction/bash_code_style.md index e955f72ab4..1cc1464056 100644 --- a/docs/bash_code_style.rst +++ b/docs/content/introduction/bash_code_style.md @@ -1,17 +1,7 @@ -.. - Copyright (c) 2019 Cisco and/or its affiliates. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at: -.. - http://www.apache.org/licenses/LICENSE-2.0 -.. - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - +--- +bookHidden: true +title: "Bash Code Style" +--- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", @@ -24,16 +14,9 @@ when, and only when, they appear in all capitals, as shown here. This document SHALL describe guidelines for writing reliable, maintainable, reusable and readable code for CSIT. -Motivation -^^^^^^^^^^ - -TODO: List reasons why we need code style document for Bash. - -Proposed style -^^^^^^^^^^^^^^ +# Proposed Style -File types -~~~~~~~~~~ +# File Types Bash files SHOULD NOT be monolithic. Generally, this document considers two types of bash files: @@ -53,8 +36,7 @@ considers two types of bash files: + Defines multiple functions other scripts can call. -Safety -~~~~~~ +# Safety + Variable expansions MUST be quoted, to prevent word splitting. @@ -80,8 +62,6 @@ Safety + Example: cp "logs"/*."log" "."/ - + TODO: Consider giving examples both for good and bad usage. - + Command substitution on right hand side of assignment are safe without quotes. @@ -150,8 +130,7 @@ Safety + When error happens at an unexpected place, it is RECOMMENDED for the message to be short and generic, instead of speculative. -Bash options -~~~~~~~~~~~~ +# Bash Options + Code MUST apply "-x" to make debugging easier. @@ -213,8 +192,7 @@ Bash options + Also code MUST put the line near start of function bodies and subshell invocations. -Functions -~~~~~~~~~ +# Functions There are (at least) two possibilities how a code from an external file can be executed. Either the file contains a code block to execute @@ -292,17 +270,10 @@ here are some pros and cons: + And using "set +x" would take too much vertical space (when compared to entry script implementation). -Variables -~~~~~~~~~ +# Variables This document describes two kinds of variables: called "local" and "global". -TODO: Find better adjectives for the two kinds defined here, -if the usual bash meaning makes reader forget other specifics. -For example, variable with lowercase name and not marked by "local" builtin, -is cosidered "global" from bash point of view, but "local" from this document -point of view. - + Local variables: + Variable name MUST contain only lower case letters, digits and underscores. @@ -320,10 +291,6 @@ point of view. + Code SHOULD have a comment if a reader might have missed the initialization. - + TODO: Agree on level of defensiveness (against local values - being influenced by other functions) needed. - Possible alternatives / additions to the "always initialize" rule: - + Unset local variables when leaving the function. + Explicitly typeset by "local" builtin command. @@ -337,10 +304,6 @@ point of view. + They SHOULD NOT be exported, unless external commands need them (e.g. PYTHONPATH). - + TODO: Propose a strict naming convention, or a central document - of all used global variables, to prevent contributors - from causing variable name conflicts. - + Code MUST document if a function (or its inner call) reads a global variable. @@ -363,21 +326,18 @@ point of view. + It looks more similar to Robot Framework variables (which is good). -Arguments -~~~~~~~~~ +# Arguments Bash scripts and functions MAY accept arguments, named "${1}", "${2}" and so on. As a whole available via "$@". You MAY use "shift" command to consume an argument. -Contexts -```````` +## Contexts Functions never have access to parent arguments, but they can read and write variables set or read by parent contexts. -Arguments or variables -`````````````````````` +### Arguments Or Variables + Both arguments and global variables MAY act as an input. @@ -401,8 +361,7 @@ Arguments or variables + For most Linux distros, "getopt" is RECOMMENDED. -Working directory handling -~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Working Directory Handling + Functions SHOULD act correctly without neither assuming what the currect working directory is, nor changing it. @@ -473,8 +432,7 @@ Working directory handling + That is because "exit" command, as well as the default behavior of "die" or "set -e" cause direct exit (without skipping function returns). -Function size -~~~~~~~~~~~~~ +# Function Size + In general, code SHOULD follow reasoning similar to how pylint limits code complexity. @@ -489,8 +447,7 @@ Function size not readable just because external commands do not have obvious enough parameters. Use common sense. -Documentation -~~~~~~~~~~~~~ +# Documentation + The library path and filename is visible from source sites. It SHOULD be descriptive enough, so reader do not need to look inside to determine @@ -533,8 +490,7 @@ Documentation Then it depends on script type. -Library documentation -````````````````````` +## Library Documentation + Following "set -exuo pipefail" SHALL come the "import part" documentation. @@ -548,10 +504,6 @@ Library documentation + See below. - + Following that SHALL be various top-level TODOs and FIXMEs. - - + TODO: Document (in an appropriate place) how TODOs differ from FIXMEs. - + "set -exuo pipefail" SHALL be the first executable line in the function body, except functions which legitimely need different flags. Those SHALL also start with appropriate "set" command(s). @@ -619,19 +571,10 @@ not obvious from the funtion name. redefine that function, if there is a good reason for not exiting on function failure. - + TODO: Programs installed, services started, URLs downloaded from, ... - - + TODO: Add more items when you spot them. - - + TODO: Is the current order recommended? - -Entry script documentation -`````````````````````````` +## Entry Script Documentation + After "set -exuo pipefail", high-level description SHALL come. - + Then TODOs and FIXMEs SHALL be placed (if any). - + Entry scripts are rarely reused, so detailed side effects are OPTIONAL to document. @@ -648,8 +591,7 @@ Entry script documentation + Then SHALL come block of function calls (with parameters as needed). -Other general recommendations -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# Other General Recommendations + Code SHOULD NOT not repeat itself, even in documentation: @@ -665,9 +607,6 @@ Other general recommendations documentation MAY point the reader to the documentation of the called function (instead of listing all the side effects). - + TODO: Composite functions can have large effects. Should we require - intermediate functions to actively hide them whenever possible? - + But documentation SHOULD repeat it if the information crosses functions. + Item description MUST NOT be skipped just because the reader @@ -710,9 +649,3 @@ Other general recommendations + Next line has the die commands (indented one level deeper), + Final line closes with "}" at original intent level. - - + TODO: Recommend what to do with other constructs. - - + For example multiple piped commands. - - + No, "eval" is too unsafe to use. diff --git a/docs/toi/branches.md b/docs/content/introduction/branches.md similarity index 98% rename from docs/toi/branches.md rename to docs/content/introduction/branches.md index 77f2d662bb..20759b9c78 100644 --- a/docs/toi/branches.md +++ b/docs/content/introduction/branches.md @@ -1,10 +1,9 @@ -# Git Branches in CSIT - -#### Content +--- +bookHidden: true +title: "Git Branches in CSIT" +--- -- [Overview](#overview) -- [Operational Branches](#operational-branches) -- [Release Branches](#release-branches) +# Git Branches in CSIT ## Overview diff --git a/docs/content/introduction/dashboard_history.md b/docs/content/introduction/dashboard_history.md new file mode 100644 index 0000000000..f7f9db576a --- /dev/null +++ b/docs/content/introduction/dashboard_history.md @@ -0,0 +1,17 @@ +--- +title: "Dashboard History" +weight: 1 +--- + +# Dashboard History + +FD.io {{< release_csit >}} Dashboard History and per .[ww] revision changes are +listed below. + + **.[ww] Revision** | **Changes** +--------------------|------------------ + .10 | Initial revision + +FD.io CSIT Revision follow CSIT-[yy][mm].[ww] numbering format, with version +denoted by concatenation of two digit year [yy] and two digit month [mm], and +maintenance revision identified by two digit calendar week number [ww]. diff --git a/docs/content/introduction/design.md b/docs/content/introduction/design.md new file mode 100644 index 0000000000..e236b47d6f --- /dev/null +++ b/docs/content/introduction/design.md @@ -0,0 +1,148 @@ +--- +title: "Design" +weight: 3 +--- + +# Design + +FD.io CSIT system design needs to meet continuously expanding requirements of +FD.io projects including VPP, related sub-systems (e.g. plugin applications, +DPDK drivers) and FD.io applications (e.g. DPDK applications), as well as +growing number of compute platforms running those applications. With CSIT +project scope and charter including both FD.io continuous testing AND +performance trending/comparisons, those evolving requirements further amplify +the need for CSIT framework modularity, flexibility and usability. + +## Design Hierarchy + +CSIT follows a hierarchical system design with SUTs and DUTs at the bottom level +of the hierarchy, presentation level at the top level and a number of functional +layers in-between. The current CSIT system design including CSIT framework is +depicted in the figure below. + +{{< svg "static/csit_design_picture.svg" >}} + +A brief bottom-up description is provided here: + +1. SUTs, DUTs, TGs + - SUTs - Systems Under Test; + - DUTs - Devices Under Test; + - TGs - Traffic Generators; +2. Level-1 libraries - Robot and Python + - Lowest level CSIT libraries abstracting underlying test environment, SUT, + DUT and TG specifics; + - Used commonly across multiple L2 KWs; + - Performance and functional tests: + - L1 KWs (KeyWords) are implemented as RF libraries and Python + libraries; + - Performance TG L1 KWs: + - All L1 KWs are implemented as Python libraries: + - Support for TRex only today; + - CSIT IXIA drivers in progress; + - Performance data plane traffic profiles: + - TG-specific stream profiles provide full control of: + - Packet definition - layers, MACs, IPs, ports, combinations thereof + e.g. IPs and UDP ports; + - Stream definitions - different streams can run together, delayed, + one after each other; + - Stream profiles are independent of CSIT framework and can be used + in any T-rex setup, can be sent anywhere to repeat tests with + exactly the same setup; + - Easily extensible - one can create a new stream profile that meets + tests requirements; + - Same stream profile can be used for different tests with the same + traffic needs; + - Functional data plane traffic scripts: + - Scapy specific traffic scripts; +3. Level-2 libraries - Robot resource files: + - Higher level CSIT libraries abstracting required functions for executing + tests; + - L2 KWs are classified into the following functional categories: + - Configuration, test, verification, state report; + - Suite setup, suite teardown; + - Test setup, test teardown; +4. Tests - Robot: + - Test suites with test cases; + - Performance tests using physical testbed environment: + - VPP; + - DPDK-Testpmd; + - DPDK-L3Fwd; + - Tools: + - Documentation generator; + - Report generator; + - Testbed environment setup ansible playbooks; + - Operational debugging scripts; + +5. Test Lifecycle Abstraction + +A well coded test must follow a disciplined abstraction of the test +lifecycles that includes setup, configuration, test and verification. In +addition to improve test execution efficiency, the commmon aspects of +test setup and configuration shared across multiple test cases should be +done only once. Translating these high-level guidelines into the Robot +Framework one arrives to definition of a well coded RF tests for FD.io +CSIT. Anatomy of Good Tests for CSIT: + +1. Suite Setup - Suite startup Configuration common to all Test Cases in suite: + uses Configuration KWs, Verification KWs, StateReport KWs; +2. Test Setup - Test startup Configuration common to multiple Test Cases: uses + Configuration KWs, StateReport KWs; +3. Test Case - uses L2 KWs with RF Gherkin style: + - prefixed with {Given} - Verification of Test setup, reading state: uses + Configuration KWs, Verification KWs, StateReport KWs; + - prefixed with {When} - Test execution: Configuration KWs, Test KWs; + - prefixed with {Then} - Verification of Test execution, reading state: uses + Verification KWs, StateReport KWs; +4. Test Teardown - post Test teardown with Configuration cleanup and + Verification common to multiple Test Cases - uses: Configuration KWs, + Verification KWs, StateReport KWs; +5. Suite Teardown - Suite post-test Configuration cleanup: uses Configuration + KWs, Verification KWs, StateReport KWs; + +## RF Keywords Functional Classification + +CSIT RF KWs are classified into the functional categories matching the test +lifecycle events described earlier. All CSIT RF L2 and L1 KWs have been grouped +into the following functional categories: + +1. Configuration; +2. Test; +3. Verification; +4. StateReport; +5. SuiteSetup; +6. TestSetup; +7. SuiteTeardown; +8. TestTeardown; + +## RF Keywords Naming Guidelines + +Readability counts: "..code is read much more often than it is written." +Hence following a good and consistent grammar practice is important when +writing Robot Framework KeyWords and Tests. All CSIT test cases +are coded using Gherkin style and include only L2 KWs references. L2 KWs are +coded using simple style and include L2 KWs, L1 KWs, and L1 python references. +To improve readability, the proposal is to use the same grammar for both +Robot Framework KW styles, and to formalize the grammar of English +sentences used for naming the Robot Framework KWs. Robot +Framework KWs names are short sentences expressing functional description of +the command. They must follow English sentence grammar in one of the following +forms: + +1. **Imperative** - verb-object(s): *"Do something"*, verb in base form. +2. **Declarative** - subject-verb-object(s): *"Subject does something"*, verb in + a third-person singular present tense form. +3. **Affirmative** - modal_verb-verb-object(s): *"Subject should be something"*, + *"Object should exist"*, verb in base form. +4. **Negative** - modal_verb-Not-verb-object(s): *"Subject should not be + something"*, *"Object should not exist"*, verb in base form. + +Passive form MUST NOT be used. However a usage of past participle as an +adjective is okay. See usage examples provided in the Coding guidelines +section below. Following sections list applicability of the above +grammar forms to different Robot Framework KW categories. Usage +examples are provided, both good and bad. + +## Coding Guidelines + +Coding guidelines can be found on +[Design optimizations wiki page](https://wiki.fd.io/view/CSIT/Design_Optimizations). \ No newline at end of file diff --git a/docs/content/introduction/model_schema.md b/docs/content/introduction/model_schema.md new file mode 100644 index 0000000000..ae3ba38fd7 --- /dev/null +++ b/docs/content/introduction/model_schema.md @@ -0,0 +1,60 @@ +--- +bookHidden: true +title: "Model Schema" +--- + +# Model Schema + +This document describes what is currently implemented in CSIT, +especially the export side (UTI), not import side (PAL). + +## Version + +This document is valid for CSIT model version 1.4.0. + +It is recommended to use semantic versioning: https://semver.org/ +That means, if the new model misses a field present in the old model, +bump the major version. If the new model adds a field +not present in the old model, bump the minor version. +Any other edit in the implmenetation (or documentation) bumps the patch version. +If you change value type or formatting, +consider whether the parser (PAL) understands the new value correctly. +Renaming a field is the same as adding a new one and removing the old one. +Parser (PAL) has to know exact major version and minimal minor version, +and unless bugs, it can ignore patch version and bumped minor version. + +## UTI + +UTI stands for Unified Test Interface. +It mainly focuses on exporting information gathered during test run +into JSON output files. + +### Output Structure + +UTI outputs come in filesystem tree structure (single tree), where directories +correspond to suite levels and files correspond to suite setup, suite teardown +or any test case at this level of suite. +The directory name comes from SUITE_NAME Robot variable (the last part +as the previous parts are higher level suites), converted to lowercase. +If the suite name contains spaces (Robot converts underscores to spaces), +they are replaced with underscores. + +The filesystem tree is rooted under tests/ (as suites in git are there), +and for each component (test case, suite setup, suite teardown). + +Although we expect only ASCII text in the exported files, +we manipulate files using UTF-8 encoding, +so if Robot Framework uses a non-ascii character, it will be handled. + +### JSON schemas + +CSIT model is formally defined as a collection of JSON schema documents, +one for each output file type. + +The current version specifies only one output file type: +Info output for test case. + +The authoritative JSON schema documents are in JSON format. +Git repository also contains YAML formatted document and conversion utility, +which simplifies maintaining of the JSON document +(no need to track brackets and commas), but are not authoritative. diff --git a/docs/content/introduction/perf_triggers_design.md b/docs/content/introduction/perf_triggers_design.md new file mode 100644 index 0000000000..445846f4d9 --- /dev/null +++ b/docs/content/introduction/perf_triggers_design.md @@ -0,0 +1,44 @@ +--- +bookHidden: true +title: "Performance Triggers Design" +--- + +# Performance Triggers Design + +*Syntax* + trigger_keyword [{tag1} {tag2}AND{tag3} !{tag4} !{tag5}] + +*Inputs* + - trigger_keyword for vpp-* jobs: 'perftest' + - trigger_keyword for csit-* jobs: 'csit-perftest' + - tags: existing CSIT tags [4]_ i.e. ip4base, ip6base, iacldst, memif + +Set of default tags appended to user input, under control by CSIT + - always-on for vpp-csit*.job: 'mrr' 'nic_intel_x710-da2' '1t1c' + - if input with no tags, following set applied: + - 'mrrANDnic_intel-x710AND1t1cAND64bANDip4base' + - 'mrrANDnic_intel-x710AND1t1cAND78bANDip6base' + - 'mrrANDnic_intel-x710AND1t1cAND64bANDl2bdbase' + +Examples + input: 'perftest' + expanded: 'mrrANDnic_intel_x710-da2AND1t1cAND64bANDl2bdbase mrrANDnic_intel_x710-da2AND1t1cAND64bANDip4base mrrANDnic_intel_x710-da2AND1t1cAND78bANDip6base' + input: 'perftest l2bdbase l2xcbase' + expanded: 'mrrANDnic_intel_x710-da2ANDl2bdbase mrrANDnic_intel_x710-da2ANDl2xcbase' + input: 'perftest ip4base !feature' + expanded: 'mrrANDnic_intel_x710-da2ANDip4base' not 'feature' + input: 'perftest ip4base !feature !lbond_dpdk' + expanded: 'mrrANDnic_intel_x710-da2ANDip4base' not 'feature' not 'lbond_dpdk' + input: 'perftestxyx ip4base !feature !lbond_dpdk' + invalid: detected as error + input: 'perftestip4base !feature !lbond_dpdk' + invalid: detected as error + input: 'perftest ip4base!feature!lbond_dpdk' + invalid expand: 'mrrANDnic_intel_x710-da2ANDip4base!feature!lbond_dpdk' + execution of RobotFramework will fail + +Constrains + Trigger keyword must be different for every job to avoid running multiple jobs + at once. Trigger keyword must not be substring of job name or any other + message printed by JJB bach to gerrit message which can lead to recursive + execution. diff --git a/docs/test_code_guidelines.rst b/docs/content/introduction/test_code_guidelines.md similarity index 82% rename from docs/test_code_guidelines.rst rename to docs/content/introduction/test_code_guidelines.md index 33ac72764f..9707d63ea6 100644 --- a/docs/test_code_guidelines.rst +++ b/docs/content/introduction/test_code_guidelines.md @@ -1,29 +1,29 @@ -CSIT Test Code Guidelines -^^^^^^^^^^^^^^^^^^^^^^^^^ +--- +bookHidden: true +title: "CSIT Test Code Guidelines" +--- + +# CSIT Test Code Guidelines The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as -described in `BCP 14 `_ -`[RFC2119] `_ -`[RFC8174] `_ +described in [BCP 14](https://tools.ietf.org/html/bcp14), +[RFC2119](https://tools.ietf.org/html/rfc2119), +[RFC8174](https://tools.ietf.org/html/rfc8174) when, and only when, they appear in all capitals, as shown here. This document SHALL describe guidelines for writing reliable, maintainable, reusable and readable code for CSIT. -TODO: Decide whether to use "you SHALL", "contributors SHALL", -or "code SHALL be"; convert other forms to the chosen one. - -RobotFramework test case files and resource files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# RobotFramework test case files and resource files + General + Contributors SHOULD look at requirements.txt in root CSIT directory for the currently used Robot Framework version. - Contributors SHOULD read `Robot Framework User Guide - `_ + Contributors SHOULD read + [Robot Framework User Guide](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html) for more details. + RobotFramework test case files and resource files @@ -37,14 +37,13 @@ RobotFramework test case files and resource files + Files SHALL be encoded in UTF-8 (the default Robot source file encoding). Usage of non-ASCII characters SHOULD be avoided if possible. - It is RECOMMENDED to `escape - `_ + It is RECOMMENDED to + [escape](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#escaping) non-ASCII characters. + Line length SHALL be limited to 80 characters. - + There SHALL be licence text (FIXME: add link) present - at the beginning of each file. + + There SHALL be licence text present at the beginning of each file. + Copy-pasting of the code NOT RECOMMENDED practice, any code that could be re-used SHOULD be put into a library (Robot resource, Python library, ...). @@ -54,7 +53,7 @@ RobotFramework test case files and resource files + It is RECOMMENDED to use data-driven test case definitions anytime suite contains test cases similar in structure. Typically, a suite SHOULD define a Template keyword, and test cases - SHOULD only specify tags and argument values:: + SHOULD only specify tags and argument values *** Settings *** | Test Template | Local Template @@ -67,7 +66,7 @@ RobotFramework test case files and resource files + Test case templates (or testcases) SHALL be written in Behavior-driven style i.e. in readable English, so that even non-technical project stakeholders - can understand it:: + can understand it *** Keywords *** | Local Template @@ -97,14 +96,12 @@ RobotFramework test case files and resource files + Every suite and test case template (or testcase) SHALL contain short documentation. Generated CSIT web pages display the documentation. - For an example generated page, see: - https://docs.fd.io/csit/rls1807/doc/tests.vpp.perf.tcp.html + You SHOULD NOT use hard-coded constants. It is RECOMMENDED to use the variable table (\*\*\*Variables\*\*\*) to define test case specific values. You SHALL use the assignment sign = after the variable name - to make assigning variables slightly more explicit:: + to make assigning variables slightly more explicit *** Variables *** | ${traffic_profile}= | trex-stl-2n-ethip4-ip4src254 @@ -124,7 +121,7 @@ RobotFramework test case files and resource files the system in “broken” state for investigation. + Every testcase SHALL be correctly tagged. List of defined tags is in - csit/docs/tag_documentation.rst (FIXME: rst-ize the link) file. + csit/docs/introduction/test_tag_documentation.rst + Whenever possible, common tags SHALL be set using Force Tags in Settings table. @@ -141,7 +138,6 @@ RobotFramework test case files and resource files + All test case names (and suite names) SHALL conform to current naming convention. https://wiki.fd.io/view/CSIT/csit-test-naming - TODO: Migrate the convention document to .rst and re-link. + Frequently, different suites use the same test case layout. It is RECOMMENDED to use autogeneration scripts available, @@ -164,9 +160,6 @@ RobotFramework test case files and resource files to generate tests and resources documentation. In that case example keyword usage would be rendered in table. - + TODO: We should adapt it for current tool - used to generate the documentation. - + Keyword name SHALL describe what the keyword does, specifically and in a reasonable length (“short sentence”). @@ -194,19 +187,13 @@ RobotFramework test case files and resource files and it makes it harder for the line containing the resulting long name to fit into the maximum character limit, so you SHOULD NOT use them. -Python library files -~~~~~~~~~~~~~~~~~~~~ - -TODO: Add guidelines for Python scripts (both utilities called by test on nodes -and unrelated ones such as PAL) if there are any (in addition to library ones). +# Python library files + General + SHALL be used to implement low-level keywords that are called from resource files (of higher-level keywords) or from test cases. - + TODO: Discuss debugability, speed, logging, complexity of logic. - + Higher-level keywords MAY be implemented in python library file too. it is RECOMMENDED especially in the case that their implementation in resource file would be too difficult or impossible, @@ -217,17 +204,12 @@ and unrelated ones such as PAL) if there are any (in addition to library ones). and possible return value(s) or raised exceptions. + The docstrings SHOULD conform to - `PEP 257 `_ + [PEP 257](https://www.python.org/dev/peps/pep-0257/) and other quality standards. + CSIT contributions SHALL use a specific formatting for documenting arguments, return values and similar. - + FIXME: Find a link which documents sthis style. - it is based on Sphinx, but very different from - `Napoleon style - `_. - + Keyword usage examples MAY be grouped and used in the class/module documentation string, to provide better overview of the usage and relationships between keywords. @@ -240,13 +222,11 @@ and unrelated ones such as PAL) if there are any (in addition to library ones). so its name in the python library should be lowercase_with_underscores. Robot call sites should usename with first letter capitalized, and spaces. - + FIXME: create Robot keyword naming item in proper place. - + Coding + It is RECOMMENDED to use some standard development tool (e.g. PyCharm Community Edition) and follow - `PEP-8 `_ recommendations. + [PEP-8](https://www.python.org/dev/peps/pep-0008/) recommendations. + All python code (not only Robot libraries) SHALL adhere to PEP-8 standard. This is reported by CSIT Jenkins verify job. @@ -258,15 +238,15 @@ and unrelated ones such as PAL) if there are any (in addition to library ones). + CSIT Python code assumes PYTHONPATH is set to the root of cloned CSIT git repository, creating a tree of sub-packages. - You SHALL use that tree for importing, for example:: + You SHALL use that tree for importing, for example - from resources.libraries.python.ssh import exec_cmd_no_error + from resources.libraries.python.ssh import exec_cmd_no_error + Imports SHALL be grouped in the following order: - #. standard library imports, - #. related third party imports, - #. local application/library specific imports. + 1. standard library imports, + 2. related third party imports, + 3. local application/library specific imports. You SHALL put a blank line between each group of imports. @@ -312,8 +292,3 @@ and unrelated ones such as PAL) if there are any (in addition to library ones). + For composing and formatting strings, you SHOULD use .format() with named arguments. Example: "repr() of name: {name!r}".format(name=name) - -Bash scripts and libraries -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -TODO: Link or copy the bash_code_style.rst document here. diff --git a/docs/content/introduction/test_naming.md b/docs/content/introduction/test_naming.md new file mode 100644 index 0000000000..22e2c0bf8a --- /dev/null +++ b/docs/content/introduction/test_naming.md @@ -0,0 +1,107 @@ +--- +title: "Test Naming" +weight: 4 +--- + +# Test Naming + +## Background + +{{< release_csit >}} follows a common structured naming convention for all +performance and system functional tests, introduced in CSIT 17.01. + +The naming should be intuitive for majority of the tests. Complete +description of CSIT test naming convention is provided on +[CSIT test naming wiki page](https://wiki.fd.io/view/CSIT/csit-test-naming). +Below few illustrative examples of the naming usage for test suites across CSIT +performance, functional and Honeycomb management test areas. + +## Naming Convention + +The CSIT approach is to use tree naming convention and to encode following +testing information into test suite and test case names: + +1. packet network port configuration + * port type, physical or virtual; + * number of ports; + * NIC model, if applicable; + * port-NIC locality, if applicable; +2. packet encapsulations; +3. VPP packet processing + * packet forwarding mode; + * packet processing function(s); +4. packet forwarding path + * if present, network functions (processes, containers, VMs) and their + topology within the computer; +5. main measured variable, type of test. + +Proposed convention is to encode ports and NICs on the left (underlay), +followed by outer-most frame header, then other stacked headers up to the +header processed by vSwitch-VPP, then VPP forwarding function, then encap on +vhost interface, number of vhost interfaces, number of VMs. If chained VMs +present, they get added on the right. Test topology is expected to be +symmetric, in other words packets enter and leave SUT through ports specified +on the left of the test name. Here some examples to illustrate the convention +followed by the complete legend, and tables mapping the new test filenames to +old ones. + +## Naming Examples + +CSIT test suite naming examples (filename.robot) for common tested VPP +topologies: + +1. **Physical port to physical port - a.k.a. NIC-to-NIC, Phy-to-Phy, P2P** + * *PortNICConfig-WireEncapsulation-PacketForwardingFunction- + PacketProcessingFunction1-...-PacketProcessingFunctionN-TestType* + * *10ge2p1x520-dot1q-l2bdbasemaclrn-ndrdisc.robot* => 2 ports of 10GE on Intel + x520 NIC, dot1q tagged Ethernet, L2 bridge-domain baseline switching with + MAC learning, NDR throughput discovery. + * *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-ndrchk.robot* => 2 ports of 10GE on + Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain baseline switching + with MAC learning, NDR throughput discovery. + * *10ge2p1x520-ethip4-ip4base-ndrdisc.robot* => 2 ports of 10GE on Intel x520 + NIC, IPv4 baseline routed forwarding, NDR throughput discovery. + * *10ge2p1x520-ethip6-ip6scale200k-ndrdisc.robot* => 2 ports of 10GE on Intel + x520 NIC, IPv6 scaled up routed forwarding, NDR throughput discovery. + * *10ge2p1x520-ethip4-ip4base-iacldstbase-ndrdisc.robot* => 2 ports of 10GE on + Intel x520 NIC, IPv4 baseline routed forwarding, ingress Access Control + Lists baseline matching on destination, NDR throughput discovery. + * *40ge2p1vic1385-ethip4-ip4base-ndrdisc.robot* => 2 ports of 40GE on Cisco + vic1385 NIC, IPv4 baseline routed forwarding, NDR throughput discovery. + * *eth2p-ethip4-ip4base-func.robot* => 2 ports of Ethernet, IPv4 baseline + routed forwarding, functional tests. +2. **Physical port to VM (or VM chain) to physical port - a.k.a. NIC2VM2NIC, + P2V2P, NIC2VMchain2NIC, P2V2V2P** + * *PortNICConfig-WireEncapsulation-PacketForwardingFunction- + PacketProcessingFunction1-...-PacketProcessingFunctionN-VirtEncapsulation- + VirtPortConfig-VMconfig-TestType* + * *10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot* => 2 ports + of 10GE on Intel x520 NIC, dot1q tagged Ethernet, L2 bridge-domain switching + to/from two vhost interfaces and one VM, NDR throughput discovery. + * *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc.robot* => 2 + ports of 10GE on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain + switching to/from two vhost interfaces and one VM, NDR throughput discovery. + * *10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc.robot* => 2 + ports of 10GE on Intel x520 NIC, IPv4 VXLAN Ethernet, L2 bridge-domain + switching to/from four vhost interfaces and two VMs, NDR throughput + discovery. + * *eth2p-ethip4vxlan-l2bdbasemaclrn-eth-2vhost-1vm-func.robot* => 2 ports of + Ethernet, IPv4 VXLAN Ethernet, L2 bridge-domain switching to/from two vhost + interfaces and one VM, functional tests. +3. **API CRUD tests - Create (Write), Read (Retrieve), Update (Modify), Delete + (Destroy) operations for configuration and operational data** + * *ManagementTestKeyword-ManagementOperation-ManagedFunction1-...- + ManagedFunctionN-ManagementAPI1-ManagementAPIN-TestType* + * *mgmt-cfg-lisp-apivat-func* => configuration of LISP with VAT API calls, + functional tests. + * *mgmt-cfg-l2bd-apihc-apivat-func* => configuration of L2 Bridge-Domain with + Honeycomb API and VAT API calls, functional tests. + * *mgmt-oper-int-apihcnc-func* => reading status and operational data of + interface with Honeycomb NetConf API calls, functional tests. + * *mgmt-cfg-int-tap-apihcnc-func* => configuration of tap interfaces with + Honeycomb NetConf API calls, functional tests. + * *mgmt-notif-int-subint-apihcnc-func* => notifications of interface and + sub-interface events with Honeycomb NetConf Notifications, functional tests. + +For complete description of CSIT test naming convention please refer to +[CSIT test naming wiki page](https://wiki.fd.io/view/CSIT/csit-test-naming>). diff --git a/docs/content/introduction/test_scenarios_overview.md b/docs/content/introduction/test_scenarios_overview.md new file mode 100644 index 0000000000..415ee3403f --- /dev/null +++ b/docs/content/introduction/test_scenarios_overview.md @@ -0,0 +1,61 @@ +--- +title: "Test Scenarios Overview" +weight: 2 +--- + +# Test Scenarios Overview + +FD.io CSIT Dashboard includes multiple test scenarios of VPP +centric applications, topologies and use cases. In addition it also +covers baseline tests of DPDK sample applications. Tests are executed in +physical (performance tests) and virtual environments (functional +tests). + +Brief overview of test scenarios covered in this documentation: + +1. **VPP Performance**: VPP performance tests are executed in physical + FD.io testbeds, focusing on VPP network data plane performance in + NIC-to-NIC switching topologies. VPP application runs in + bare-metal host user-mode handling NICs. TRex is used as a traffic generator. +2. **VPP Vhostuser Performance with KVM VMs**: VPP VM service switching + performance tests using vhostuser virtual interface for + interconnecting multiple NF-in-VM instances. VPP vswitch + instance runs in bare-metal user-mode handling NICs and connecting + over vhost-user interfaces to VM instances each running VPP with virtio + virtual interfaces. Similarly to VPP Performance, tests are run across a + range of configurations. TRex is used as a traffic generator. +3. **VPP Memif Performance with LXC and Docker Containers**: VPP + Container service switching performance tests using memif virtual + interface for interconnecting multiple VPP-in-container instances. + VPP vswitch instance runs in bare-metal user-mode handling NICs and + connecting over memif (Slave side) interfaces to more instances of + VPP running in LXC or in Docker Containers, both with memif + interfaces (Master side). Similarly to VPP Performance, tests are + run across a range of configurations. TRex is used as a traffic + generator. +4. **DPDK Performance**: VPP uses DPDK to drive the NICs and physical + interfaces. DPDK performance tests are used as a baseline to + profile performance of the DPDK sub-system. Two DPDK applications + are tested: Testpmd and L3fwd. DPDK tests are executed in the same + testing environment as VPP tests. DPDK Testpmd and L3fwd + applications run in host user-mode. TRex is used as a traffic + generator. +5. **T-Rex Performance**: T-Rex perfomance tests are executed in physical + FD.io testbeds, focusing on T-Rex data plane performance in NIC-to-NIC + loopback topologies. +6. **VPP Functional**: VPP functional tests are executed in virtual + FD.io testbeds, focusing on VPP packet processing functionality, + including both network data plane and in-line control plane. Tests + cover vNIC-to-vNIC vNIC-to-nestedVM-to-vNIC forwarding topologies. + Scapy is used as a traffic generator. + +All CSIT test data included in this report is auto-generated from Robot +Framework json output files produced by Linux Foundation FD.io Jenkins jobs +executed against {{< release_vpp >}} artifacts. + +FD.io CSIT system is developed using two main coding platforms: Robot +Framework and Python. {{< release_csit >}} source code for the executed test +suites is available in corresponding CSIT branch in the directory +`./tests/`. A local copy of CSIT source code +can be obtained by cloning CSIT git repository - `git clone +https://gerrit.fd.io/r/csit`. diff --git a/docs/tag_documentation.rst b/docs/content/introduction/test_tag_description.md similarity index 72% rename from docs/tag_documentation.rst rename to docs/content/introduction/test_tag_description.md index 14fe731950..630afa864e 100644 --- a/docs/tag_documentation.rst +++ b/docs/content/introduction/test_tag_description.md @@ -1,888 +1,863 @@ -CSIT Tags -========= +--- +title: "Test Tags Descriptions" +weight: 5 +--- + +# Test Tags Descriptions All CSIT test cases are labelled with Robot Framework tags used to allow for easy test case type identification, test case grouping and selection for execution. Following sections list currently used CSIT tags and their descriptions. -Testbed Topology Tags ---------------------- +## Testbed Topology Tags -.. topic:: 2_NODE_DOUBLE_LINK_TOPO +**2_NODE_DOUBLE_LINK_TOPO** 2 nodes connected in a circular topology with two links interconnecting the devices. -.. topic:: 2_NODE_SINGLE_LINK_TOPO +**2_NODE_SINGLE_LINK_TOPO** 2 nodes connected in a circular topology with at least one link interconnecting devices. -.. topic:: 3_NODE_DOUBLE_LINK_TOPO +**3_NODE_DOUBLE_LINK_TOPO** 3 nodes connected in a circular topology with two links interconnecting the devices. -.. topic:: 3_NODE_SINGLE_LINK_TOPO +**3_NODE_SINGLE_LINK_TOPO** 3 nodes connected in a circular topology with at least one link interconnecting devices. -Objective Tags --------------- +## Objective Tags -.. topic:: SKIP_PATCH +**SKIP_PATCH** Test case(s) marked to not run in case of vpp-csit-verify (i.e. VPP patch) and csit-vpp-verify jobs (i.e. CSIT patch). -.. topic:: SKIP_VPP_PATCH +**SKIP_VPP_PATCH** Test case(s) marked to not run in case of vpp-csit-verify (i.e. VPP patch). -Environment Tags ----------------- +## Environment Tags -.. topic:: HW_ENV +**HW_ENV** DUTs and TGs are running on bare metal. -.. topic:: VM_ENV +**VM_ENV** DUTs and TGs are running in virtual environment. -.. topic:: VPP_VM_ENV +**VPP_VM_ENV** DUTs with VPP and capable of running Virtual Machine. -NIC Model Tags --------------- +## NIC Model Tags -.. topic:: NIC_Intel-X520-DA2 +**NIC_Intel-X520-DA2** Intel X520-DA2 NIC. -.. topic:: NIC_Intel-XL710 +**NIC_Intel-XL710** Intel XL710 NIC. -.. topic:: NIC_Intel-X710 +**NIC_Intel-X710** Intel X710 NIC. -.. topic:: NIC_Intel-XXV710 +**NIC_Intel-XXV710** Intel XXV710 NIC. -.. topic:: NIC_Cisco-VIC-1227 +**NIC_Cisco-VIC-1227** VIC-1227 by Cisco. -.. topic:: NIC_Cisco-VIC-1385 +**NIC_Cisco-VIC-1385** VIC-1385 by Cisco. -.. topic:: NIC_Amazon-Nitro-50G +**NIC_Amazon-Nitro-50G** Amazon EC2 ENA NIC. -Scaling Tags ------------- +## Scaling Tags -.. topic:: FIB_20K +**FIB_20K** 2x10,000 entries in single fib table -.. topic:: FIB_200K +**FIB_200K** 2x100,000 entries in single fib table -.. topic:: FIB_1M +**FIB_1M** 2x500,000 entries in single fib table -.. topic:: FIB_2M +**FIB_2M** 2x1,000,000 entries in single fib table -.. topic:: L2BD_1 +**L2BD_1** Test with 1 L2 bridge domain. -.. topic:: L2BD_10 +**L2BD_10** Test with 10 L2 bridge domains. -.. topic:: L2BD_100 +**L2BD_100** Test with 100 L2 bridge domains. -.. topic:: L2BD_1K +**L2BD_1K** Test with 1000 L2 bridge domains. -.. topic:: VLAN_1 +**VLAN_1** Test with 1 VLAN sub-interface. -.. topic:: VLAN_10 +**VLAN_10** Test with 10 VLAN sub-interfaces. -.. topic:: VLAN_100 +**VLAN_100** Test with 100 VLAN sub-interfaces. -.. topic:: VLAN_1K +**VLAN_1K** Test with 1000 VLAN sub-interfaces. -.. topic:: VXLAN_1 +**VXLAN_1** Test with 1 VXLAN tunnel. -.. topic:: VXLAN_10 +**VXLAN_10** Test with 10 VXLAN tunnels. -.. topic:: VXLAN_100 +**VXLAN_100* Test with 100 VXLAN tunnels. -.. topic:: VXLAN_1K +**VXLAN_1K** Test with 1000 VXLAN tunnels. -.. topic:: TNL_{t} +**TNL_{t}** IPSec in tunnel mode - {t} tunnels. -.. topic:: SRC_USER_{u} +**SRC_USER_{u}** Traffic flow with {u} unique IPs (users) in one direction. {u}=(1,10,100,1000,2000,4000). -.. topic:: 100_FLOWS +**100_FLOWS** Traffic stream with 100 unique flows (10 IPs/users x 10 UDP ports) in one direction. -.. topic:: 10k_FLOWS +**10k_FLOWS** Traffic stream with 10 000 unique flows (10 IPs/users x 1000 UDP ports) in one direction. -.. topic:: 100k_FLOWS +**100k_FLOWS** Traffic stream with 100 000 unique flows (100 IPs/users x 1000 UDP ports) in one direction. -.. topic:: HOSTS_{h} +**HOSTS_{h}** Stateless or stateful traffic stream with {h} client source IP4 addresses, usually with 63 flow differing in source port number. Could be UDP or TCP. If NAT is used, the clients are inside. Outside IP range can differ. {h}=(1024,4096,16384,65536,262144). -.. topic:: GENEVE4_{t}TUN +**GENEVE4_{t}TUN** Test with {t} GENEVE IPv4 tunnel. {t}=(1,4,16,64,256,1024) -Test Category Tags ------------------- +## Test Category Tags -.. topic:: DEVICETEST +**DEVICETEST* All vpp_device functional test cases. -.. topic:: PERFTEST +**PERFTEST** All performance test cases. -VPP Device Type Tags --------------------- +## VPP Device Type Tags -.. topic:: SCAPY +**SCAPY** All test cases that uses Scapy for packet generation and validation. -Performance Type Tags ---------------------- +## erformance Type Tags -.. topic:: NDRPDR +**NDRPDR** Single test finding both No Drop Rate and Partial Drop Rate simultaneously. The search is done by optimized algorithm which performs multiple trial runs at different durations and transmit rates. The results come from the final trials, which have duration of 30 seconds. -.. topic:: MRR +**MRR** Performance tests where TG sends the traffic at maximum rate (line rate) and reports total sent/received packets over trial duration. The result is an average of 10 trials of 1 second duration. -.. topic:: SOAK +**SOAK** Performance tests using PLRsearch to find the critical load. -.. topic:: RECONF +**RECONF** Performance tests aimed to measure lost packets (time) when performing reconfiguration while full throughput offered load is applied. -Ethernet Frame Size Tags ------------------------- +## Ethernet Frame Size Tags These are describing the traffic offered by Traffic Generator, "primary" traffic in case of asymmetric load. For traffic between DUTs, or for "secondary" traffic, see ${overhead} value. -.. topic:: {b}B +**{b}B** {b} Bytes frames used for test. -.. topic:: IMIX +**IMIX** IMIX frame sequence (28x 64B, 16x 570B, 4x 1518B) used for test. -Test Type Tags --------------- +## Test Type Tags -.. topic:: BASE +**BASE** Baseline test cases, no encapsulation, no feature(s) configured in tests. No scaling whatsoever, beyond minimum needed for RSS. -.. topic:: IP4BASE +**IP4BASE** IPv4 baseline test cases, no encapsulation, no feature(s) configured in tests. Minimal number of routes. Other quantities may be scaled. -.. topic:: IP6BASE +**IP6BASE** IPv6 baseline test cases, no encapsulation, no feature(s) configured in tests. -.. topic:: L2XCBASE +**L2XCBASE** L2XC baseline test cases, no encapsulation, no feature(s) configured in tests. -.. topic:: L2BDBASE +**L2BDBASE** L2BD baseline test cases, no encapsulation, no feature(s) configured in tests. -.. topic:: L2PATCH +**L2PATCH** L2PATCH baseline test cases, no encapsulation, no feature(s) configured in tests. -.. topic:: SCALE +**SCALE** Scale test cases. Other tags specify which quantities are scaled. Also applies if scaling is set on TG only (e.g. DUT works as IP4BASE). -.. topic:: ENCAP +**ENCAP** Test cases where encapsulation is used. Use also encapsulation tag(s). -.. topic:: FEATURE +**FEATURE** At least one feature is configured in test cases. Use also feature tag(s). -.. topic:: UDP +**UDP** Tests which use any kind of UDP traffic (STL or ASTF profile). -.. topic:: TCP +**TCP** Tests which use any kind of TCP traffic (STL or ASTF profile). -.. topic:: TREX +**TREX** Tests which test trex traffic without any software DUTs in the traffic path. -.. - TODO: Should we define tags STL and ASTF? - -.. topic:: UDP_UDIR +**UDP_UDIR** Tests which use unidirectional UDP traffic (STL profile only). -.. topic:: UDP_BIDIR +**UDP_BIDIR** Tests which use bidirectional UDP traffic (STL profile only). -.. topic:: UDP_CPS +**UDP_CPS** Tests which measure connections per second on minimal UDP pseudoconnections. This implies ASTF traffic profile is used. This tag selects specific output processing in PAL. -.. topic:: TCP_CPS +**TCP_CPS** Tests which measure connections per second on empty TCP connections. This implies ASTF traffic profile is used. This tag selects specific output processing in PAL. -.. topic:: TCP_RPS +**TCP_RPS** Tests which measure requests per second on empty TCP connections. This implies ASTF traffic profile is used. This tag selects specific output processing in PAL. -.. topic:: UDP_PPS +**UDP_PPS** Tests which measure packets per second on lightweight UDP transactions. This implies ASTF traffic profile is used. This tag selects specific output processing in PAL. -.. topic:: TCP_PPS +**TCP_PPS** Tests which measure packets per second on lightweight TCP transactions. This implies ASTF traffic profile is used. This tag selects specific output processing in PAL. -.. topic:: HTTP +**HTTP** Tests which use traffic formed of valid HTTP requests (and responses). -.. - TODO: Add HTTP tag to the current hoststack tests. - TODO: Document other tags already used by hoststack tests. - -.. topic:: LDP_NGINX +**LDP_NGINX** LDP NGINX is un-modified NGINX with VPP via LD_PRELOAD. -.. topic:: NF_DENSITY +**NF_DENSITY** Performance tests that measure throughput of multiple VNF and CNF service topologies at different service densities. -NF Service Density Tags ------------------------ +## NF Service Density Tags -.. topic:: CHAIN +**CHAIN** NF service density tests with VNF or CNF service chain topology(ies). -.. topic:: PIPE +**PIPE** NF service density tests with CNF service pipeline topology(ies). -.. topic:: NF_L3FWDIP4 +**NF_L3FWDIP4** NF service density tests with DPDK l3fwd IPv4 routing as NF workload. -.. topic:: NF_VPPIP4 +**NF_VPPIP4** NF service density tests with VPP IPv4 routing as NF workload. -.. topic:: {r}R{c}C +**{r}R{c}C** Service density matrix locator {r}R{c}C, {r}Row denoting number of service instances, {c}Column denoting number of NFs per service instance. {r}=(1,2,4,6,8,10), {c}=(1,2,4,6,8,10). -.. topic:: {n}VM{t}T +**{n}VM{t}T** Service density {n}VM{t}T, {n}Number of NF Qemu VMs, {t}Number of threads per NF. -.. topic:: {n}DCRt}T +**{n}DCRt}T** Service density {n}DCR{t}T, {n}Number of NF Docker containers, {t}Number of threads per NF. -.. topic:: {n}_ADDED_CHAINS +**{n}_ADDED_CHAINS** {n}Number of chains (or pipelines) added (and/or removed) during RECONF test. -Forwarding Mode Tags --------------------- +## Forwarding Mode Tags -.. topic:: L2BDMACSTAT +**L2BDMACSTAT** VPP L2 bridge-domain, L2 MAC static. -.. topic:: L2BDMACLRN +**L2BDMACLRN** VPP L2 bridge-domain, L2 MAC learning. -.. topic:: L2XCFWD +**L2XCFWD** VPP L2 point-to-point cross-connect. -.. topic:: IP4FWD +**IP4FWD** VPP IPv4 routed forwarding. -.. topic:: IP6FWD +**IP6FWD** VPP IPv6 routed forwarding. -.. topic:: LOADBALANCER_MAGLEV +**LOADBALANCER_MAGLEV** VPP Load balancer maglev mode. -.. topic:: LOADBALANCER_L3DSR +**LOADBALANCER_L3DSR** VPP Load balancer l3dsr mode. -.. topic:: LOADBALANCER_NAT4 +**LOADBALANCER_NAT4** VPP Load balancer nat4 mode. -.. topic:: N2N +**N2N** Mode, where NICs from the same physical server are directly connected with a cable. -Underlay Tags -------------- +## Underlay Tags -.. topic:: IP4UNRLAY +**IP4UNRLAY** IPv4 underlay. -.. topic:: IP6UNRLAY +**IP6UNRLAY** IPv6 underlay. -.. topic:: MPLSUNRLAY +**MPLSUNRLAY** MPLS underlay. -Overlay Tags ------------- +## Overlay Tags -.. topic:: L2OVRLAY +**L2OVRLAY** L2 overlay. -.. topic:: IP4OVRLAY +**IP4OVRLAY** IPv4 overlay (IPv4 payload). -.. topic:: IP6OVRLAY +**IP6OVRLAY** IPv6 overlay (IPv6 payload). -Tagging Tags ------------- +## Tagging Tags -.. topic:: DOT1Q +**DOT1Q** All test cases with dot1q. -.. topic:: DOT1AD +**DOT1AD** All test cases with dot1ad. -Encapsulation Tags ------------------- +## Encapsulation Tags -.. topic:: ETH +**ETH** All test cases with base Ethernet (no encapsulation). -.. topic:: LISP +**LISP** All test cases with LISP. -.. topic:: LISPGPE +**LISPGPE** All test cases with LISP-GPE. -.. topic:: LISP_IP4o4 +**LISP_IP4o4** All test cases with LISP_IP4o4. -.. topic:: LISPGPE_IP4o4 +**LISPGPE_IP4o4** All test cases with LISPGPE_IP4o4. -.. topic:: LISPGPE_IP6o4 +**LISPGPE_IP6o4** All test cases with LISPGPE_IP6o4. -.. topic:: LISPGPE_IP4o6 +**LISPGPE_IP4o6** All test cases with LISPGPE_IP4o6. -.. topic:: LISPGPE_IP6o6 +**LISPGPE_IP6o6** All test cases with LISPGPE_IP6o6. -.. topic:: VXLAN +**VXLAN** All test cases with Vxlan. -.. topic:: VXLANGPE +**VXLANGPE** All test cases with VXLAN-GPE. -.. topic:: GRE +**GRE** All test cases with GRE. -.. topic:: GTPU +**GTPU** All test cases with GTPU. -.. topic:: GTPU_HWACCEL +**GTPU_HWACCEL** All test cases with GTPU_HWACCEL. -.. topic:: IPSEC +**IPSEC** All test cases with IPSEC. -.. topic:: WIREGUARD +**WIREGUARD** All test cases with WIREGUARD. -.. topic:: SRv6 +**SRv6** All test cases with Segment routing over IPv6 dataplane. -.. topic:: SRv6_1SID +**SRv6_1SID** All SRv6 test cases with single SID. -.. topic:: SRv6_2SID_DECAP +**SRv6_2SID_DECAP** All SRv6 test cases with two SIDs and with decapsulation. -.. topic:: SRv6_2SID_NODECAP +**SRv6_2SID_NODECAP** All SRv6 test cases with two SIDs and without decapsulation. -.. topic:: GENEVE +**GENEVE** All test cases with GENEVE. -.. topic:: GENEVE_L3MODE +**GENEVE_L3MODE** All test cases with GENEVE tunnel in L3 mode. -.. topic:: FLOW +**FLOW** All test cases with FLOW. -.. topic:: FLOW_DIR +**FLOW_DIR** All test cases with FLOW_DIR. -.. topic:: FLOW_RSS +**FLOW_RSS** All test cases with FLOW_RSS. -.. topic:: NTUPLE +**NTUPLE** All test cases with NTUPLE. -.. topic:: L2TPV3 +**L2TPV3** All test cases with L2TPV3. -Interface Tags --------------- +## Interface Tags -.. topic:: PHY +**PHY** All test cases which use physical interface(s). -.. topic:: GSO +**GSO** All test cases which uses Generic Segmentation Offload. -.. topic:: VHOST +**VHOST** All test cases which uses VHOST. -.. topic:: VHOST_1024 +**VHOST_1024** All test cases which uses VHOST DPDK driver with qemu queue size set to 1024. -.. topic:: VIRTIO +**VIRTIO** All test cases which uses VIRTIO native VPP driver. -.. topic:: VIRTIO_1024 +**VIRTIO_1024** All test cases which uses VIRTIO native VPP driver with qemu queue size set to 1024. -.. topic:: CFS_OPT +**CFS_OPT** All test cases which uses VM with optimised scheduler policy. -.. topic:: TUNTAP +**TUNTAP* All test cases which uses TUN and TAP. -.. topic:: AFPKT +**AFPKT** All test cases which uses AFPKT. -.. topic:: NETMAP +**NETMAP** All test cases which uses Netmap. -.. topic:: MEMIF +**MEMIF** All test cases which uses Memif. -.. topic:: SINGLE_MEMIF +**SINGLE_MEMIF** All test cases which uses only single Memif connection per DUT. One DUT instance is running in container having one physical interface exposed to container. -.. topic:: LBOND +**LBOND** All test cases which uses link bonding (BondEthernet interface). -.. topic:: LBOND_DPDK +**LBOND_DPDK** All test cases which uses DPDK link bonding. -.. topic:: LBOND_VPP +**LBOND_VPP** All test cases which uses VPP link bonding. -.. topic:: LBOND_MODE_XOR +**LBOND_MODE_XOR** All test cases which uses link bonding with mode XOR. -.. topic:: LBOND_MODE_LACP +**LBOND_MODE_LACP** All test cases which uses link bonding with mode LACP. -.. topic:: LBOND_LB_L34 +**LBOND_LB_L34** All test cases which uses link bonding with load-balance mode l34. -.. topic:: LBOND_{n}L +**LBOND_{n}L** All test cases which use {n} link(s) for link bonding. -.. topic:: DRV_{d} +**DRV_{d}** All test cases which NIC Driver for DUT is set to {d}. Default is VFIO_PCI. {d}=(AVF, RDMA_CORE, VFIO_PCI, AF_XDP). -.. topic:: TG_DRV_{d} +**TG_DRV_{d}** All test cases which NIC Driver for TG is set to {d}. Default is IGB_UIO. {d}=(RDMA_CORE, IGB_UIO). -.. topic:: RXQ_SIZE_{n} +**RXQ_SIZE_{n}** All test cases which RXQ size (RX descriptors) are set to {n}. Default is 0, which means VPP (API) default. -.. topic:: TXQ_SIZE_{n} +**TXQ_SIZE_{n}** All test cases which TXQ size (TX descriptors) are set to {n}. Default is 0, which means VPP (API) default. -Feature Tags ------------- +## Feature Tags -.. topic:: IACLDST +**IACLDST** iACL destination. -.. topic:: ADLALWLIST +**ADLALWLIST** ADL allowlist. -.. topic:: NAT44 +**NAT44** NAT44 configured and tested. -.. topic:: NAT64 +**NAT64** NAT44 configured and tested. -.. topic:: ACL +**ACL** ACL plugin configured and tested. -.. topic:: IACL +**IACL** ACL plugin configured and tested on input path. -.. topic:: OACL +**OACL** ACL plugin configured and tested on output path. -.. topic:: ACL_STATELESS +**ACL_STATELESS** ACL plugin configured and tested in stateless mode (permit action). -.. topic:: ACL_STATEFUL +**ACL_STATEFUL** ACL plugin configured and tested in stateful mode (permit+reflect action). -.. topic:: ACL1 +**ACL1** ACL plugin configured and tested with 1 not-hitting ACE. -.. topic:: ACL10 +**ACL10** ACL plugin configured and tested with 10 not-hitting ACEs. -.. topic:: ACL50 +**ACL50** ACL plugin configured and tested with 50 not-hitting ACEs. -.. topic:: SRv6_PROXY +**SRv6_PROXY** SRv6 endpoint to SR-unaware appliance via proxy. -.. topic:: SRv6_PROXY_STAT +**SRv6_PROXY_STAT** SRv6 endpoint to SR-unaware appliance via static proxy. -.. topic:: SRv6_PROXY_DYN +**SRv6_PROXY_DYN** SRv6 endpoint to SR-unaware appliance via dynamic proxy. -.. topic:: SRv6_PROXY_MASQ +**SRv6_PROXY_MASQ** SRv6 endpoint to SR-unaware appliance via masquerading proxy. -Encryption Tags ---------------- +## Encryption Tags -.. topic:: IPSECSW +**IPSECSW** Crypto in software. -.. topic:: IPSECHW +**IPSECHW** Crypto in hardware. -.. topic:: IPSECTRAN +**IPSECTRAN** IPSec in transport mode. -.. topic:: IPSECTUN +**IPSECTUN** IPSec in tunnel mode. -.. topic:: IPSECINT +**IPSECINT** IPSec in interface mode. -.. topic:: AES +**AES** IPSec using AES algorithms. -.. topic:: AES_128_CBC +**AES_128_CBC** IPSec using AES 128 CBC algorithms. -.. topic:: AES_128_GCM +**AES_128_GCM** IPSec using AES 128 GCM algorithms. -.. topic:: AES_256_GCM +**AES_256_GCM** IPSec using AES 256 GCM algorithms. -.. topic:: HMAC +**HMAC** IPSec using HMAC integrity algorithms. -.. topic:: HMAC_SHA_256 +**HMAC_SHA_256** IPSec using HMAC SHA 256 integrity algorithms. -.. topic:: HMAC_SHA_512 +**HMAC_SHA_512** IPSec using HMAC SHA 512 integrity algorithms. -.. topic:: SCHEDULER +**SCHEDULER** IPSec using crypto sw scheduler engine. -.. topic:: FASTPATH +**FASTPATH** IPSec policy mode with spd fast path enabled. -Client-Workload Tags --------------------- +## Client-Workload Tags -.. topic:: VM +**VM** All test cases which use at least one virtual machine. -.. topic:: LXC +**LXC** All test cases which use Linux container and LXC utils. -.. topic:: DRC +**DRC** All test cases which use at least one Docker container. -.. topic:: DOCKER +**DOCKER** All test cases which use Docker as container manager. -.. topic:: APP +**APP** All test cases with specific APP use. -Container Orchestration Tags ----------------------------- +## Container Orchestration Tags -.. topic:: {n}VSWITCH +**{n}VSWITCH** {n} VPP running in {n} Docker container(s) acting as a VSWITCH. {n}=(1). -.. topic:: {n}VNF +**{n}VNF** {n} VPP running in {n} Docker container(s) acting as a VNF work load. {n}=(1). -Multi-Threading Tags --------------------- +## Multi-Threading Tags -.. topic:: STHREAD +**STHREAD** - *Dynamic tag*. - All test cases using single poll mode thread. + *Dynamic tag*. + All test cases using single poll mode thread. -.. topic:: MTHREAD +**MTHREAD** - *Dynamic tag*. + *Dynamic tag*. All test cases using more then one poll mode driver thread. -.. topic:: {n}NUMA +**{n}NUMA** All test cases with packet processing on {n} socket(s). {n}=(1,2). -.. topic:: {c}C +**{c}C** {c} worker thread pinned to {c} dedicated physical core; or if HyperThreading is enabled, {c}*2 worker threads each pinned to a separate logical core within 1 dedicated physical core. Main thread pinned to core 1. {t}=(1,2,4). -.. topic:: {t}T{c}C +**{t}T{c}C** - *Dynamic tag*. + *Dynamic tag*. {t} worker threads pinned to {c} dedicated physical cores. Main thread pinned to core 1. By default CSIT is configuring same amount of receive queues per interface as worker threads. {t}=(1,2,4,8), {t}=(1,2,4). diff --git a/docs/content/introduction/testing_in_vagrant.md b/docs/content/introduction/testing_in_vagrant.md new file mode 100644 index 0000000000..ef1e231393 --- /dev/null +++ b/docs/content/introduction/testing_in_vagrant.md @@ -0,0 +1,85 @@ +--- +bookHidden: true +title: "Running CSIT locally in Vagrant" +--- + +# Running CSIT locally in Vagrant + +## Install prerequisites + +Run all commands from command line. + +1. Download and install virtualbox from + [official page](https://www.virtualbox.org/wiki/Downloads). + To verify the installation, run VBoxManage + + - on windows + + "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" --version + + - on nix + + VBoxManage --version + Tested version: 6.1.16r140961 + +2. Download and install latest vagrant + [from official page](https://www.vagrantup.com/downloads.html). + To verify the installtion, run + + vagrant -v + Tested version: Vagrant 2.2.15 + +3. Install vagrant plugins:: + + vagrant plugin install vagrant-vbguest + vagrant plugin install vagrant-cachier + + If you are behind a proxy, install proxyconf plugin and update proxy + settings in Vagrantfile:: + + vagrant plugin install vagrant-proxyconf + +## Set up and run Vagrant virtualbox + +Before running following commands change working directory to Vagrant specific directory +(from within root CSIT directory) + + cd csit.infra.vagrant + +This allows Vagrant to automatically find Vagrantfile and corresponding Vagrant environment. + +Start the provisioning + + vagrant up --provider virtualbox + +Your new VPP Device virtualbox machine will be created and configured. +Master branch of csit project will be cloned inside virtual machine into +/home/vagrant/csit folder. + +Once the process is finished, you can login to the box using + + vagrant ssh + +In case you need to completely rebuild the box and start from scratch, +run these commands + + vagrant destroy -f + vagrant up --provider virtualbox + +## Run tests + +From within the box run the tests using + + cd /home/vagrant/csit/resources/libraries/bash/entry + ./bootstrap_vpp_device.sh csit-vpp-device-master-ubuntu2004-1n-vbox + +To run only selected tests based on TAGS, export environment variables before +running the test suite + + export GERRIT_EVENT_TYPE="comment-added" + export GERRIT_EVENT_COMMENT_TEXT="devicetest memif" + + # now it will run tests, selected based on tags + ./bootstrap_vpp_device.sh csit-vpp-device-master-ubuntu2004-1n-vbox + + diff --git a/docs/content/methodology/_index.md b/docs/content/methodology/_index.md new file mode 100644 index 0000000000..0959bf089a --- /dev/null +++ b/docs/content/methodology/_index.md @@ -0,0 +1,5 @@ +--- +bookFlatSection: true +title: "Methodology" +weight: 2 +--- \ No newline at end of file diff --git a/docs/content/release_notes/_index.md b/docs/content/release_notes/_index.md new file mode 100644 index 0000000000..c08254e068 --- /dev/null +++ b/docs/content/release_notes/_index.md @@ -0,0 +1,5 @@ +--- +bookFlatSection: true +title: "Release notes" +weight: 2 +--- \ No newline at end of file diff --git a/docs/content/release_notes/dpdk.md b/docs/content/release_notes/dpdk.md new file mode 100644 index 0000000000..facefe4b23 --- /dev/null +++ b/docs/content/release_notes/dpdk.md @@ -0,0 +1,31 @@ +--- +title: "DPDK Performance" +weight: 2 +--- + +# Changes in {{< release_csit >}} + +1. TEST FRAMEWORK + - **CSIT test environment** version has been updated to ver. 11, see + [Environment Versioning]({{< ref "infrastructure#Release Notes" >}}). +2. DPDK PERFORMANCE TESTS + - No updates +3. DPDK RELEASE VERSION CHANGE + - {{< release_csit >}} tested {{< release_dpdk >}}, as used by + {{< release_vpp >}}. + +# Known Issues + +List of known issues in {{< release_csit >}} for DPDK performance tests: + + **#** | **JiraID** | **Issue Description** +-------|--------------------------------------------------|--------------------------------------------------------------------------- + 1 | [CSIT-1848](https://jira.fd.io/browse/CSIT-1848) | 2n-clx, 3n-alt: sporadic testpmd/l3fwd tests fail with no or low traffic. + + +## New + +List of new issues in {{< release_csit >}} for DPDK performance tests: + + **#** | **JiraID** | **Issue Description** +-------|--------------------------------------------------|--------------------------------------------------------------------------- \ No newline at end of file diff --git a/docs/content/release_notes/trex.md b/docs/content/release_notes/trex.md new file mode 100644 index 0000000000..3794dc159c --- /dev/null +++ b/docs/content/release_notes/trex.md @@ -0,0 +1,26 @@ +--- +title: "TRex Performance" +weight: 3 +--- + +# Changes in {{< release_csit >}} + +1. TEST FRAMEWORK + - **CSIT test environment** version has been updated to ver. 11, see + [Environment Versioning]({{< ref "infrastructure#Release Notes" >}}). + +# Known Issues + +List of known issues in {{< release_csit >}} for TRex performance tests + + **#** | **JiraID** | **Issue Description** +-------|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------- + 1 | [CSIT-1876](https://jira.fd.io/browse/CSIT-1876) | 1n-aws: TRex NDR PDR ALL IP4 scale and L2 scale tests failing with 50% packet loss. CSIT removed ip4scale and l2scale except ip4scale2m where it's still failing. + + +## New + +List of new issues in {{< release_csit >}} for TRex performance tests: + + **#** | **JiraID** | **Issue Description** +-------|--------------------------------------------------|--------------------------------------------------------------------------- \ No newline at end of file diff --git a/docs/content/release_notes/vpp.md b/docs/content/release_notes/vpp.md new file mode 100644 index 0000000000..48805ba574 --- /dev/null +++ b/docs/content/release_notes/vpp.md @@ -0,0 +1,95 @@ +--- +title: "VPP Performance" +weight: 1 +--- + +# Changes in {{< release_csit >}} + +1. VPP PERFORMANCE TESTS + - **Enhanced and added VPP hoststack tests** to daily and weekly + trending including: Quic VPP Echo, UDP+TCP LD_PRELOAD iPerf3, + LD_PRELOAD NGINX. + - **Added Nvidia/Mellanox DPDK tests** to daily and weekly trending + and report, in addition to RDMA_CORE ones that were already + there. + - **Jumbo frames tests** got fixed and re-added number of to report + coverage tests. + - **Intel Xeon SKX performance testbeds** got decommissioned and + removed from FD.io performance lab. +2. TEST FRAMEWORK + - **CSIT test environment** version has not changed from ver. 11 used + in previous release, see + [Environment Versioning]({{< ref "infrastructure#Release Notes" >}}). + - **CSIT PAPI optimizations for scale** got applied improving PAPI + programming speed especially for large scale tests. VAT has been + now completely deprecated from CSIT. + - **General Code Housekeeping**: Ongoing code optimizations and bug + fixes. +3. PRESENTATION AND ANALYTICS LAYER + - [Performance dashboard](https://csit.fd.io/) got updated with + addition of VPP telemetry trending across all VPP tests. A number + of code and AWS resource usage optimizations got applied to the + data processing pipeline and UI frontend and backend. + - Examples of release iterative data visualisation: + + - [Packet throughput 2n-icx-e810cq-ip4-base-scale-pdr](https://csit.fd.io/report/#eNrdVcluwjAQ_Zr0ggbZDml64QDkP5BxhhJlwYxNVPr1OAhpYiGO7cEHb3pv1qeRnT8T7h1266zYZuU2U2VThy3LN4twUOdULhSM1oLKl-FG2KF2CGqAxvyAFOIblZX4JYW5gB6P0NgVfK4OIA2gP02vsA6Tja1pcq12T9cvcRitr57RED1CRiQGo7SYZk-3GeddsszXhJoNQsYMeXSzZOKamHUk3aNrfpGpoQuMm9BohqSJ_fubnaHPRpXVg_F3qjijO1RCtEBDnZo8UXFJ6NQmKlGbgjp9ujPU_8cEFdXHcKb-8Q8V1R2PI8PX) + - [Speedup Multi-Core throughput graph for 2n-icx-e810cq-ip4-base-pdr](https://csit.fd.io/report/#eNrtlM8OgjAMxp8GL6aGFRAvHlTew8xRhAR1bpOoT-8wJIUYEg8mXjjsX35fu65fMusuhvaW6nWQbIN0G2Ba5X4Kos3cL6a2GIUIjdaA0cLvDNUkLQGeoVJ3EGF4JNSCViJUV5BNAZWOYRkfQCggV7YnPw5tjM5Nmxp3XeqPe5jmN8fU3z4gDRmGg7JYpstHTzNWLOulIckBvmJGjmyvmOGbWFUYeSJbPYmlvgvMlW80I6GG-d1D92jXqDR7K37qCk6ujLuC_3IlnlwZdyX-0pUkm50v5vT-yZLsBXP6Swk>) + - [MRR, NDR and PDR comparison for 2n-icx-e810cq-ip4-base](https://csit.fd.io/report/#eNrtVMsOgjAQ_Bq8mDW0gHjxoPIfppZVSQDrthLx6y2GuBBj4kVPHvrKzG6nM0mtOxFuLZbLIFkH6TqQaZH7KYhWU79QaWUUSmiMARnN_I6wRGURZA2FvoIIwwNKI3AhQn0G1eyhMDHM4x0IDeiO3cmPXVdTEXWt5aZv_XIPo_nFMepvHyENEoMjWUwzx3bAeSeW-YpQcYFXzJBDOxAzfhOz9qQqtMUNmepdYFx7oxkSetzftWaA9kal2YPx5VTq_J_KR6n0Rv0mFfNP5bNUzDOVJJvUJ6oeP1mS3QG2H0sT>) + - [Normalized throughput architecture comparison for 2n-[icx|clx]-e810cq-ip4-base-pdr](https://csit.fd.io/report/#eNrVk00OgjAQhU-DGzOGFhA3LlTuYUoZhKRibSsRT28hJANRF-500b98rzOvM6l1F4NHi2obJPsg3Qc8rQs_BdFu6RejLI9CDq3WwKOV3xlUKCwCb0CqO7AwPCHXDDcslFcQbQm1jmEd58AkoKv6kx95f0cXpg_ND2PolzxEi5sj6rPPSIuG4MwWyXTVTTSfzJJeGBR0wTsm5NBOzMzfRKrSiDPa-oEk9VUgLn2hCTE5j-86PaFjodJsUHzXlVr-UVfem_35riTZormY8_BneNpvhRpzJNkT6FzkMw>) + - [NICs comparison for 2n-icx-ip4-base-pdr](https://csit.fd.io/report/#eNrll99ugyAUh5_G3SxnESx1N7to53s0FI6rmbYMnKF7-qFrcmRmV7vReuG__A74wSckuvZi8eCwfknEPsn3Cc8rHU5JtnsMF1s7nqUcOmOAZ0_hzmKN0iHwM6jaA0vTN-SGKS_EVkJTewGV2cB2cwSmANtT_xSOY9_IaNv3zV9vfU9eRKn-bCkNr4-SDi2FEReVmdN1VPMnLTWQFiW1CMgUtehGNPGgqKq0skFXfSGVhmmgXIWppoipuP_2akbpbabyYqj4txerG7kcLz3tnXvBZ5aqD5BduQAtBLsOK9ro9-Vo6Wnv1sswUJ-zdPZLJSJdgY_ZL5IY9U6NcPEzTN8NX14JXpsZW_mNewi46zAz691rwroKJzPfwaaws7ciiofzxTbDv6QovgETwNPp>) + +# Known Issues + +Editing Note: below listed known issues need to be updated to reflect the +current state as tracked on +[CSIT TestFailuresTracking wiki](https://wiki.fd.io/view/CSIT/TestFailuresTracking). + +## New + + **#** | **JiraID** | **Issue Description** +-------|--------------------------------------------------|------------------------------------------------------ + 1 | [CSIT-1890](https://jira.fd.io/browse/CSIT-1890) | 3n-alt: Tests failing until 40Ge Interface comes up. + + +## Previous + +Issues reported in previous releases which still affect the current results. + + **#** | **JiraID** | **Issue Description** +-------|-------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + 1 | [CSIT-1782](https://jira.fd.io/browse/CSIT-1782) | Multicore AVF tests are failing when trying to create interface. Frequency is reduced by CSIT workaround, but occasional failures do still happen. + 2 | [CSIT-1785](https://jira.fd.io/browse/CSIT-1785) [VPP-1972](https://jira.fd.io/browse/VPP-1972) | NAT44ED tests failing to establish all TCP sessions. At least for max scale, in allotted time (limited by session 500s timeout) due to worse slow path performance than previously measured and calibrated for. CSIT removed the max scale NAT tests to avoid this issue. + 3 | [CSIT-1799](https://jira.fd.io/browse/CSIT-1799) | All NAT44-ED 16M sessions CPS scale tests fail while setting NAT44 address range. + 4 | [CSIT-1800](https://jira.fd.io/browse/CSIT-1800) | All Geneve L3 mode scale tests (1024 tunnels) are failing. + 5 | [CSIT-1801](https://jira.fd.io/browse/CSIT-1801) | 9000B payload frames not forwarded over tunnels due to violating supported Max Frame Size (VxLAN, LISP, + 6 | [CSIT-1802](https://jira.fd.io/browse/CSIT-1802) | all testbeds: AF-XDP - NDR tests failing from time to time. + 7 | [CSIT-1804](https://jira.fd.io/browse/CSIT-1804) | All testbeds: NDR tests failing from time to time. + 8 | [CSIT-1808](https://jira.fd.io/browse/CSIT-1808) | All tests with 9000B payload frames not forwarded over memif interfaces. + 9 | [CSIT-1827](https://jira.fd.io/browse/CSIT-1827) | 3n-icx, 3n-skx: all AVF crypto tests sporadically fail. 1518B with no traffic, IMIX with excessive + 10 | [CSIT-1835](https://jira.fd.io/browse/CSIT-1835) | 3n-icx: QUIC vppecho BPS tests failing on timeout when checking hoststack finished. + 11 | [CSIT-1849](https://jira.fd.io/browse/CSIT-1849) | 2n-skx, 2n-clx, 2n-icx: UDP 16m TPUT tests fail to create all sessions. + 12 | [CSIT-1864](https://jira.fd.io/browse/CSIT-1864) | 2n-clx: half of the packets lost on PDR tests. + 13 | [CSIT-1877](https://jira.fd.io/browse/CSIT-1877) | 3n-tsh: all VM tests failing to boot VM. + 14 | [CSIT-1883](https://jira.fd.io/browse/CSIT-1883) | 3n-snr: All hwasync wireguard tests failing when trying to verify device. + 15 | [CSIT-1884](https://jira.fd.io/browse/CSIT-1884) | 2n-clx, 2n-icx: All NAT44DET NDR PDR IMIX over 1M sessions BIDIR tests failing to create enough sessions. + 16 | [CSIT-1885](https://jira.fd.io/browse/CSIT-1885) | 3n-icx: 9000b ip4 ip6 l2 NDRPDR AVF tests are failing to forward traffic. + 17 | [CSIT-1886](https://jira.fd.io/browse/CSIT-1886) | 3n-icx: Wireguard tests with 100 and more tunnels are failing PDR criteria. + +## Fixed + +Issues reported in previous releases which were fixed in this release: + + **#** | **JiraID** | **Issue Description** +-------|--------------------------------------------------|--------------------------------------------------------------------- + 1 | [CSIT-1868](https://jira.fd.io/browse/CSIT-1868) | 2n-clx: ALL ldpreload-nginx tests fails when trying to start nginx. + 2 | [CSIT-1871](https://jira.fd.io/browse/CSIT-1871) | 3n-snr: 25GE interface between SUT and TG/TRex goes down randomly. + +# Root Cause Analysis for Performance Changes + +List of RCAs in {{< release_csit >}} for VPP performance changes: + + **#** | **JiraID** | **Issue Description** +-------|--------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------- + 1 | [CSIT-1887](https://jira.fd.io/browse/CSIT-1887) | rls2210 RCA: ASTF tests TRex upgrade decreased TRex performance. NAT results not affected, except on Denverton due to interference from VPP-2010. + 2 | [CSIT-1888](https://jira.fd.io/browse/CSIT-1888) | rls2210 RCA: testbed differences, especially for ipsec. Not caused by VPP code nor CSIT code. Most probable cause is clang-14 behavior. + 3 | [CSIT-1889](https://jira.fd.io/browse/CSIT-1889) | rls2210 RCA: policy-outbound-nocrypto. When VPP added spd fast path matching (Gerrit 36097), it decreased MRR of the corresponding tests, at least on 3-alt. diff --git a/docs/content/release_notes/vpp_device.md b/docs/content/release_notes/vpp_device.md new file mode 100644 index 0000000000..2f1f6d34b5 --- /dev/null +++ b/docs/content/release_notes/vpp_device.md @@ -0,0 +1,24 @@ +--- +title: "VPP Device" +weight: 4 +--- + +# Changes in {{< release_csit >}} + +1. TEST FRAMEWORK + - **CSIT test environment** version has been updated to ver. 11, see + [Environment Versioning]({{< ref "infrastructure#Release Notes" >}}). + +# Known Issues + +List of known issues in {{< release_csit >}} for VPP functional tests in VPP Device: + + **#** | **JiraID** | **Issue Description** +-------|--------------------------------------------------|--------------------------------------------------------------------------- + +## New + +List of new issues in {{< release_csit >}} for VPP functional tests in VPP Device: + + **#** | **JiraID** | **Issue Description** +-------|--------------------------------------------------|--------------------------------------------------------------------------- \ No newline at end of file diff --git a/docs/data/variables.yaml b/docs/data/variables.yaml new file mode 100644 index 0000000000..ed0015bdf3 --- /dev/null +++ b/docs/data/variables.yaml @@ -0,0 +1,7 @@ +release: "rls2302" +release_prev: "rls2210" +release_csit: "CSIT 23.02" +release_vpp: "VPP 23.02" +release_dpdk: "DPDK 22.07" +version_trex: "v3.00" +vpp_release_commit_id: "07e0c05e698cf5ffd1e2d2de0296d1907519dc3d" \ No newline at end of file diff --git a/docs/go.mod b/docs/go.mod new file mode 100644 index 0000000000..11f0965171 --- /dev/null +++ b/docs/go.mod @@ -0,0 +1,5 @@ +module csit.hugo + +go 1.17 + +require github.com/alex-shpak/hugo-book v0.0.0-20230213220505-036e037a63ba // indirect diff --git a/docs/go.sum b/docs/go.sum new file mode 100644 index 0000000000..1ca65235fa --- /dev/null +++ b/docs/go.sum @@ -0,0 +1,2 @@ +github.com/alex-shpak/hugo-book v0.0.0-20230213220505-036e037a63ba h1:GSDZxN4SjTRVylJjVwr2Mnn1oy/e2ngZG9m1ULJ2qFg= +github.com/alex-shpak/hugo-book v0.0.0-20230213220505-036e037a63ba/go.mod h1:L4NMyzbn15fpLIpmmtDg9ZFFyTZzw87/lk7M2bMQ7ds= diff --git a/docs/lab/fdio-dc-physical.md b/docs/lab/fdio-dc-physical.md deleted file mode 100644 index 055a084336..0000000000 --- a/docs/lab/fdio-dc-physical.md +++ /dev/null @@ -1,118 +0,0 @@ - - -- [FD.io DC Vexxhost Inventory](#fdio-dc-vexxhost-inventory) - - [Missing Equipment Inventory](#missing-equipment-inventory) - - [YUL1 Inventory](#yul1-inventory) - - [Rack YUL1-8 (3016.8)](#rack-yul1-8-3016.8) - - [Rack YUL1-9 (3016.9)](#rack-yul1-9-3016.9) - - [Rack YUL1-10 (3016.10)](#rack-yul1-10-3016.10) - - [Rack YUL1-11 (3016.11)](#rack-yul1-11-3016.11) - - [Rack YUL1-12 (3016.12)](#rack-yul1-12-3016.12) - - - -## FD.io DC Vexxhost Inventory - -- for each DC location, per rack .csv table with server inventory -- captured inventory data: name,oper-status,testbed-id,role,model,s/n,rackid,rackunit,mgmt-ip4,ipmi-ip4,new-rackid,new-rackunit,new-mgmt-ip4,new-ipmi-ip4 - - name: CSIT functional server name as tracked in [CSIT testbed specification](https://git.fd.io/csit/tree/docs/lab/testbed_specifications.md), followed by "/" and the actual configured hostname, unless it is the same as CSIT name. - - oper-status: operational status (up|down|ipmi). - - testbed-id: CSIT testbed identifier. - - role: 2n/3n-xxx performance testbed, nomad-client, nomad-server. - - role exceptions: decommission, repurpose, spare. - - model: server model. - - s/n: serial number. - - mgmt-ip4: current management IPv4 address on management VLAN. - - ipmi-ip4: current IPMI IPv4 address on LOM VLAN. - - rackid: new location rack id. - - rackunit: new location rack unit id. - -### Missing Equipment Inventory - -1. Ixia PerfectStorm One Appliance - - [Specification: Ixia PerfectStorm One Appliance TG for FD.io TCP/IP performance tests.](https://git.fd.io/csit/tree/docs/lab/testbed_specifications.md#n554) - - [Wiring: 2-Node-IxiaPS1L47 Servers (2n-ps1)](https://git.fd.io/csit/tree/docs/lab/testbed_specifications.md#n1017) - - [mgmt-ip4 10.30.51.62 s26-t25-tg1](https://git.fd.io/csit/tree/docs/lab/testbed_specifications.md#n374) - - [ipmi-ip4 10.30.50.59 s26-t25-tg1](https://git.fd.io/csit/tree/docs/lab/testbed_specifications.md#n281) - -### YUL1 Inventory - -#### Rack YUL1-8 (3016.8) -name,oper-status,testbed-id,role,model,s/n,mgmt-ip4,ipmi-ip4,rackid,rackunit -mtl1-8-lb4m,up,switch,uplink,?,?,?,?,3016.8,u47,?,? -s65-t37-sut1,up,t37,3n-icx,SYS-740GP-TNRT,C7470KK25P50098,10.30.51.75,10.30.50.75,3016.8,u42-u45 -s66-t37-sut2,up,t37,3n-icx,SYS-740GP-TNRT,C7470KK33P50247,10.30.51.76,10.30.50.76,3016.8,u38-u41 -s67-t37-tg1,up,t37,3n-icx,SYS-740GP-TNRT,C7470KK25P50076,10.30.51.77,10.30.50.77,3016.8,u34-u37 -s71-t212-sut1,up,t212,2n-icx,SYS-740GP-TNRT,C7470KK25P50173,10.30.51.81,10.30.50.81,3016.8,u30-u33 -s72-t212-tg1,up,t212,2n-icx,SYS-740GP-TNRT,C7470KK33P50220,10.30.51.82,10.30.50.82,3016.8,u26-u29 -s83-t213-sut1,up,t213,2n-icx,SYS-740GP-TNRT,C7470KL07P50300,10.30.51.83,10.30.50.83,3016.8,u22-u25 -s84-t213-tg1,up,t213,2n-icx,SYS-740GP-TNRT,C7470KL03P50187,10.30.51.84,10.30.50.84,3016.8,u18-u21 -s85-t214-sut1,up,t214,2n-icx,SYS-740GP-TNRT,C7470KK33P50219,10.30.51.85,10.30.50.85,3016.8,u14-u17 -s86-t214-tg1,up,t214,2n-icx,SYS-740GP-TNRT,C7470KL07P50312,10.30.51.86,10.30.50.86,3016.8,u10-u13 -s87-t215-sut1,up,t215,2n-icx,SYS-740GP-TNRT,C7470KL03P50171,10.30.51.87,10.30.50.87,3016.8,u6-u9 -s88-t215-tg1,up,t215,2n-icx,SYS-740GP-TNRT,C7470KL07P50301,10.30.51.88,10.30.50.88,3016.8,u2-u5 - -#### Rack YUL1-9 (3016.9) -name,oper-status,testbed-id,role,model,s/n,mgmt-ip4,ipmi-ip4,rackid,rackunit -mtl1-5-lb4m,up,switch,uplink,?,?,?,?,3016.9,u47,?,? -s52-t21-sut1,up,t21,2n-spr,SYS-741GE-TNRT,C7490FL36A40118,10.30.51.52,10.30.50.52,3016.9,u42-u45 -s53-t21-tg1,up,t21,2n-spr,SYS-741GE-TNRT,???,10.30.51.53,10.30.50.53,3016.9,u38-u41 -s54-t22-sut1,up,t22,2n-spr,SYS-741GE-TNRT,???,10.30.51.54,10.30.50.54,3016.9,u34-u37 -s55-t22-tg1,up,t22,2n-spr,SYS-741GE-TNRT,???,10.30.51.55,10.30.50.55,3016.9,u30-u33 -s56-t23-sut1,up,t23,2n-spr,SYS-741GE-TNRT,???,10.30.51.56,10.30.50.56,3016.9,u26-u29 -s57-t23-tg1,up,t23,2n-spr,SYS-741GE-TNRT,???,10.30.51.57,10.30.50.57,3016.9,u22-u25 -s25-t25-sut1,down,t25,2n-p1,SYS-7049GP-TRT,C7470KH06A20022,10.30.51.61,10.30.50.58,3016.9,u18-u21 -s19-t33t211-tg1,up,t33t211,3n-tsh/2n-tx2,SYS-7049GP-TRT,C7470KH06A20056,10.30.51.49,10.30.50.46,3016.9,u14-u17 -s27-t211-sut1,up,t211,2n-tx2,ThunderX2-9975,K61186073100003,10.30.51.69,10.30.50.69,3016.9,u13 -s18-t33-sut2,up,t33,3n-tsh,HUAWEI-TAISHAN-2280,N/A,10.30.51.37,10.30.50.37,3016.9,u11-u12 -s17-t33-sut1,up,t33,3n-tsh,HUAWEI-TAISHAN-2280,N/A,10.30.51.36,10.30.50.36,3016.9,u9-u10 -s79-t39t310-tg1,in-transit,t39t310,tbd,SYS-740GP-TNRT,???,10.30.51.89,10.30.50.89,3016.9,u5-u8 - -#### Rack YUL1-10 (3016.10) - -name,oper-status,testbed-id,role,model,s/n,mgmt-ip4,ipmi-ip4,rackid,rackunit -yul1-10-lb4m,up,switch,uplink,?,?,?,?,3016.10,u47,?,? -s2-t12-sut1,up,t12,1n-skx,SYS-7049GP-TRT,C7470KH06A20119,10.30.51.51,10.30.50.48,3016.10,u42-u45 -s1-t11-sut1,up,t11,1n-skx,SYS-7049GP-TRT,C7470KH06A20154,10.30.51.50,10.30.50.47,3016.10,u38-u41 -s58-t24-sut1,up,t24,2n-spr,SYS-741GE-TNRT,???,10.30.51.58,10.30.50.58,3016.10,u34-u37 -s59-t24-tg1,up,t24,2n-spr,SYS-741GE-TNRT,???,10.30.51.59,10.30.50.59,3016.10,u30-u33 -s93-t39-sut1,up,t39,3n-snr,?,?,10.30.51.93,10.30.50.93,3016.10,u10-u13 -s94-t39-sut2,up,t39,3n-snr,?,?,10.30.51.94,10.30.50.94,3016.10,u6-u9 -s89-t39t310-tg1,up,t39,3n-snr,?,?,10.30.51.89,10.30.50.89,3016.10,u2-u5 - -#### Rack YUL1-11 (3016.11) - -name,oper-status,testbed-id,role,model,s/n,mgmt-ip4,ipmi-ip4,rackid,rackunit -yul1-11-lb6m,up,switch,arm-uplink,?,?,?,?,3016.11,u48 -yul1-11-lf-tor-switch,up,switch,uplink,?,?,?,?,3016.11,u47 -mtl1-6-7050QX-32,up,switch,uplink,?,?,?,?,3016.11,u46 -fdio-marvell-dev,up,N/A,dev,ThunderX-88XX,N/A,10.30.51.38,10.30.50.38,3016.11,u45 -s56-t14-sut1,up,t14,1n-tx2,ThunderX2-9980,N/A,10.30.51.71,10.30.50.71,3016.11,u41-u42 -s78-t38-sut1,up,t38,3n-icx,SYS-740GP-TNRT,C7470KL03P50450,10.30.51.78,10.30.50.78,3016.11,u31-u34 -s79-t38-sut2,up,t38,3n-icx,SYS-740GP-TNRT,C7470KL07P50297,10.30.51.79,10.30.50.79,3016.11,u27-u30 -s80-t38-tg1,up,t38,3n-icx,SYS-740GP-TNRT,C7470KL03P50454,10.30.51.80,10.30.50.80,3016.11,u23-u26 -s55-t13-sut1,up,t13,1n-tx2,ThunderX2-9980,N/A,10.30.51.70,10.30.50.70,3016.11,u11-u12 -s62-t34-sut1,up,t34,3n-alt,WIWYNN,04000059N0SC,10.30.51.72,10.30.50.72,3016.11,u9-u10 -s63-t34-sut2,up,t34,3n-alt,WIWYNN,0390003EN0SC,10.30.51.73,10.30.50.73,3016.11,u7-u8 -s64-t34-tg1,up,t34,3n-alt,SYS-740GP-TNRT,C7470KK40P50249,10.30.51.74,10.30.50.74,3016.11,u3-u6 - -#### Rack YUL1-12 (3016.12) - -name,oper-status,testbed-id,role,model,s/n,mgmt-ip4,ipmi-ip4,rackid,rackunit -yul1-12-lb4m,up,switch,uplink,?,?,?,?,3016.12,u47 -s28-nomad,up,nomad-cluster1.nomad-client,SYS-7049GP-TRT,C7470KH06A20196,10.30.51.28,10.30.50.28,3016.12,u41-u44 -s27-nomad,up,nomad-cluster1,nomad-client,SYS-7049GP-TRT,C7470KH06A20055,10.30.51.27,10.30.50.27,3016.12,u37-u40 -s91-nomad,up,nomad-cluster1,nomad-client,R152-P30-00,GLG4P9912A0016,10.30.51.91,10.30.50.91,3016.12,u36 -s92-nomad,up,nomad-cluster1,nomad-client,R152-P30-00,GLG4P9912A0004,10.30.51.92,10.30.50.92,3016.12,u35 -s23-nomad,up,nomad-cluster1,nomad-server,SYS-1029P-WTRT,C1160LI12NM0256,10.30.51.23,10.30.51.23,3016.12,u34 -s24-nomad,up,nomad-cluster1,nomad-server,SYS-1029P-WTRT,C1160LI12NM0241,10.30.51.24,10.30.51.24,3016.12,u33 -s25-nomad,up,nomad-cluster1,nomad-server,SYS-1029P-WTRT,C1160LI12NM0540,10.30.51.25,10.30.51.25,3016.12,u32 -s61-t210-tg1,up,t210,2n-zn2,AS-1014S-WTRT,C8150LI50NS2689,10.32.8.25,10.30.55.25,3016.12,u31 -s60-t210-sut1,up,t210,2n-zn2,AS-1114S-WTRT,N/A,10.32.8.24,10.30.55.24,3016.12,u30 -s26-nomad,up,nomad-cluster1,nomad-server,SYS-7049GP-TRT,C7470KH37A30505,10.30.51.26,10.30.51.26,3016.12,u26-u29 -s33-t27-sut1,up,t27,2n-clx,SYS-7049GP-TRT,C7470KH37A30567,10.32.8.18,10.30.55.18,3016.12,u22-u25 -s34-t27-tg1,up,t27,2n-clx,SYS-7049GP-TRT,C7470KH37A30565,10.32.8.19,10.30.55.19,3016.12,u18-u21 -s35-t28-sut1,up,t28,2n-clx,SYS-7049GP-TRT,C7470KH37A30509,10.32.8.20,10.30.55.20,3016.12,u14-u17 -s36-t28-tg1,up,t28,2n-clx,SYS-7049GP-TRT,C7470KH37A30511,10.32.8.21,10.30.55.21,3016.12,u10-u13 -s37-t29-sut1,up,t29,2n-clx,SYS-7049GP-TRT,C7470KH37A30566,10.32.8.22,10.30.55.22,3016.12,u6-u9 -s38-t29-tg1,up,t29,2n-clx,SYS-7049GP-TRT,C7470KH37A30506,10.32.8.23,10.30.55.23,3016.12,u2-u5 diff --git a/docs/lab/fdio-dc-physical.yaml b/docs/lab/fdio-dc-physical.yaml deleted file mode 100644 index cbcca02f76..0000000000 --- a/docs/lab/fdio-dc-physical.yaml +++ /dev/null @@ -1,462 +0,0 @@ ---- -# file: fdio-dc-physical.yaml - -yul1: - rack: - name: yul1-8 - facility_id: 3016.8 - tenant: Linux Foundation - status: active - dimensions: - type: 4-post cabinet - width: 19 inches - height: 48U - - unit: 47 - name: mtl1-8-lb4m - oper_status: production - device_type: switch - serial_number: N/A - mgmt_ip4: N/A - lom_ip4: N/A - lom_type: N/A - - unit: 42..45 - name: s65-t37-sut1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KK25P50098 - mgmt_ip4: 10.30.51.75 - lom_ip4: 10.30.50.75 - - unit: 38..41 - name: s66-t37-sut2 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KK33P50247 - mgmt_ip4: 10.30.51.76 - lom_ip4: 10.30.50.76 - - unit: 34..37 - name: s67-t37-tg1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KK25P50076 - mgmt_ip4: 10.30.51.77 - lom_ip4: 10.30.50.77 - - unit: 30..33 - name: s71-t212-sut1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KK25P50173 - mgmt_ip4: 10.30.51.81 - lom_ip4: 10.30.50.81 - - unit: 26..29 - name: s72-t212-tg1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KK33P50220 - mgmt_ip4: 10.30.51.82 - lom_ip4: 10.30.50.82 - - unit: 22..25 - name: s83-t213-sut1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KL07P50300 - mgmt_ip4: 10.30.51.83 - lom_ip4: 10.30.50.83 - - unit: 18..21 - name: s84-t213-tg1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KL03P50187 - mgmt_ip4: 10.30.51.84 - lom_ip4: 10.30.50.84 - - unit: 14..17 - name: s85-t214-sut1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KK33P50219 - mgmt_ip4: 10.30.51.85 - lom_ip4: 10.30.50.85 - - unit: 10..13 - name: s86-t214-tg1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KL07P50312 - mgmt_ip4: 10.30.51.86 - lom_ip4: 10.30.50.86 - - unit: 6..9 - name: s87-t215-sut1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KL03P50171 - mgmt_ip4: 10.30.51.87 - lom_ip4: 10.30.50.87 - - unit: 2..5 - name: s88-t215-tg1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KL07P50301 - mgmt_ip4: 10.30.51.88 - lom_ip4: 10.30.50.88 - name: yul1-9 - facility_id: 3016.9 - tenant: Linux Foundation - status: active - dimensions: - type: 4-post cabinet - width: 19 inches - height: 48U - - unit: 47 - name: mtl1-5-lb4m - oper_status: production - device_type: switch - serial_number: N/A - mgmt_ip4: N/A - lom_ip4: N/A - lom_type: N/A - - unit: 42..45 - name: s52-t21-sut1 - oper_status: production - device_type: SYS-741GE-TNRT - serial_number: C7490FL36A40118 - mgmt_ip4: 10.30.51.52 - lom_ip4: 10.30.50.52 - - unit: 38..41 - name: s53-t21-tg1 - oper_status: production - device_type: SYS-741GE-TNRT - serial_number: ? - mgmt_ip4: 10.30.51.53 - lom_ip4: 10.30.50.53 - - unit: 34..37 - name: s54-t22-sut1 - oper_status: production - device_type: SYS-741GE-TNRT - serial_number: ? - mgmt_ip4: 10.30.51.54 - lom_ip4: 10.30.50.54 - - unit: 30..33 - name: s55-t22-tg1 - oper_status: production - device_type: SYS-741GE-TNRT - serial_number: ? - mgmt_ip4: 10.30.51.55 - lom_ip4: 10.30.50.55 - - unit: 26..29 - name: s56-t23-sut1 - oper_status: production - device_type: SYS-741GE-TNRT - serial_number: ? - mgmt_ip4: 10.30.51.56 - lom_ip4: 10.30.50.56 - - unit: 22..25 - name: s57-t23-tg1 - oper_status: production - device_type: SYS-741GE-TNRT - serial_number: ? - mgmt_ip4: 10.30.51.57 - lom_ip4: 10.30.50.57 - - unit: 18..21 - name: s25-t25-sut1 - oper_status: stage - device_type: SYS-7049GP-TRT - serial_number: C7470KH06A20022 - mgmt_ip4: 10.30.51.61 - lom_ip4: 10.30.50.58 - - unit: 14..17 - name: s19-t33t211-tg1 - oper_status: production - device_type: SYS-7049GP-TRT - serial_number: C7470KH06A20056 - mgmt_ip4: 10.30.51.49 - lom_ip4: 10.30.50.46 - - unit: 13 - name: s27-t211-sut1 - oper_status: production - device_type: ThunderX2-9975 - serial_number: K61186073100003 - mgmt_ip4: 10.30.51.69 - lom_ip4: 10.30.50.69 - - unit: 11..12 - name: s18-t33-sut2 - oper_status: production - device_type: HUAWEI-TAISHAN-2280 - serial_number: N/A - mgmt_ip4: 10.30.51.37 - lom_ip4: 10.30.50.37 - - unit: 9..10 - name: s17-t33-sut1 - oper_status: production - device_type: HUAWEI-TAISHAN-2280 - serial_number: N/A - mgmt_ip4: 10.30.51.36 - lom_ip4: 10.30.50.36 -yul1: - rack: - name: yul1-10 - facility_id: 3016.10 - tenant: Linux Foundation - status: active - dimensions: - type: 4-post cabinet - width: 19 inches - height: 48U - - unit: 47 - name: yul1-10-lb4m - oper_status: production - device_type: switch - serial_number: N/A - mgmt_ip4: N/A - lom_ip4: N/A - - unit: 42..45 - name: s2-t12-sut1 - oper_status: production - device_type: SYS-7049GP-TRT - serial_number: C7470KH06A20119 - mgmt_ip4: 10.30.51.51 - lom_ip4: 10.30.50.48 - - unit: 38..41 - name: s1-t11-sut1 - oper_status: production - device_type: SYS-7049GP-TRT - serial_number: C7470KH06A20154 - mgmt_ip4: 10.30.51.50 - lom_ip4: 10.30.50.47 - - unit: 34..37 - name: s58-t24-sut1 - oper_status: production - device_type: SYS-741GE-TNRT - serial_number: ? - mgmt_ip4: 10.30.51.58 - lom_ip4: 10.30.50.58 - - unit: 30..33 - name: s59-t24-tg1 - oper_status: production - device_type: SYS-741GE-TNRT - serial_number: ? - mgmt_ip4: 10.30.51.59 - lom_ip4: 10.30.50.59 - - unit: 10..13 - name: s93-t39-sut1 - oper_status: production - device_type: ? - serial_number: ? - mgmt_ip4: 10.30.51.93 - lom_ip4: 10.30.50.93 - - unit: 6..9 - name: s94-t39-sut2 - oper_status: production - device_type: ? - serial_number: ? - mgmt_ip4: 10.30.51.94 - lom_ip4: 10.30.50.94 - - unit: 2..5 - name: s89-t39t310-tg1 - oper_status: production - device_type: ? - serial_number: ? - mgmt_ip4: 10.30.51.89 - lom_ip4: 10.30.50.89 - rack: - name: yul1-11 - facility_id: 3016.11 - tenant: Linux Foundation - status: active - dimensions: - type: 4-post cabinet - width: 19 inches - height: 48U - - unit: 48 - name: yul1-11-lb6m - oper_status: production - device_type: switch - serial_number: N/A - mgmt_ip4: N/A - lom_ip4: N/A - - unit: 47 - name: yul1-11-lf-tor-switch - oper_status: production - device_type: switch - serial_number: N/A - mgmt_ip4: N/A - lom_ip4: N/A - - unit: 46 - name: mtl1-6-7050QX-32 - oper_status: production - device_type: switch - serial_number: N/A - mgmt_ip4: N/A - lom_ip4: N/A - - unit: 45 - name: fdio-marvell-dev - oper_status: production - device_type: ThunderX-88XX - serial_number: N/A - mgmt_ip4: 10.30.51.38 - lom_ip4: 10.30.50.38 - - unit: 41..42 - name: s56-t14-sut1 - oper_status: production - device_type: ThunderX2-9980 - serial_number: N/A - mgmt_ip4: 10.30.51.71 - lom_ip4: 10.30.50.71 - - unit: 31..34 - name: s78-t38-sut1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KL03P50450 - mgmt_ip4: 10.30.51.78 - lom_ip4: 10.30.50.78 - - unit: 27..30 - name: s79-t38-sut2 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KL07P50297 - mgmt_ip4: 10.30.51.79 - lom_ip4: 10.30.50.79 - - unit: 23..26 - name: s80-t38-tg1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KL03P50454 - mgmt_ip4: 10.30.51.80 - lom_ip4: 10.30.50.80 - - unit: 11..12 - name: s55-t13-sut1 - oper_status: production - device_type: ThunderX2-9980 - serial_number: N/A - mgmt_ip4: 10.30.51.70 - lom_ip4: 10.30.50.70 - - unit: 9..10 - name: s62-t34-sut1 - oper_status: production - device_type: Mt.Jade Server System B81.030Z1.0007 - serial_number: 04000059N0SC - mgmt_ip4: 10.30.51.72 - lom_ip4: 10.30.50.72 - - unit: 7..8 - name: s63-t34-sut2 - oper_status: production - device_type: Mt.Jade Server System B81.030Z1.0007 - serial_number: 0390003EN0SC - mgmt_ip4: 10.30.51.73 - lom_ip4: 10.30.50.73 - - unit: 3..6 - name: s64-t34-tg1 - oper_status: production - device_type: SYS-740GP-TNRT - serial_number: C7470KK40P50249 - mgmt_ip4: 10.30.51.74 - lom_ip4: 10.30.50.74 - rack: - name: yul1-12 - facility_id: 3016.12 - tenant: Linux Foundation - status: active - dimensions: - type: 4-post cabinet - width: 19 inches - height: 48U - layout: - - unit: 47 - name: yul1-12-lb4m - oper_status: production - - unit: 36 - name: s58-nomad - oper_status: - device_type: R152-P30-00 - serial_number: GLG4P9912A0016 - mgmt_ip4: 10.30.51.91 - lom_ip4: 10.30.50.91 - - unit: 35 - name: s59-nomad - oper_status: - device_type: R152-P30-00 - serial_number: GLG4P9912A0004 - mgmt_ip4: 10.30.51.92 - lom_ip4: 10.30.50.92 - - unit: 34 - name: s23-nomad - oper_status: production - device_type: SYS-1029P-WTRT - serial_number: C1160LI12NM0256 - mgmt_ip4: 10.30.51.23 - lom_ip4: 10.30.51.23 - - unit: 33 - name: s24-nomad - oper_status: production - device_type: SYS-1029P-WTRT - serial_number: C1160LI12NM0241 - mgmt_ip4: 10.30.51.24 - lom_ip4: 10.30.51.24 - - unit: 32 - name: s25-nomad - oper_status: production - device_type: SYS-1029P-WTRT - serial_number: C1160LI12NM0540 - mgmt_ip4: 10.30.51.25 - lom_ip4: 10.30.51.25 - - unit: 31 - name: s61-t210-tg1 - oper_status: production - device_type: AS-1014S-WTRT - serial_number: C8150LI50NS2689 - mgmt_ip4: 10.32.8.25 - lom_ip4: 10.30.55.25 - - unit: 30 - name: s60-t210-sut1 - oper_status: production - device_type: AS-1114S-WTRT - serial_number: N/A - mgmt_ip4: 10.32.8.24 - lom_ip4: 10.30.55.24 - - unit: 26..29 - name: s26-nomad - oper_status: production - device_type: SYS-7049GP-TRT - serial_number: C7470KH37A30505 - mgmt_ip4: 10.30.51.26 - lom_ip4: 10.30.51.26 - - unit: 22..25 - name: s33-t27-sut1 - oper_status: production - device_type: SYS-7049GP-TRT - serial_number: C7470KH37A30567 - mgmt_ip4: 10.32.8.18 - lom_ip4: 10.30.55.18 - - unit: 18..21 - name: s34-t27-tg1 - oper_status: production - device_type: SYS-7049GP-TRT - serial_number: C7470KH37A30565 - mgmt_ip4: 10.32.8.19 - lom_ip4: 10.30.55.19 - - unit: 14..17 - name: s35-t28-sut1 - oper_status: production - device_type: SYS-7049GP-TRT - serial_number: C7470KH37A30509 - mgmt_ip4: 10.32.8.20 - lom_ip4: 10.30.55.20 - - unit: 10..13 - name: s36-t28-tg1 - oper_status: production - device_type: SYS-7049GP-TRT - serial_number: C7470KH37A30511 - mgmt_ip4: 10.32.8.21 - lom_ip4: 10.30.55.21 - - unit: 6..9 - name: s37-t29-sut1 - oper_status: production - device_type: SYS-7049GP-TRT - serial_number: C7470KH37A30566 - mgmt_ip4: 10.32.8.22 - lom_ip4: 10.30.55.22 - lom_type: ipmi - - unit: 2..5 - name: s38-t29-tg1 - oper_status: production - model: SYS-7049GP-TRT - serial_number: C7470KH37A30506 - mgmt_ip4: 10.32.8.23 - ilo_ip4: 10.30.55.23 \ No newline at end of file diff --git a/docs/layouts/shortcodes/release.html b/docs/layouts/shortcodes/release.html new file mode 100644 index 0000000000..c958a6473d --- /dev/null +++ b/docs/layouts/shortcodes/release.html @@ -0,0 +1 @@ +{{ .Site.Data.variables.release }} \ No newline at end of file diff --git a/docs/layouts/shortcodes/release_csit.html b/docs/layouts/shortcodes/release_csit.html new file mode 100644 index 0000000000..7967f29195 --- /dev/null +++ b/docs/layouts/shortcodes/release_csit.html @@ -0,0 +1 @@ +{{ .Site.Data.variables.release_csit }} \ No newline at end of file diff --git a/docs/layouts/shortcodes/release_dpdk.html b/docs/layouts/shortcodes/release_dpdk.html new file mode 100644 index 0000000000..32cf9f5114 --- /dev/null +++ b/docs/layouts/shortcodes/release_dpdk.html @@ -0,0 +1 @@ +{{ .Site.Data.variables.release_dpdk }} \ No newline at end of file diff --git a/docs/layouts/shortcodes/release_prev.html b/docs/layouts/shortcodes/release_prev.html new file mode 100644 index 0000000000..12e98f615a --- /dev/null +++ b/docs/layouts/shortcodes/release_prev.html @@ -0,0 +1 @@ +{{ .Site.Data.variables.release_prev }} \ No newline at end of file diff --git a/docs/layouts/shortcodes/release_vpp.html b/docs/layouts/shortcodes/release_vpp.html new file mode 100644 index 0000000000..18f286552a --- /dev/null +++ b/docs/layouts/shortcodes/release_vpp.html @@ -0,0 +1 @@ +{{ .Site.Data.variables.release_vpp }} \ No newline at end of file diff --git a/docs/layouts/shortcodes/svg.html b/docs/layouts/shortcodes/svg.html new file mode 100644 index 0000000000..ea38cb0c6b --- /dev/null +++ b/docs/layouts/shortcodes/svg.html @@ -0,0 +1,2 @@ +{{$svg := .Get 0}} +{{ $svg | readFile | safeHTML }} \ No newline at end of file diff --git a/docs/perf-triggers-design.rst b/docs/perf-triggers-design.rst deleted file mode 100644 index 4a0232cde0..0000000000 --- a/docs/perf-triggers-design.rst +++ /dev/null @@ -1,146 +0,0 @@ -Introduction ------------- - -Previous gerrit triggers for performance tests ( -*vpp-csit-verify-hw-perf-{branch}* and *csit-vpp-verify-hw-perf-{branch}*) are -listed in [1]_ with jjb definition in [2]_. Mapping of triggers to CSIT test RF -tags [4]_ driving the selection of test cases for execution is listed in [3]_. - -Previous mappings of trigger to RF tags ---------------------------------------- - -(vpp-csit job) vpp-verify-perf-{**keyword**} OR (csit-vpp job) verify-perf-{**keyword**} - - **acl**: - - 'mrrANDnic_intel-x520-da2AND1t1cANDacl' - - 'mrrANDnic_intel-x520-da2AND2t2cANDacl' - - **ip4**: - - 'mrrANDnic_intel-x520-da2AND1t1cANDip4base' - - 'mrrANDnic_intel-x520-da2AND1t1cANDip4fwdANDfib_2m' - - **ip6** - - 'mrrANDnic_intel-x520-da2AND1t1cANDip6base' - - 'mrrANDnic_intel-x520-da2AND1t1cANDip6fwdANDfib_2m' - - **ipsechw** - - 'pdrdiscANDnic_intel-xl710AND1t1cANDipsechw' - - 'pdrdiscANDnic_intel-xl710AND2t2cANDipsechw' - - 'mrrANDnic_intel-xl710AND1t1cANDipsechw' - - 'mrrANDnic_intel-xl710AND2t2cANDipsechw' - - **l2** - - 'mrrANDnic_intel-x520-da2AND1t1cANDl2xcbase' - - 'mrrANDnic_intel-x520-da2AND1t1cANDl2bdbase' - - 'mrrANDnic_intel-x520-da2AND1t1cANDdot1q' - - '!lbond_dpdk' - - **lisp** - - 'mrrANDnic_intel-x520-da2AND1t1cANDlisp' - - **memif** - - 'pdrdiscANDnic_intel-x520-da2AND1t1cANDmemif' - - 'pdrdiscANDnic_intel-x520-da2AND2t2cANDmemif' - - 'mrrANDnic_intel-x520-da2AND1t1cANDmemif' - - 'mrrANDnic_intel-x520-da2AND2t2cANDmemif' - - **vhost** - - 'mrrANDnic_intel-x520-da2AND1t1cANDvhost' - - '!lbond_dpdk' - - **vxlan** - - 'mrrANDnic_intel-x520-da2AND1t1cANDvxlan' - - **srv6** - - 'mrrANDsrv6AND1t1c' - - 'mrrANDsrv6AND2t2c' - -Proposal for mapping triggers to RF tags ----------------------------------------- - -*Goal* - make it simpler to use, scalable, parametrize and prepare for full CI/CD - automation. - -*Syntax* - trigger_keyword [{tag1} {tag2}AND{tag3} !{tag4} !{tag5}] - -*Inputs* - - trigger_keyword for vpp-* jobs: 'perftest' - - trigger_keyword for csit-* jobs: 'csit-perftest' - - tags: existing CSIT tags [4]_ i.e. ip4base, ip6base, iacldst, memif - -Set of default tags appended to user input, under control by CSIT - - always-on for vpp-csit*.job: 'mrr' 'nic_intel_x710-da2' '1t1c' - - if input with no tags, following set applied: - - 'mrrANDnic_intel-x710AND1t1cAND64bANDip4base' - - 'mrrANDnic_intel-x710AND1t1cAND78bANDip6base' - - 'mrrANDnic_intel-x710AND1t1cAND64bANDl2bdbase' - -Examples - input: 'perftest' - expanded: 'mrrANDnic_intel_x710-da2AND1t1cAND64bANDl2bdbase mrrANDnic_intel_x710-da2AND1t1cAND64bANDip4base mrrANDnic_intel_x710-da2AND1t1cAND78bANDip6base' - input: 'perftest l2bdbase l2xcbase' - expanded: 'mrrANDnic_intel_x710-da2ANDl2bdbase mrrANDnic_intel_x710-da2ANDl2xcbase' - input: 'perftest ip4base !feature' - expanded: 'mrrANDnic_intel_x710-da2ANDip4base' not 'feature' - input: 'perftest ip4base !feature !lbond_dpdk' - expanded: 'mrrANDnic_intel_x710-da2ANDip4base' not 'feature' not 'lbond_dpdk' - input: 'perftestxyx ip4base !feature !lbond_dpdk' - invalid: detected as error - input: 'perftestip4base !feature !lbond_dpdk' - invalid: detected as error - input: 'perftest ip4base!feature!lbond_dpdk' - invalid expand: 'mrrANDnic_intel_x710-da2ANDip4base!feature!lbond_dpdk' - execution of RobotFramework will fail - -Constrains - Trigger keyword must be different for every job to avoid running multiple jobs - at once. Trigger keyword must not be substring of job name or any other - message printed by JJB bach to gerrit message which can lead to recursive - execution. - -Implementation --------------- - -Implementation is separated into two projects. - -CI-MANGEMENT -~~~~~~~~~~~~ - -https://gerrit.fd.io/r/#/c/13027/ - -Implementing new gerrit keyword `csit-perftest` in JJB for -*csit-vpp-perf-verify-{stream}* and `perftest` for -*vpp-csit-verify-hw-perf-{stream}* performance jobs. - -:: - - if [[ ${GERRIT_EVENT_TYPE} == 'comment-added' ]]; then - TRIGGER=`echo ${GERRIT_EVENT_COMMENT_TEXT} \ - | grep -oE '(perftest$|perftest[[:space:]].+$)'` - else - TRIGGER='' - fi - # Export test type - export TEST_TAG="VERIFY-PERF-PATCH" - # Export test tags as string - export TEST_TAG_STRING=${TRIGGER#$"perftest"} - -Code is automatically detecting trigger type and parse the gerrit comment -massage. Stripped TAGs are exported as bash variable `$TEST_TAG_STRING` together -with `$TEST_TAG`. - -CSIT -~~~~ - -https://gerrit.fd.io/r/#/c/13025/ - -Implementing `$TEST_TAG_STRING` variable post processing. String of TAGs is -automatically converted into array to be able to loop the items. If variable is -empty default set of TAGs is applied. - -Array is then converted into Robot Framework parameter notation where every word -means new `--include` parameter. Having multiple words (multiple includes) means -logical OR in selection of test cases and could be applied to add additional -test cases that have no common more specific match. See exmaples section for -more details. Script also detects an exclamation mark before TAG that is -translated to as a `--exclude` parameter. - -References ----------- - -.. [1] https://wiki.fd.io/view/CSIT/Jobs -.. [2] https://git.fd.io/ci-management/tree/jjb/vpp/vpp.yaml#n762 -.. [3] https://git.fd.io/csit/tree/bootstrap-verify-perf.sh#n235 -.. [4] https://git.fd.io/csit/tree/docs/tag_documentation.rst \ No newline at end of file diff --git a/docs/report/csit_framework_documentation/csit_tag_description.rst b/docs/report/csit_framework_documentation/csit_tag_description.rst index 1152ee3c62..c4127301fb 100644 --- a/docs/report/csit_framework_documentation/csit_tag_description.rst +++ b/docs/report/csit_framework_documentation/csit_tag_description.rst @@ -7,5 +7,883 @@ execution. Following sections list currently used CSIT TAGs and their documentation based on the content of `tag documentation rst file`_. -.. include:: ../../../../../../docs/tag_documentation.rst - :start-line: 8 +Testbed Topology Tags +--------------------- + +.. topic:: 2_NODE_DOUBLE_LINK_TOPO + + 2 nodes connected in a circular topology with two links interconnecting + the devices. + +.. topic:: 2_NODE_SINGLE_LINK_TOPO + + 2 nodes connected in a circular topology with at least one link + interconnecting devices. + +.. topic:: 3_NODE_DOUBLE_LINK_TOPO + + 3 nodes connected in a circular topology with two links interconnecting + the devices. + +.. topic:: 3_NODE_SINGLE_LINK_TOPO + + 3 nodes connected in a circular topology with at least one link + interconnecting devices. + +Objective Tags +-------------- + +.. topic:: SKIP_PATCH + + Test case(s) marked to not run in case of vpp-csit-verify (i.e. VPP patch) + and csit-vpp-verify jobs (i.e. CSIT patch). + +.. topic:: SKIP_VPP_PATCH + + Test case(s) marked to not run in case of vpp-csit-verify (i.e. VPP patch). + +Environment Tags +---------------- + +.. topic:: HW_ENV + + DUTs and TGs are running on bare metal. + +.. topic:: VM_ENV + + DUTs and TGs are running in virtual environment. + +.. topic:: VPP_VM_ENV + + DUTs with VPP and capable of running Virtual Machine. + +NIC Model Tags +-------------- + +.. topic:: NIC_Intel-X520-DA2 + + Intel X520-DA2 NIC. + +.. topic:: NIC_Intel-XL710 + + Intel XL710 NIC. + +.. topic:: NIC_Intel-X710 + + Intel X710 NIC. + +.. topic:: NIC_Intel-XXV710 + + Intel XXV710 NIC. + +.. topic:: NIC_Cisco-VIC-1227 + + VIC-1227 by Cisco. + +.. topic:: NIC_Cisco-VIC-1385 + + VIC-1385 by Cisco. + +.. topic:: NIC_Amazon-Nitro-50G + + Amazon EC2 ENA NIC. + +Scaling Tags +------------ + +.. topic:: FIB_20K + + 2x10,000 entries in single fib table + +.. topic:: FIB_200K + + 2x100,000 entries in single fib table + +.. topic:: FIB_1M + + 2x500,000 entries in single fib table + +.. topic:: FIB_2M + + 2x1,000,000 entries in single fib table + +.. topic:: L2BD_1 + + Test with 1 L2 bridge domain. + +.. topic:: L2BD_10 + + Test with 10 L2 bridge domains. + +.. topic:: L2BD_100 + + Test with 100 L2 bridge domains. + +.. topic:: L2BD_1K + + Test with 1000 L2 bridge domains. + +.. topic:: VLAN_1 + + Test with 1 VLAN sub-interface. + +.. topic:: VLAN_10 + + Test with 10 VLAN sub-interfaces. + +.. topic:: VLAN_100 + + Test with 100 VLAN sub-interfaces. + +.. topic:: VLAN_1K + + Test with 1000 VLAN sub-interfaces. + +.. topic:: VXLAN_1 + + Test with 1 VXLAN tunnel. + +.. topic:: VXLAN_10 + + Test with 10 VXLAN tunnels. + +.. topic:: VXLAN_100 + + Test with 100 VXLAN tunnels. + +.. topic:: VXLAN_1K + + Test with 1000 VXLAN tunnels. + +.. topic:: TNL_{t} + + IPSec in tunnel mode - {t} tunnels. + +.. topic:: SRC_USER_{u} + + Traffic flow with {u} unique IPs (users) in one direction. + {u}=(1,10,100,1000,2000,4000). + +.. topic:: 100_FLOWS + + Traffic stream with 100 unique flows (10 IPs/users x 10 UDP ports) in one + direction. + +.. topic:: 10k_FLOWS + + Traffic stream with 10 000 unique flows (10 IPs/users x 1000 UDP ports) in + one direction. + +.. topic:: 100k_FLOWS + + Traffic stream with 100 000 unique flows (100 IPs/users x 1000 UDP ports) in + one direction. + +.. topic:: HOSTS_{h} + + Stateless or stateful traffic stream with {h} client source IP4 addresses, + usually with 63 flow differing in source port number. Could be UDP or TCP. + If NAT is used, the clients are inside. Outside IP range can differ. + {h}=(1024,4096,16384,65536,262144). + +.. topic:: GENEVE4_{t}TUN + + Test with {t} GENEVE IPv4 tunnel. {t}=(1,4,16,64,256,1024) + +Test Category Tags +------------------ + +.. topic:: DEVICETEST + + All vpp_device functional test cases. + +.. topic:: PERFTEST + + All performance test cases. + +VPP Device Type Tags +-------------------- + +.. topic:: SCAPY + + All test cases that uses Scapy for packet generation and validation. + +Performance Type Tags +--------------------- + +.. topic:: NDRPDR + + Single test finding both No Drop Rate and Partial Drop Rate simultaneously. + The search is done by optimized algorithm which performs + multiple trial runs at different durations and transmit rates. + The results come from the final trials, which have duration of 30 seconds. + +.. topic:: MRR + + Performance tests where TG sends the traffic at maximum rate (line rate) + and reports total sent/received packets over trial duration. + The result is an average of 10 trials of 1 second duration. + +.. topic:: SOAK + + Performance tests using PLRsearch to find the critical load. + +.. topic:: RECONF + + Performance tests aimed to measure lost packets (time) when performing + reconfiguration while full throughput offered load is applied. + +Ethernet Frame Size Tags +------------------------ + +These are describing the traffic offered by Traffic Generator, +"primary" traffic in case of asymmetric load. +For traffic between DUTs, or for "secondary" traffic, see ${overhead} value. + +.. topic:: {b}B + + {b} Bytes frames used for test. + +.. topic:: IMIX + + IMIX frame sequence (28x 64B, 16x 570B, 4x 1518B) used for test. + +Test Type Tags +-------------- + +.. topic:: BASE + + Baseline test cases, no encapsulation, no feature(s) configured in tests. + No scaling whatsoever, beyond minimum needed for RSS. + +.. topic:: IP4BASE + + IPv4 baseline test cases, no encapsulation, no feature(s) configured in + tests. Minimal number of routes. Other quantities may be scaled. + +.. topic:: IP6BASE + + IPv6 baseline test cases, no encapsulation, no feature(s) configured in + tests. + +.. topic:: L2XCBASE + + L2XC baseline test cases, no encapsulation, no feature(s) configured in + tests. + +.. topic:: L2BDBASE + + L2BD baseline test cases, no encapsulation, no feature(s) configured in + tests. + +.. topic:: L2PATCH + + L2PATCH baseline test cases, no encapsulation, no feature(s) configured in + tests. + +.. topic:: SCALE + + Scale test cases. Other tags specify which quantities are scaled. + Also applies if scaling is set on TG only (e.g. DUT works as IP4BASE). + +.. topic:: ENCAP + + Test cases where encapsulation is used. Use also encapsulation tag(s). + +.. topic:: FEATURE + + At least one feature is configured in test cases. Use also feature tag(s). + +.. topic:: UDP + + Tests which use any kind of UDP traffic (STL or ASTF profile). + +.. topic:: TCP + + Tests which use any kind of TCP traffic (STL or ASTF profile). + +.. topic:: TREX + + Tests which test trex traffic without any software DUTs in the traffic path. + +.. + TODO: Should we define tags STL and ASTF? + +.. topic:: UDP_UDIR + + Tests which use unidirectional UDP traffic (STL profile only). + +.. topic:: UDP_BIDIR + + Tests which use bidirectional UDP traffic (STL profile only). + +.. topic:: UDP_CPS + + Tests which measure connections per second on minimal UDP pseudoconnections. + This implies ASTF traffic profile is used. + This tag selects specific output processing in PAL. + +.. topic:: TCP_CPS + + Tests which measure connections per second on empty TCP connections. + This implies ASTF traffic profile is used. + This tag selects specific output processing in PAL. + +.. topic:: TCP_RPS + + Tests which measure requests per second on empty TCP connections. + This implies ASTF traffic profile is used. + This tag selects specific output processing in PAL. + +.. topic:: UDP_PPS + + Tests which measure packets per second on lightweight UDP transactions. + This implies ASTF traffic profile is used. + This tag selects specific output processing in PAL. + +.. topic:: TCP_PPS + + Tests which measure packets per second on lightweight TCP transactions. + This implies ASTF traffic profile is used. + This tag selects specific output processing in PAL. + +.. topic:: HTTP + + Tests which use traffic formed of valid HTTP requests (and responses). + +.. + TODO: Add HTTP tag to the current hoststack tests. + TODO: Document other tags already used by hoststack tests. + +.. topic:: LDP_NGINX + + LDP NGINX is un-modified NGINX with VPP via LD_PRELOAD. + +.. topic:: NF_DENSITY + + Performance tests that measure throughput of multiple VNF and CNF + service topologies at different service densities. + +NF Service Density Tags +----------------------- + +.. topic:: CHAIN + + NF service density tests with VNF or CNF service chain topology(ies). + +.. topic:: PIPE + + NF service density tests with CNF service pipeline topology(ies). + +.. topic:: NF_L3FWDIP4 + + NF service density tests with DPDK l3fwd IPv4 routing as NF workload. + +.. topic:: NF_VPPIP4 + + NF service density tests with VPP IPv4 routing as NF workload. + +.. topic:: {r}R{c}C + + Service density matrix locator {r}R{c}C, {r}Row denoting number of + service instances, {c}Column denoting number of NFs per service + instance. {r}=(1,2,4,6,8,10), {c}=(1,2,4,6,8,10). + +.. topic:: {n}VM{t}T + + Service density {n}VM{t}T, {n}Number of NF Qemu VMs, {t}Number of threads + per NF. + +.. topic:: {n}DCRt}T + + Service density {n}DCR{t}T, {n}Number of NF Docker containers, {t}Number of + threads per NF. + +.. topic:: {n}_ADDED_CHAINS + + {n}Number of chains (or pipelines) added (and/or removed) + during RECONF test. + +Forwarding Mode Tags +-------------------- + +.. topic:: L2BDMACSTAT + + VPP L2 bridge-domain, L2 MAC static. + +.. topic:: L2BDMACLRN + + VPP L2 bridge-domain, L2 MAC learning. + +.. topic:: L2XCFWD + + VPP L2 point-to-point cross-connect. + +.. topic:: IP4FWD + + VPP IPv4 routed forwarding. + +.. topic:: IP6FWD + + VPP IPv6 routed forwarding. + +.. topic:: LOADBALANCER_MAGLEV + + VPP Load balancer maglev mode. + +.. topic:: LOADBALANCER_L3DSR + + VPP Load balancer l3dsr mode. + +.. topic:: LOADBALANCER_NAT4 + + VPP Load balancer nat4 mode. + +.. topic:: N2N + + Mode, where NICs from the same physical server are directly + connected with a cable. + +Underlay Tags +------------- + +.. topic:: IP4UNRLAY + + IPv4 underlay. + +.. topic:: IP6UNRLAY + + IPv6 underlay. + +.. topic:: MPLSUNRLAY + + MPLS underlay. + +Overlay Tags +------------ + +.. topic:: L2OVRLAY + + L2 overlay. + +.. topic:: IP4OVRLAY + + IPv4 overlay (IPv4 payload). + +.. topic:: IP6OVRLAY + + IPv6 overlay (IPv6 payload). + +Tagging Tags +------------ + +.. topic:: DOT1Q + + All test cases with dot1q. + +.. topic:: DOT1AD + + All test cases with dot1ad. + +Encapsulation Tags +------------------ + +.. topic:: ETH + + All test cases with base Ethernet (no encapsulation). + +.. topic:: LISP + + All test cases with LISP. + +.. topic:: LISPGPE + + All test cases with LISP-GPE. + +.. topic:: LISP_IP4o4 + + All test cases with LISP_IP4o4. + +.. topic:: LISPGPE_IP4o4 + + All test cases with LISPGPE_IP4o4. + +.. topic:: LISPGPE_IP6o4 + + All test cases with LISPGPE_IP6o4. + +.. topic:: LISPGPE_IP4o6 + + All test cases with LISPGPE_IP4o6. + +.. topic:: LISPGPE_IP6o6 + + All test cases with LISPGPE_IP6o6. + +.. topic:: VXLAN + + All test cases with Vxlan. + +.. topic:: VXLANGPE + + All test cases with VXLAN-GPE. + +.. topic:: GRE + + All test cases with GRE. + +.. topic:: GTPU + + All test cases with GTPU. + +.. topic:: GTPU_HWACCEL + + All test cases with GTPU_HWACCEL. + +.. topic:: IPSEC + + All test cases with IPSEC. + +.. topic:: WIREGUARD + + All test cases with WIREGUARD. + +.. topic:: SRv6 + + All test cases with Segment routing over IPv6 dataplane. + +.. topic:: SRv6_1SID + + All SRv6 test cases with single SID. + +.. topic:: SRv6_2SID_DECAP + + All SRv6 test cases with two SIDs and with decapsulation. + +.. topic:: SRv6_2SID_NODECAP + + All SRv6 test cases with two SIDs and without decapsulation. + +.. topic:: GENEVE + + All test cases with GENEVE. + +.. topic:: GENEVE_L3MODE + + All test cases with GENEVE tunnel in L3 mode. + +.. topic:: FLOW + + All test cases with FLOW. + +.. topic:: FLOW_DIR + + All test cases with FLOW_DIR. + +.. topic:: FLOW_RSS + + All test cases with FLOW_RSS. + +.. topic:: NTUPLE + + All test cases with NTUPLE. + +.. topic:: L2TPV3 + + All test cases with L2TPV3. + +Interface Tags +-------------- + +.. topic:: PHY + + All test cases which use physical interface(s). + +.. topic:: GSO + + All test cases which uses Generic Segmentation Offload. + +.. topic:: VHOST + + All test cases which uses VHOST. + +.. topic:: VHOST_1024 + + All test cases which uses VHOST DPDK driver with qemu queue size set + to 1024. + +.. topic:: VIRTIO + + All test cases which uses VIRTIO native VPP driver. + +.. topic:: VIRTIO_1024 + + All test cases which uses VIRTIO native VPP driver with qemu queue size set + to 1024. + +.. topic:: CFS_OPT + + All test cases which uses VM with optimised scheduler policy. + +.. topic:: TUNTAP + + All test cases which uses TUN and TAP. + +.. topic:: AFPKT + + All test cases which uses AFPKT. + +.. topic:: NETMAP + + All test cases which uses Netmap. + +.. topic:: MEMIF + + All test cases which uses Memif. + +.. topic:: SINGLE_MEMIF + + All test cases which uses only single Memif connection per DUT. One DUT + instance is running in container having one physical interface exposed to + container. + +.. topic:: LBOND + + All test cases which uses link bonding (BondEthernet interface). + +.. topic:: LBOND_DPDK + + All test cases which uses DPDK link bonding. + +.. topic:: LBOND_VPP + + All test cases which uses VPP link bonding. + +.. topic:: LBOND_MODE_XOR + + All test cases which uses link bonding with mode XOR. + +.. topic:: LBOND_MODE_LACP + + All test cases which uses link bonding with mode LACP. + +.. topic:: LBOND_LB_L34 + + All test cases which uses link bonding with load-balance mode l34. + +.. topic:: LBOND_{n}L + + All test cases which use {n} link(s) for link bonding. + +.. topic:: DRV_{d} + + All test cases which NIC Driver for DUT is set to {d}. Default is VFIO_PCI. + {d}=(AVF, RDMA_CORE, VFIO_PCI, AF_XDP). + +.. topic:: TG_DRV_{d} + + All test cases which NIC Driver for TG is set to {d}. Default is IGB_UIO. + {d}=(RDMA_CORE, IGB_UIO). + +.. topic:: RXQ_SIZE_{n} + + All test cases which RXQ size (RX descriptors) are set to {n}. Default is 0, + which means VPP (API) default. + +.. topic:: TXQ_SIZE_{n} + + All test cases which TXQ size (TX descriptors) are set to {n}. Default is 0, + which means VPP (API) default. + +Feature Tags +------------ + +.. topic:: IACLDST + + iACL destination. + +.. topic:: ADLALWLIST + + ADL allowlist. + +.. topic:: NAT44 + + NAT44 configured and tested. + +.. topic:: NAT64 + + NAT44 configured and tested. + +.. topic:: ACL + + ACL plugin configured and tested. + +.. topic:: IACL + + ACL plugin configured and tested on input path. + +.. topic:: OACL + + ACL plugin configured and tested on output path. + +.. topic:: ACL_STATELESS + + ACL plugin configured and tested in stateless mode (permit action). + +.. topic:: ACL_STATEFUL + + ACL plugin configured and tested in stateful mode (permit+reflect action). + +.. topic:: ACL1 + + ACL plugin configured and tested with 1 not-hitting ACE. + +.. topic:: ACL10 + + ACL plugin configured and tested with 10 not-hitting ACEs. + +.. topic:: ACL50 + + ACL plugin configured and tested with 50 not-hitting ACEs. + +.. topic:: SRv6_PROXY + + SRv6 endpoint to SR-unaware appliance via proxy. + +.. topic:: SRv6_PROXY_STAT + + SRv6 endpoint to SR-unaware appliance via static proxy. + +.. topic:: SRv6_PROXY_DYN + + SRv6 endpoint to SR-unaware appliance via dynamic proxy. + +.. topic:: SRv6_PROXY_MASQ + + SRv6 endpoint to SR-unaware appliance via masquerading proxy. + +Encryption Tags +--------------- + +.. topic:: IPSECSW + + Crypto in software. + +.. topic:: IPSECHW + + Crypto in hardware. + +.. topic:: IPSECTRAN + + IPSec in transport mode. + +.. topic:: IPSECTUN + + IPSec in tunnel mode. + +.. topic:: IPSECINT + + IPSec in interface mode. + +.. topic:: AES + + IPSec using AES algorithms. + +.. topic:: AES_128_CBC + + IPSec using AES 128 CBC algorithms. + +.. topic:: AES_128_GCM + + IPSec using AES 128 GCM algorithms. + +.. topic:: AES_256_GCM + + IPSec using AES 256 GCM algorithms. + +.. topic:: HMAC + + IPSec using HMAC integrity algorithms. + +.. topic:: HMAC_SHA_256 + + IPSec using HMAC SHA 256 integrity algorithms. + +.. topic:: HMAC_SHA_512 + + IPSec using HMAC SHA 512 integrity algorithms. + +.. topic:: SCHEDULER + + IPSec using crypto sw scheduler engine. + +.. topic:: FASTPATH + + IPSec policy mode with spd fast path enabled. + +Client-Workload Tags +-------------------- + +.. topic:: VM + + All test cases which use at least one virtual machine. + +.. topic:: LXC + + All test cases which use Linux container and LXC utils. + +.. topic:: DRC + + All test cases which use at least one Docker container. + +.. topic:: DOCKER + + All test cases which use Docker as container manager. + +.. topic:: APP + + All test cases with specific APP use. + +Container Orchestration Tags +---------------------------- + +.. topic:: {n}VSWITCH + + {n} VPP running in {n} Docker container(s) acting as a VSWITCH. + {n}=(1). + +.. topic:: {n}VNF + + {n} VPP running in {n} Docker container(s) acting as a VNF work load. + {n}=(1). + +Multi-Threading Tags +-------------------- + +.. topic:: STHREAD + + *Dynamic tag*. + All test cases using single poll mode thread. + +.. topic:: MTHREAD + + *Dynamic tag*. + All test cases using more then one poll mode driver thread. + +.. topic:: {n}NUMA + + All test cases with packet processing on {n} socket(s). {n}=(1,2). + +.. topic:: {c}C + + {c} worker thread pinned to {c} dedicated physical core; or if + HyperThreading is enabled, {c}*2 worker threads each pinned to a separate + logical core within 1 dedicated physical core. Main thread pinned to core 1. + {t}=(1,2,4). + +.. topic:: {t}T{c}C + + *Dynamic tag*. + {t} worker threads pinned to {c} dedicated physical cores. Main thread + pinned to core 1. By default CSIT is configuring same amount of receive + queues per interface as worker threads. {t}=(1,2,4,8), {t}=(1,2,4). diff --git a/docs/report/introduction/methodology_rca/methodology_perpatch_performance_tests.rst b/docs/report/introduction/methodology_rca/methodology_perpatch_performance_tests.rst index e1b68f7615..9b03c45207 100644 --- a/docs/report/introduction/methodology_rca/methodology_perpatch_performance_tests.rst +++ b/docs/report/introduction/methodology_rca/methodology_perpatch_performance_tests.rst @@ -80,9 +80,7 @@ See below for more concrete examples. Suite tags `````````` -Traditionally, CSIT maintains broad Robot tags that can be used to select tests, -for details on existing tags, see -`CSIT Tags `_. +Traditionally, CSIT maintains broad Robot tags that can be used to select tests. But it is not recommended to use them for test selection, as it is not that easy to determine how many test cases are selected. diff --git a/docs/static/csit_design_picture.svg b/docs/static/csit_design_picture.svg new file mode 100644 index 0000000000..228e7fdf8d --- /dev/null +++ b/docs/static/csit_design_picture.svg @@ -0,0 +1,707 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10/24/17 + + + + + + + + + + + <number> + + + + + + + + + + + + + + + + + + + + + Tools(doc-gen, report-gen, test_env-builders) + + + + + + + + + + + + + + + + + + + + CSIT System Design Hierarchy + + + + + + + Python Library + + + + + + + Performance Traffic Generator Drivers (TRex) + + + + + + + Functional Traffic GeneratorScripts(Scapy) + + + + + + + Level-2 Robot Keyword Inventory + + + + + + + Tests (vpp-verify, csit-verify, …) + + + + + + + + Traffic Profiles + + + + + + + Presentation & Analytics + + + + + + + + FD.io CSIT Release Reports + + + + + + + + Docs + + + + + + + + Trending + + + + + + + Test data(Python) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Python Calls + + + + + + PythonCalls + + + + + + Python Calls + + + + + + PythonCalls + + + + + + Shell scripts + + + + + + Robot Calls + + + + + + PythonCalls + + + + + + PythonCalls + + + + + + Shell scripts + + + + + + Robot Calls + + + + + + VPP: VAT Cals + + + + + + + + CI/CD Jenkins Jobs + + + + + + + + Users + + + + + + + + Performance + + + + + + + + Functionality + + + + + + + + Programing + + + + + + + + CSIT Tests + + + + + + + + CSIT Framework + + + + + + + Topology files(yaml) + + + + + + + + + + + + + + + + + + + + + + + CSIT Tests + + + + + + + + + + + + + + + SUT + + + + + + + DUT + + + + + + + SUT + + + + + + + DUT + + + + + + + SUT + + + + + + + TG + + + + + + + + + + + + + + + + SUT + + + + + + + DUT + + + + + + + SUT + + + + + + + DUT + + + + + + + SUT + + + + + + + TG + + + + + + + + + + + + + + + + SUT + + + + + + + DUT + + + + + + + SUT + + + + + + + TG + + + + + + + Physical topologies + + + + + + Virtualied topologies i.e. VIRL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PythonCalls + + + + + + + diff --git a/docs/static/testbed-2n-clx.svg b/docs/static/testbed-2n-clx.svg new file mode 100644 index 0000000000..326d66ed48 --- /dev/null +++ b/docs/static/testbed-2n-clx.svg @@ -0,0 +1,1864 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 1Intel XeonPlatinum 8280 + + + + + + + + + NIC5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + Socket 0Intel XeonPlatinum 8280 + + + + + + + + + NIC3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + + + + + + + + + x86Server + + + + + + + + + + + + + + + + 2-Node Xeon Cascade Lake (2n-clx) + + + + + + Traffic Generator (TG) + + + + + + DDR4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen3 + + + + + + + + + x86Server + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 0Intel Xeon Gold 6252N + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + DDR4 + + + + + + + + Socket 1Intel XeonGold 6252N + + + + + + + + + NIC4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + System Under Test (SUT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen3 + + + + + + + UPI + + + + + + + + + + + + + + + UPI + + + + + + + + + diff --git a/docs/static/testbed-2n-icx.svg b/docs/static/testbed-2n-icx.svg new file mode 100644 index 0000000000..64a11b3d94 --- /dev/null +++ b/docs/static/testbed-2n-icx.svg @@ -0,0 +1,1919 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x86Server + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 1Intel XeonPlatinum 8358 + + + + + + + + + NIC5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + Socket 0Intel XeonPlatinum 8358 + + + + + + + + + NIC3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + + + + + x86Server + + + + + + + + + + + + + + + + 2-Node Xeon Icelake (2n-icx) + + + + + + Traffic Generator (TG) + + + + + + DDR4 + + + + + + PCIeGen4 + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 0Intel Xeon Platinum 8358 + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + DDR4 + + + + + + + + Socket 1Intel XeonPlatinum 8358 + + + + + + + + + NIC4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + + + + + + + + + + + System Under Test (SUT) + + + + + + PCIeGen4 + + + + + + + UPI + + + + + + + + + + + + + + UPI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/static/testbed-2n-tx2.svg b/docs/static/testbed-2n-tx2.svg new file mode 100644 index 0000000000..44da3f40ae --- /dev/null +++ b/docs/static/testbed-2n-tx2.svg @@ -0,0 +1,1086 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 1Intel XeonPlatinum 8280 + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + Socket 0Intel XeonPlatinum 8280 + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x86Server + + + + + + + + + + + + + + + + 2-Node Arm Marvell ThunderX2 (2n-tx2) + + + + + + Traffic Generator (TG) + + + + + + DDR4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen3 + + + + + + + + Armv8Server + + + + + + + + Socket 0Marvell ThunderX2CN9975 + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + DDR4 + + + + + + + + Socket 1 Marvell ThunderX2CN9975 + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + + + + + + + System Under Test (SUT) + + + + + + PCIeGen3 + + + + + + + + + + + + + + UPI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + \ No newline at end of file diff --git a/docs/static/testbed-2n-zn2.svg b/docs/static/testbed-2n-zn2.svg new file mode 100644 index 0000000000..54b785b122 --- /dev/null +++ b/docs/static/testbed-2n-zn2.svg @@ -0,0 +1,1093 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 0AMD EPYCZen2 7532 + + + + + + + + + NIC3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x86Server + + + + + + + + + + + + + + + + 2-Node AMD EPYC zen2 (2n-zn2) + + + + + + Traffic Generator (TG) + + + + + + DDR4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen3 + + + + + + + + x86Server + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 0AMD EPYC Zen2 7532 + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + DDR4 + + + + + + + + + + + + + + System Under Test (SUT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/static/testbed-3n-alt.svg b/docs/static/testbed-3n-alt.svg new file mode 100644 index 0000000000..596a7bb5d1 --- /dev/null +++ b/docs/static/testbed-3n-alt.svg @@ -0,0 +1,1134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Q80-3080* ARM Neoverse N1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3-Node ARM Altra (3n-alt) + + + + + + + + + + + + + + + Socket 1Intel XeonPlatinum 8358 + + + + + + + + + + + + + + x16 + + + + + + + + + Socket 0Intel XeonPlatinum 8358 + + + + + + + + + + + + + + x16 + + + + + + + x86Server + + + + + + Traffic Generator (TG) + + + + + + DDR4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen4 + + + + + + + + Ampere AltraServer + + + + + + + + Socket 1Q80-30; 80* ARM Neoverse N1 + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 0Q80-30; 80* ARM Neoverse N1 + + + + + + + + + + + + + + x16 + + + + + + + DDR4 + + + + + + System Under Test 1 (SUT1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen4 + + + + + + + + Ampere AltraServer + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + DDR4 + + + + + + System Under Test 2 (SUT2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPI + + + + + + + + + Socket 1Q80-30; 80* ARM Neoverse N1 + + + + + + + + Socket 0Q80-30; 80* ARM Neoverse N1 + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/static/testbed-3n-icx.svg b/docs/static/testbed-3n-icx.svg new file mode 100644 index 0000000000..22303cb387 --- /dev/null +++ b/docs/static/testbed-3n-icx.svg @@ -0,0 +1,2866 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3-Node Xeon Icelake (3n-icx) + + + + + + + + + + + + + + + + NIC6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 1Intel XeonPlatinum 8358 + + + + + + + + + NIC5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + Socket 0Intel XeonPlatinum 8358 + + + + + + + + + NIC3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + + + + + x86Server + + + + + + Traffic Generator (TG) + + + + + + DDR4 + + + + + + PCIeGen4 + + + + + + + + + + + + + + UPI + + + + + + + + + x86Server + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 0Intel Xeon Platinum 8358 + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + DDR4 + + + + + + + + Socket 1Intel XeonPlatinum 8358 + + + + + + + + + NIC4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + + + + + + + + + + + System Under Test 1 (SUT1) + + + + + + PCIeGen4 + + + + + + + UPI + + + + + + + + x86Server + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 0Intel Xeon Platinum 8358 + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + DDR4 + + + + + + + + Socket 1Intel XeonPlatinum 8358 + + + + + + + + + NIC4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NIC6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + + + + + + + + + + + System Under Test 2 (SUT2) + + + + + + PCIeGen4 + + + + + + + UPI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/static/testbed-3n-snr.svg b/docs/static/testbed-3n-snr.svg new file mode 100644 index 0000000000..4bab2e8d3d --- /dev/null +++ b/docs/static/testbed-3n-snr.svg @@ -0,0 +1,1220 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3-Node Atom Snowridge (3n-snr) + + + + + + + + + + + + + + + Socket 1Intel XeonPlatinum 8358 + + + + + + + + Socket 0Intel XeonPlatinum 8358 + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + x86Server + + + + + + Traffic Generator (TG) + + + + + + DDR4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen3 + + + + + + + + + + + + + + UPI + + + + + + + + + x86Server + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Intel Atom P5362 @2.20GHz + + + + + + + + + + + + + + x4 + + + + + + + DDR4 + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x4 + + + + + + + System Under Test 1 (SUT1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen3 + + + + + + + + x86Server + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Intel Atom P5362 @2.20GHz + + + + + + + + + + + + + + x4 + + + + + + + DDR4 + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x4 + + + + + + + + + + + + + + + System Under Test 2 (SUT2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/static/testbed-3n-tsh.svg b/docs/static/testbed-3n-tsh.svg new file mode 100644 index 0000000000..e13a2b174f --- /dev/null +++ b/docs/static/testbed-3n-tsh.svg @@ -0,0 +1,1316 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3-Node ARM TaiShan (3n-tsh) + + + + + + + + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Socket 1Intel XeonPlatinum 8180 + + + + + + + + + + + + + + x16 + + + + + + + + + Socket 0Intel XeonPlatinum 8180 + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x16 + + + + + + + + + + + + + + + + + + + + + + + x86Server + + + + + + Traffic Generator (TG) + + + + + + DDR4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen3 + + + + + + + + + + + + + + UPI + + + + + + + + + ARMServer + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hip07-d0564* ARM Cortex-A72 + + + + + + + + + + + + + + x8 + + + + + + + DDR4 + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x8 + + + + + + + System Under Test 1 (SUT1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen3 + + + + + + + + ARMServer + + + + + + + + + NIC1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hip07-d0564* ARM Cortex-A72 + + + + + + + + + + + + + + x8 + + + + + + + DDR4 + + + + + + + + + NIC2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x8 + + + + + + + + + + + + + + + System Under Test 2 (SUT2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PCIeGen3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/vf-2n-nic2nic.svg b/docs/static/vf-2n-nic2nic.svg similarity index 100% rename from docs/vf-2n-nic2nic.svg rename to docs/static/vf-2n-nic2nic.svg diff --git a/docs/vpp_device.svg b/docs/static/vpp_device.svg similarity index 100% rename from docs/vpp_device.svg rename to docs/static/vpp_device.svg diff --git a/docs/testing_in_vagrant.rst b/docs/testing_in_vagrant.rst deleted file mode 100644 index b509e3d452..0000000000 --- a/docs/testing_in_vagrant.rst +++ /dev/null @@ -1,88 +0,0 @@ -Running CSIT locally in Vagrant -------------------------------- - -Install prerequisites -===================== - -Run all commands from command line. - -1. Download and install virtualbox from `official page - `_. - To verify the installation, run VBoxManage: - - - on windows:: - - "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" --version - - - on nix:: - - VBoxManage --version - - Tested version: 6.1.16r140961 - -2. Download and install latest vagrant `from official page - `_. - To verify the installtion, run:: - - vagrant -v - - Tested version: Vagrant 2.2.15 - -3. Install vagrant plugins:: - - vagrant plugin install vagrant-vbguest - vagrant plugin install vagrant-cachier - - If you are behind a proxy, install proxyconf plugin and update proxy - settings in Vagrantfile:: - - vagrant plugin install vagrant-proxyconf - -Set up and run Vagrant virtualbox -====================================== - -Before running following commands change working directory to Vagrant specific directory -(from within root CSIT directory) :: - - cd csit.infra.vagrant - -This allows Vagrant to automatically find Vagrantfile and corresponding Vagrant environment. - -Start the provisioning:: - - vagrant up --provider virtualbox - -Your new VPP Device virtualbox machine will be created and configured. -Master branch of csit project will be cloned inside virtual machine into - - /home/vagrant/csit folder. - -Once the process is finished, you can login to the box using:: - - vagrant ssh - -In case you need to completely rebuild the box and start from scratch, -run these commands:: - - vagrant destroy -f - vagrant up --provider virtualbox - - -Run tests -============================== - -From within the box run the tests using:: - - cd /home/vagrant/csit/resources/libraries/bash/entry - ./bootstrap_vpp_device.sh csit-vpp-device-master-ubuntu2004-1n-vbox - -To run only selected tests based on TAGS, export environment variables before -running the test suite:: - - export GERRIT_EVENT_TYPE="comment-added" - export GERRIT_EVENT_COMMENT_TEXT="devicetest memif" - - # now it will run tests, selected based on tags - ./bootstrap_vpp_device.sh csit-vpp-device-master-ubuntu2004-1n-vbox - -