Test Environment ================ .. _test_environment_versioning: Environment Versioning ---------------------- CSIT test environment versioning has been introduced to track modifications of the test environment. Any benchmark anomalies (progressions, regressions) between releases of a DUT application (e.g. VPP, DPDK), are determined by testing it in the same test environment, to avoid test environment changes clouding the picture. To beter distinguish impact of test environment changes, we also execute tests without any SUT (just with TRex TG sending packets over a link looping back to TG). A mirror approach is introduced to determine benchmarking anomalies due to the test environment change. This is achieved by testing the same DUT application version between releases of CSIT test system. This works under the assumption that the behaviour of the DUT is deterministic under the test conditions. CSIT test environment versioning scheme ensures integrity of all the test system components, including their HW revisions, compiled SW code versions and SW source code, within a specific CSIT version. Components included in the CSIT environment versioning include: - **HW** Server hardware firmware and BIOS (motherboard, processsor, NIC(s), accelerator card(s)), tracked in CSIT branch in :file:`./docs/lab/_hw_bios_cfg.md`, e.g. `Xeon Skylake servers `_. - **Linux** Server Linux OS version and configuration, tracked in CSIT Reports in `SUT Settings `_ and `Pre-Test Server Calibration `_. - **TRex** TRex Traffic Generator version, drivers and configuration tracked in `TG Settings `_. - **CSIT** CSIT framework code tracked in CSIT release branches. Following is the list of CSIT versions to date: - Ver. 1 associated with CSIT rls1908 branch (`HW `_, `Linux `_, `TRex `_, `CSIT `_). - Ver. 2 associated with CSIT rls2001 branch (`HW `_, `Linux `_, `TRex `_, `CSIT `_). - Ver. 4 associated with CSIT rls2005 branch (`HW `_, `Linux `_, `TRex `_, `CSIT `_). - Ver. 5 associated with CSIT rls2009 branch (`HW `_, `Linux `_, `TRex `_, `CSIT `_). - The main change is TRex data-plane core resource adjustments: `increase from 7 to 8 cores and pinning cores to interfaces `_ for better TRex performance with symmetric traffic profiles. - Ver. 6 associated with CSIT rls2101 branch (`HW `_, `Linux `_, `TRex `_, `CSIT `_). - The main change is TRex version upgrade: `increase from 2.82 to 2.86 `_. - Ver. 7 associated with CSIT rls2106 branch (`HW `_, `Linux `_, `TRex `_, `CSIT `_). - TRex version upgrade: `increase from 2.86 to 2.88 `_. - Ubuntu upgrade: `upgrade from 18.04 LTS to 20.04.2 LTS `_. - Ver. 8 associated with CSIT rls2110 branch (`HW `_, `Linux `_, `TRex `_, `CSIT `_). - Intel NIC 700/800 series firmware upgrade based on DPDK compatibility matrix. - Ver. 9 associated with CSIT rls2202 branch (`HW `_, `Linux `_, `TRex `_, `CSIT `_). - Intel NIC 700/800 series firmware upgrade based on DPDK compatibility matrix. - Ver. 10 associated with CSIT rls2206 branch (`HW `_, `Linux `_, `TRex `_, `CSIT `_). - Intel NIC 700/800 series firmware upgrade based on DPDK compatibility matrix. - Mellanox 556A series firmware upgrade based on DPDK compatibility matrix.