X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=README.md;h=299011d0c3265f705a7b894f3425abc3e21c3c6b;hp=d20d859076f5bac63bc0a75a50f4b95adf9ba744;hb=HEAD;hpb=e7ad66f3147662973039caaac33015de7e0c6f8c diff --git a/README.md b/README.md index d20d859076..9ce14baf66 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,8 @@ 1. [Tests](#tests) 1. [Keywords](#keywords) 1. [Other Resources](#other-resources) -1. [Quickstart](#quick-start) - 1. [Vagrant](#vagrant) - 1. [Physical Testbed](#physical-testbed) -1. [Report](#report) -1. [Trending](#trending) -1. [Code Documentation](#code-documentation) -1. [Coding Guidelines](#coding-guidelines) +1. [CSIT Interactive Dashboard](#csit-interactive-dashboard) +1. [CSIT Documentation](#csit-documentation) ## Architecture @@ -28,64 +23,6 @@ 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. -![csit design](docs/report/csit_framework_documentation/csit_design_picture.svg "CSIT architecture") - -A brief bottom-up description is provided here: - -1. SUTs, DUTs, TGs - - SUTs - Systems Under Test; - - DUTs - Devices Under Test; - - TGs - Traffic Generators; -1. 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; - - 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; -1. 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; -1. Tests - Robot - - Test suites with test cases; - - Functional tests using VIRL environment: - - VPP; - - NSH_SFC; - - DMM; - - TLDK; - - Performance tests using physical testbed environment: - - VPP; - - DPDK-Testpmd; - - DPDK-L3Fwd; - - VPP Container K8s orchestrated topologies; - - Tools: - - Documentation generator; - - Report generator; - - Testbed environment setup ansible playbooks; - - Operational debugging scripts; - ## Directory Structure ### Tests @@ -93,23 +30,12 @@ A brief bottom-up description is provided here: ``` . └── tests -    ├── dmm -    │   └── func # DMM functional VIRL tests    ├── dpdk -    │   ├── dpdk_scripts # DPDK helper scripts    │   └── perf # DPDK performance tests -    ├── kubernetes -    │   └── perf # VPP K8S orchestration performance tests -    ├── nsh_sfc -    │   ├── func # NSH_SFC functional tests -    │   └── sfc_scripts # NSH_SFC helper scripts -    ├── tldk -    │   ├── func # TLDK functional VIRL tests -    │   ├── tldk_scripts # TLDK helper scripts -    │   └── tldk_testconfig # TLDK test configuration +    ├── trex +    │   └── perf # TRex performance tests    └── vpp    ├── device # VPP device tests -    ├── func # VPP functional VIRL tests    └── perf # VPP performance tests ``` @@ -119,12 +45,11 @@ A brief bottom-up description is provided here: . resources └── libraries -    ├── bash -   │   ├── config +    ├── bash # Contains a dependency of KubernetesUtils +   │   ├── config # Config for KubernetesUtils dependency    │   ├── entry # Main bootstrap entry directory    │   ├── function # Bootstrap function library -    │   ├── qemu_patches # Custom QEMU patches (see KVM methodology) -    │   └── shell # Various functions +    │   └── shell # Various functions for KubernetesUtils    ├── python # Python L1 KWs    └── robot # Robot Framework L2 KWs ``` @@ -133,63 +58,39 @@ resources ``` . +│── csit.infra.dash # CDash code +│── csit.infra.etl # ETL pipeline code +│── csit.infra.hugo # CDocs local provisioning +│── csit.infra.vagrant # VPP device vagrant environment ├── docs # Main documentaion +|── fdio.infra.ansible # Infrastructure provisioning +|── fdio.infra.packer # Infrastructure provisioning +|── fdio.infra.pxe # Preboot eXecution Environment +|── fdio.infra.terraform # Virtual infrastructure provisioning +|── GPL # Files licensed under GPL +│   ├── traffic_profiles # Performance tests traffic profiles +│   └── traffic_scripts # Functional tests traffic profiles ├── PyPI # PyPI packages provided by CSIT │   ├── jumpavg │   └── MLRsearch ├── resources +│   ├── api # API coverage +│   ├── job_specs # Test selection for jenkins job execution +│   ├── model_schema # Test results model schema │   ├── templates # Templates (vpp_api_test, kubernetes, ...) │   ├── test_data # Robot Test configuration │   ├── tools -│   │   ├── disk-image-builder # Utilities for building (DCR, VM) images -│   │   ├── doc_gen # Code documentation generator -│   │   ├── papi # PAPI driver -│   │   ├── presentation # Report generator -│   │   ├── scripts # Various tools -│   │   ├── testbed-setup # Physical testbed setup scripts -│   │   ├── topology # Helper scripts for topology manipulation -│   │   ├── trex # TRex driver -│   │   ├── vagrant # VPP device vagrant environment -│   │   ├── virl # VIRL helper scripts -│   │   └── wrk # WRK driver +│   │   └── papi # PAPI driver │   ├── topology_schemas -│   ├── traffic_profiles # Performance tests traffic profiles -│   │   ├── trex -│   │   └── wrk -│   └── traffic_scripts # Functional tests traffic profiles -│   ├── dhcp -│   └── lisp └── topologies # Linux Foundation topology files ├── available └── enabled ``` -## Quickstart - -### Vagrant - -[Vagrant environment preparation](docs/testing_in_vagrant.rst) documentaion is -describing local VPP Device functional testing. - -### Physical Testbed - -[Physical testbed preparation](resources/tools/testbed-setup/README.rst) -documentation is describing PXE and Ansible setup process. All the software -requirements for running Performance Teste are part of Ansible playbooks. - -## Report - -[CSIT Report](https://docs.fd.io/csit/master/report/). - -## Trending - -[CSIT Trending](https://docs.fd.io/csit/master/trending/). - -## Code Documentation +### CSIT Interactive Dashboard -[CSIT Code Documentation](https://docs.fd.io/csit/master/doc/). +[CDash](https://csit.fd.io). -## Coding Guidelines +### CSIT Documentation -If you are interested in contributing, please see the -[coding guidelines](docs/test_code_guidelines.rst). +[CDocs](https://csit.fd.io/cdocs/).