X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FConstants.py;h=f6e4f580060ccf041dcc941b84257c9509671f24;hp=437c97f187d9b901be2053ab0aaa02a8a9b3dcf6;hb=d255d2545ee6cdc871bc35314fad72c3c48b225b;hpb=5c7cf5a09ec1cd7ebc4077981de84c4f18aa8738 diff --git a/resources/libraries/python/Constants.py b/resources/libraries/python/Constants.py index 437c97f187..f6e4f58006 100644 --- a/resources/libraries/python/Constants.py +++ b/resources/libraries/python/Constants.py @@ -1,4 +1,4 @@ -# Copyright (c) 2020 Cisco and/or its affiliates. +# 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: @@ -130,24 +130,33 @@ class Constants: # shell scripts location RESOURCES_LIB_SH = u"resources/libraries/bash" + # python scripts location + RESOURCES_LIB_PY = u"resources/libraries/python" + + # shell scripts location + RESOURCES_TOOLS = u"resources/tools" + # Python API provider location RESOURCES_PAPI_PROVIDER = u"resources/tools/papi/vpp_papi_provider.py" + # Templates location + RESOURCES_TPL = u"resources/templates" + # vat templates location RESOURCES_TPL_VAT = u"resources/templates/vat" # Kubernetes templates location RESOURCES_TPL_K8S = u"resources/templates/kubernetes" - # Templates location - RESOURCES_TPL = u"resources/templates" - # Container templates location RESOURCES_TPL_CONTAINER = u"resources/templates/container" # VPP Communications Library templates location RESOURCES_TPL_VCL = u"resources/templates/vcl" + # VPP Communications Library templates location + RESOURCES_TPL_TELEMETRY = u"resources/templates/telemetry" + # VPP Communications Library LD_PRELOAD library VCL_LDPRELOAD_LIBRARY = u"/usr/lib/x86_64-linux-gnu/libvcl_ldpreload.so" @@ -176,16 +185,16 @@ class Constants: QEMU_VM_IMAGE = u"/var/lib/vm/image.iso" # QEMU VM DPDK path - QEMU_VM_DPDK = u"/opt/dpdk-20.02" + QEMU_VM_DPDK = u"/opt/dpdk-21.02" # Docker container SUT image - DOCKER_SUT_IMAGE_UBUNTU = u"snergster/csit-sut:latest" + DOCKER_SUT_IMAGE_UBUNTU = u"csit_sut-ubuntu2004:local" # Docker container arm SUT image - DOCKER_SUT_IMAGE_UBUNTU_ARM = u"snergster/csit-arm-sut:latest" + DOCKER_SUT_IMAGE_UBUNTU_ARM = u"csit_sut-ubuntu2004:local" # TRex install directory - TREX_INSTALL_DIR = u"/opt/trex-core-2.82" + TREX_INSTALL_DIR = u"/opt/trex-core-2.88" # TODO: Find the right way how to use it in trex profiles # TRex pcap files directory @@ -197,6 +206,15 @@ class Constants: # TRex number of cores TREX_CORE_COUNT = get_int_from_env(u"TREX_CORE_COUNT", 8) + # TRex set number of RX/TX descriptors + # Set to 0 to use default values + TREX_TX_DESCRIPTORS_COUNT = get_int_from_env( + u"TREX_TX_DESCRIPTORS_COUNT", 0 + ) + TREX_RX_DESCRIPTORS_COUNT = get_int_from_env( + u"TREX_RX_DESCRIPTORS_COUNT", 0 + ) + # Trex force start regardless ports state TREX_SEND_FORCE = get_pessimistic_bool_from_env(u"TREX_SEND_FORCE") @@ -229,13 +247,26 @@ class Constants: # Number of trials to execute in MRR test. PERF_TRIAL_MULTIPLICITY = get_int_from_env(u"PERF_TRIAL_MULTIPLICITY", 10) - # Duration of one trial in MRR test. + # Duration [s] of one trial in MRR test. PERF_TRIAL_DURATION = get_float_from_env(u"PERF_TRIAL_DURATION", 1.0) + # Whether to use latency streams in main search trials. + PERF_USE_LATENCY = get_pessimistic_bool_from_env(u"PERF_USE_LATENCY") + # Duration of one latency-specific trial in NDRPDR test. PERF_TRIAL_LATENCY_DURATION = get_float_from_env( u"PERF_TRIAL_LATENCY_DURATION", 5.0) + # For some testbeds TG takes longer than usual to start sending traffic. + # This constant [s] allows longer wait, without affecting + # the approximate duration. For example, use 0.098 for AWS. + PERF_TRIAL_STL_DELAY = get_float_from_env(u"PERF_TRIAL_STL_DELAY", 0.0) + + # ASTF usually needs a different value for the delay. + PERF_TRIAL_ASTF_DELAY = get_float_from_env( + u"PERF_TRIAL_ASTF_DELAY", 0.112 + ) + # Extended debug (incl. vpp packet trace, linux perf stat, ...). # Full list is available as suite variable (__init__.robot) or is # override by test. @@ -285,8 +316,14 @@ class Constants: u"Intel-XL710": 18750000, u"Intel-XXV710": 18750000, u"Intel-E810CQ": 58500000, - u"Mellanox-CX556A": 60000000, # 148809523, - u"Amazon-Nitro-50G": 1500000, + # 2n-clx testbeds show duration stretching on high rates, + # depending on encapsulation TRex has to generate. + # 40 Mpps is still too much for dot1q (~8% stretching). + # 36 Mpps is around the maximal VPP throughput (l2patch 4c8t). + # Vxlan traffic will still show stretching at 36 Mpps (>12%), + # but we do not care about those tests that much. + u"Mellanox-CX556A": 36000000, # 148809523, + u"Amazon-Nitro-50G": 1200000, u"virtual": 14880952, }