@@ -425,14 +425,6 @@ _`Node name`
*string* – A unique identifier for a node.
**Examples**: ``SUT1``, ``TG1``.
-_`ARCH`
- *string* – The CPU architecture.
- **Supported values**: ``x86_64``, ``arm64``, ``ppc64le``.
-
-_`CPU`
- *string* – The CPU microarchitecture. Use ``native`` for x86.
- **Supported values**: ``native``, ``armv8a``, ``dpaa2``, ``thunderx``, ``xgene1``.
-
_`OS`
*string* – The operating system. **Supported values**: ``linux``.
@@ -444,9 +436,6 @@ _`Build target`
*mapping* – Build targets supported by DTS for building DPDK, described as:
==================== =================================================================
- ``arch`` See `ARCH`_
- ``os`` See `OS`_
- ``cpu`` See `CPU`_
``compiler`` See `Compiler`_
``compiler_wrapper`` *string* – Value prepended to the CC variable for the DPDK build.
@@ -5,11 +5,8 @@
executions:
# define one execution environment
- build_targets:
- - arch: x86_64
- os: linux
- cpu: native
# the combination of the following two makes CC="ccache gcc"
- compiler: gcc
+ - compiler: gcc
compiler_wrapper: ccache
perf: false # disable performance testing
func: true # enable functional testing
@@ -84,22 +84,6 @@ class OS(StrEnum):
windows = auto()
-@unique
-class CPUType(StrEnum):
- r"""The supported CPUs of :class:`~framework.testbed_model.node.Node`\s."""
-
- #:
- native = auto()
- #:
- armv8a = auto()
- #:
- dpaa2 = auto()
- #:
- thunderx = auto()
- #:
- xgene1 = auto()
-
-
@unique
class Compiler(StrEnum):
r"""The supported compilers of :class:`~framework.testbed_model.node.Node`\s."""
@@ -340,28 +324,20 @@ class BuildTargetConfiguration:
The configuration used for building DPDK.
Attributes:
- arch: The target architecture to build for.
- os: The target os to build for.
- cpu: The target CPU to build for.
compiler: The compiler executable to use.
compiler_wrapper: This string will be put in front of the compiler when
executing the build. Useful for adding wrapper commands, such as ``ccache``.
name: The name of the compiler.
"""
- arch: Architecture
- os: OS
- cpu: CPUType
compiler: Compiler
compiler_wrapper: str
- name: str
@staticmethod
def from_dict(d: BuildTargetConfigDict) -> "BuildTargetConfiguration":
r"""A convenience method that processes the inputs before creating an instance.
- `arch`, `os`, `cpu` and `compiler` are converted to :class:`Enum`\s and
- `name` is constructed from `arch`, `os`, `cpu` and `compiler`.
+ `compiler` is converted to :class:`Enum`\s
Args:
d: The configuration dictionary.
@@ -370,12 +346,8 @@ def from_dict(d: BuildTargetConfigDict) -> "BuildTargetConfiguration":
The build target configuration instance.
"""
return BuildTargetConfiguration(
- arch=Architecture(d["arch"]),
- os=OS(d["os"]),
- cpu=CPUType(d["cpu"]),
compiler=Compiler(d["compiler"]),
compiler_wrapper=d.get("compiler_wrapper", ""),
- name=f"{d['arch']}-{d['os']}-{d['cpu']}-{d['compiler']}",
)
@@ -6,76 +6,6 @@
"type": "string",
"description": "A unique identifier for a node"
},
- "NIC": {
- "type": "string",
- "enum": [
- "ALL",
- "ConnectX3_MT4103",
- "ConnectX4_LX_MT4117",
- "ConnectX4_MT4115",
- "ConnectX5_MT4119",
- "ConnectX5_MT4121",
- "I40E_10G-10G_BASE_T_BC",
- "I40E_10G-10G_BASE_T_X722",
- "I40E_10G-SFP_X722",
- "I40E_10G-SFP_XL710",
- "I40E_10G-X722_A0",
- "I40E_1G-1G_BASE_T_X722",
- "I40E_25G-25G_SFP28",
- "I40E_40G-QSFP_A",
- "I40E_40G-QSFP_B",
- "IAVF-ADAPTIVE_VF",
- "IAVF-VF",
- "IAVF_10G-X722_VF",
- "ICE_100G-E810C_QSFP",
- "ICE_25G-E810C_SFP",
- "ICE_25G-E810_XXV_SFP",
- "IGB-I350_VF",
- "IGB_1G-82540EM",
- "IGB_1G-82545EM_COPPER",
- "IGB_1G-82571EB_COPPER",
- "IGB_1G-82574L",
- "IGB_1G-82576",
- "IGB_1G-82576_QUAD_COPPER",
- "IGB_1G-82576_QUAD_COPPER_ET2",
- "IGB_1G-82580_COPPER",
- "IGB_1G-I210_COPPER",
- "IGB_1G-I350_COPPER",
- "IGB_1G-I354_SGMII",
- "IGB_1G-PCH_LPTLP_I218_LM",
- "IGB_1G-PCH_LPTLP_I218_V",
- "IGB_1G-PCH_LPT_I217_LM",
- "IGB_1G-PCH_LPT_I217_V",
- "IGB_2.5G-I354_BACKPLANE_2_5GBPS",
- "IGC-I225_LM",
- "IGC-I226_LM",
- "IXGBE_10G-82599_SFP",
- "IXGBE_10G-82599_SFP_SF_QP",
- "IXGBE_10G-82599_T3_LOM",
- "IXGBE_10G-82599_VF",
- "IXGBE_10G-X540T",
- "IXGBE_10G-X540_VF",
- "IXGBE_10G-X550EM_A_SFP",
- "IXGBE_10G-X550EM_X_10G_T",
- "IXGBE_10G-X550EM_X_SFP",
- "IXGBE_10G-X550EM_X_VF",
- "IXGBE_10G-X550T",
- "IXGBE_10G-X550_VF",
- "brcm_57414",
- "brcm_P2100G",
- "cavium_0011",
- "cavium_a034",
- "cavium_a063",
- "cavium_a064",
- "fastlinq_ql41000",
- "fastlinq_ql41000_vf",
- "fastlinq_ql45000",
- "fastlinq_ql45000_vf",
- "hi1822",
- "virtio"
- ]
- },
-
"ARCH": {
"type": "string",
"enum": [
@@ -124,12 +54,6 @@
"other"
]
},
- "os": {
- "$ref": "#/definitions/OS"
- },
- "cpu": {
- "$ref": "#/definitions/cpu"
- },
"compiler": {
"$ref": "#/definitions/compiler"
},
@@ -140,9 +64,6 @@
},
"additionalProperties": false,
"required": [
- "arch",
- "os",
- "cpu",
"compiler"
]
},
@@ -74,12 +74,6 @@ class NodeConfigDict(TypedDict):
class BuildTargetConfigDict(TypedDict):
"""Allowed keys and values."""
- #:
- arch: str
- #:
- os: str
- #:
- cpu: str
#:
compiler: str
#:
@@ -466,7 +466,7 @@ def _run_build_target(
test_suites_with_cases: The test suites with test cases to run.
"""
self._logger.set_stage(DtsStage.build_target_setup)
- self._logger.info(f"Running build target '{build_target.name}'.")
+ self._logger.info("Running build target.")
try:
sut_node.set_up_build_target(build_target)
@@ -31,12 +31,9 @@
from typing import Union
from .config import (
- OS,
- Architecture,
BuildTargetConfiguration,
BuildTargetInfo,
Compiler,
- CPUType,
ExecutionConfiguration,
NodeInfo,
TestSuiteConfig,
@@ -223,7 +220,7 @@ class DTSResult(BaseResult):
"""Stores environment information and test results from a DTS run.
* Execution level information, such as testbed and the test suite list,
- * Build target level information, such as compiler, target OS and cpu,
+ * Build target level compiler information
* Test suite and test case results,
* All errors that are caught and recorded during DTS execution.
@@ -403,17 +400,11 @@ class BuildTargetResult(BaseResult):
The internal list stores the results of all test suites in a given build target.
Attributes:
- arch: The DPDK build target architecture.
- os: The DPDK build target operating system.
- cpu: The DPDK build target CPU.
compiler: The DPDK build target compiler.
compiler_version: The DPDK build target compiler version.
dpdk_version: The built DPDK version.
"""
- arch: Architecture
- os: OS
- cpu: CPUType
compiler: Compiler
compiler_version: str | None
dpdk_version: str | None
@@ -431,9 +422,6 @@ def __init__(
build_target: The build target's test run configuration.
"""
super(BuildTargetResult, self).__init__()
- self.arch = build_target.arch
- self.os = build_target.os
- self.cpu = build_target.cpu
self.compiler = build_target.compiler
self.compiler_version = None
self.dpdk_version = None
@@ -170,12 +170,7 @@ def remote_dpdk_build_dir(self) -> PurePath:
This is the directory where DPDK was built.
We assume it was built in a subdirectory of the extracted tarball.
"""
- if self._build_target_config:
- return self.main_session.join_remote_path(
- self._remote_dpdk_dir, self._build_target_config.name
- )
- else:
- return self.main_session.join_remote_path(self._remote_dpdk_dir, "build")
+ return self.main_session.join_remote_path(self._remote_dpdk_dir, "build")
@property
def dpdk_version(self) -> str:
@@ -253,7 +248,6 @@ def _configure_build_target(self, build_target_config: BuildTargetConfiguration)
"""Populate common environment variables and set build target config."""
self._env_vars = {}
self._build_target_config = build_target_config
- self._env_vars.update(self.main_session.get_dpdk_build_env_vars(build_target_config.arch))
self._env_vars["CC"] = build_target_config.compiler.name
if build_target_config.compiler_wrapper:
self._env_vars["CC"] = (