Update VPP_STABLE_VER files
[csit.git] / README.md
1 # CSIT - Continuous System Integration Testing
2
3 1. [Architecture](#architecture)
4 1. [Directory Structure](#directory-structure)
5    1. [Tests](#tests)
6    1. [Keywords](#keywords)
7    1. [Other Resources](#other-resources)
8 1. [CSIT Interactive Dashboard](#csit-interactive-dashboard)
9 1. [CSIT Documentation](#csit-documentation)
10
11 ## Architecture
12
13 FD.io CSIT system design needs to meet continuously expanding requirements of
14 FD.io projects including VPP, related sub-systems (e.g. plugin applications,
15 DPDK drivers) and FD.io applications (e.g. DPDK applications), as well as
16 growing number of compute platforms running those applications. With CSIT
17 project scope and charter including both FD.io continuous testing AND
18 performance trending/comparisons, those evolving requirements further amplify
19 the need for CSIT framework modularity, flexibility and usability.
20
21 CSIT follows a hierarchical system design with SUTs and DUTs at the bottom level
22 of the hierarchy, presentation level at the top level and a number of functional
23 layers in-between. The current CSIT system design including CSIT framework is
24 depicted in the figure below.
25
26 ## Directory Structure
27
28 ### Tests
29
30 ```
31 .
32 └── tests
33     ├── dpdk
34     │   └── perf                    # DPDK performance tests
35     ├── trex
36     │   └── perf                    # TRex performance tests
37     └── vpp
38         ├── device                  # VPP device tests
39         └── perf                    # VPP performance tests
40 ```
41
42 ### Keywords
43
44 ```
45 .
46 resources
47 └── libraries
48     ├── bash                        # Contains a dependency of KubernetesUtils
49     │   ├── config                  # Config for KubernetesUtils dependency
50     │   ├── entry                   # Main bootstrap entry directory
51     │   ├── function                # Bootstrap function library
52     │   └── shell                   # Various functions for KubernetesUtils
53     ├── python                      # Python L1 KWs
54     └── robot                       # Robot Framework L2 KWs
55 ```
56
57 ### Other Resources
58
59 ```
60 .
61 │── csit.infra.dash                 # CDash code
62 │── csit.infra.etl                  # ETL pipeline code
63 │── csit.infra.hugo                 # CDocs local provisioning
64 │── csit.infra.vagrant              # VPP device vagrant environment
65 ├── docs                            # Main documentaion
66 |── fdio.infra.ansible              # Infrastructure provisioning
67 |── fdio.infra.packer               # Infrastructure provisioning
68 |── fdio.infra.pxe                  # Preboot eXecution Environment
69 |── fdio.infra.terraform            # Virtual infrastructure provisioning
70 |── GPL                             # Files licensed under GPL
71 │   ├── traffic_profiles            # Performance tests traffic profiles
72 │   └── traffic_scripts             # Functional tests traffic profiles
73 ├── PyPI                            # PyPI packages provided by CSIT
74 │   ├── jumpavg
75 │   └── MLRsearch
76 ├── resources
77 │   ├── api                         # API coverage
78 │   ├── job_specs                   # Test selection for jenkins job execution
79 │   ├── model_schema                # Test results model schema
80 │   ├── templates                   # Templates (vpp_api_test, kubernetes, ...)
81 │   ├── test_data                   # Robot Test configuration
82 │   ├── tools
83 │   │   └── papi                    # PAPI driver
84 │   ├── topology_schemas
85 └── topologies                      # Linux Foundation topology files
86     ├── available
87     └── enabled
88 ```
89
90 ### CSIT Interactive Dashboard
91
92 [CDash](https://csit.fd.io).
93
94 ### CSIT Documentation
95
96 [CDocs](https://csit.fd.io/cdocs/).