[v2,1/6] dts: Remove build target config and list of devices

Message ID 20240705182910.28009-2-npratte@iol.unh.edu (mailing list archive)
State New
Delegated to: Thomas Monjalon
Headers
Series dts: Remove Excess Attributes From User Config |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Nicholas Pratte July 5, 2024, 6:29 p.m. UTC
  Remove the list of devices from the schema, as these are unuesed.
Likewise, removed build-target information since these is not currently
used, and it is unlikely to be used in the future. Adjustments to the
dts.rst are made to reflect these changes.

Bugzilla ID: 1360
Signed-off-by: Nicholas Pratte <npratte@iol.unh.edu>
---
 dts/conf.yaml                              |  5 +-
 dts/framework/config/__init__.py           | 30 +-------
 dts/framework/config/conf_yaml_schema.json | 79 ----------------------
 dts/framework/config/types.py              |  6 --
 dts/framework/runner.py                    |  2 +-
 dts/framework/test_result.py               | 14 +---
 dts/framework/testbed_model/sut_node.py    |  8 +--
 7 files changed, 5 insertions(+), 139 deletions(-)
  

Patch

diff --git a/dts/conf.yaml b/dts/conf.yaml
index 7d95016e68..56cc08ced2 100644
--- a/dts/conf.yaml
+++ b/dts/conf.yaml
@@ -5,11 +5,8 @@ 
 test_runs:
   # define one test run 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
diff --git a/dts/framework/config/__init__.py b/dts/framework/config/__init__.py
index df60a5030e..456a8a83ab 100644
--- a/dts/framework/config/__init__.py
+++ b/dts/framework/config/__init__.py
@@ -85,22 +85,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."""
@@ -341,28 +325,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
 
     @classmethod
     def from_dict(cls, d: BuildTargetConfigDict) -> Self:
         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.
@@ -371,12 +347,8 @@  def from_dict(cls, d: BuildTargetConfigDict) -> Self:
             The build target configuration instance.
         """
         return cls(
-            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']}",
         )
 
 
diff --git a/dts/framework/config/conf_yaml_schema.json b/dts/framework/config/conf_yaml_schema.json
index f02a310bb5..3f7bc2acae 100644
--- a/dts/framework/config/conf_yaml_schema.json
+++ b/dts/framework/config/conf_yaml_schema.json
@@ -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"
       ]
     },
diff --git a/dts/framework/config/types.py b/dts/framework/config/types.py
index cf16556403..2f75724c5e 100644
--- a/dts/framework/config/types.py
+++ b/dts/framework/config/types.py
@@ -74,12 +74,6 @@  class NodeConfigDict(TypedDict):
 class BuildTargetConfigDict(TypedDict):
     """Allowed keys and values."""
 
-    #:
-    arch: str
-    #:
-    os: str
-    #:
-    cpu: str
     #:
     compiler: str
     #:
diff --git a/dts/framework/runner.py b/dts/framework/runner.py
index 6b6f6a05f5..2a1019899a 100644
--- a/dts/framework/runner.py
+++ b/dts/framework/runner.py
@@ -480,7 +480,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_config.name}'.")
+        self._logger.info("Running build target.")
 
         try:
             sut_node.set_up_build_target(build_target_config)
diff --git a/dts/framework/test_result.py b/dts/framework/test_result.py
index 5694a2482b..7fcc24fecd 100644
--- a/dts/framework/test_result.py
+++ b/dts/framework/test_result.py
@@ -31,12 +31,9 @@ 
 from typing import Union
 
 from .config import (
-    OS,
-    Architecture,
     BuildTargetConfiguration,
     BuildTargetInfo,
     Compiler,
-    CPUType,
     NodeInfo,
     TestRunConfiguration,
     TestSuiteConfig,
@@ -223,7 +220,7 @@  class DTSResult(BaseResult):
     """Stores environment information and test results from a DTS run.
 
         * Test run 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.
 
@@ -405,17 +402,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
@@ -433,9 +424,6 @@  def __init__(
             build_target_config: The build target's test run configuration.
         """
         super().__init__()
-        self.arch = build_target_config.arch
-        self.os = build_target_config.os
-        self.cpu = build_target_config.cpu
         self.compiler = build_target_config.compiler
         self.compiler_version = None
         self.dpdk_version = None
diff --git a/dts/framework/testbed_model/sut_node.py b/dts/framework/testbed_model/sut_node.py
index 2855fe0276..a4511157b7 100644
--- a/dts/framework/testbed_model/sut_node.py
+++ b/dts/framework/testbed_model/sut_node.py
@@ -115,12 +115,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:
@@ -217,7 +212,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"] = (