diff --git a/dts/framework/remote_session/dpdk_shell.py b/dts/framework/remote_session/dpdk_shell.py index 950c6ca6705..c5f5c2d116b 100644 --- a/dts/framework/remote_session/dpdk_shell.py +++ b/dts/framework/remote_session/dpdk_shell.py @@ -82,6 +82,7 @@ def __init__( ascending_cores: bool = True, append_prefix_timestamp: bool = True, app_params: EalParams = EalParams(), + name: str | None = None, ) -> None: """Extends :meth:`~.interactive_shell.InteractiveShell.__init__`. @@ -96,7 +97,7 @@ def __init__( append_prefix_timestamp, ) - super().__init__(node, privileged, timeout, app_params) + super().__init__(node, privileged, timeout, app_params, name) def _update_real_path(self, path: PurePath) -> None: """Extends :meth:`~.interactive_shell.InteractiveShell._update_real_path`. diff --git a/dts/framework/remote_session/single_active_interactive_shell.py b/dts/framework/remote_session/single_active_interactive_shell.py index 38318aa7649..77a4dcefdf2 100644 --- a/dts/framework/remote_session/single_active_interactive_shell.py +++ b/dts/framework/remote_session/single_active_interactive_shell.py @@ -32,7 +32,7 @@ InteractiveSSHSessionDeadError, InteractiveSSHTimeoutError, ) -from framework.logger import DTSLogger +from framework.logger import DTSLogger, get_dts_logger from framework.params import Params from framework.settings import SETTINGS from framework.testbed_model.node import Node @@ -92,6 +92,7 @@ def __init__( privileged: bool = False, timeout: float = SETTINGS.timeout, app_params: Params = Params(), + name: str | None = None, ) -> None: """Create an SSH channel during initialization. @@ -102,9 +103,13 @@ def __init__( shell. This timeout is for collecting output, so if reading from the buffer and no output is gathered within the timeout, an exception is thrown. app_params: The command line parameters to be passed to the application on startup. + name: Name for the interactive shell to use for logging. This name will be appended to + the name of the underlying node which it is running on. """ self._node = node - self._logger = node._logger + if name is None: + name = type(self).__name__ + self._logger = get_dts_logger(f"{node.name}.{name}") self._app_params = app_params self._privileged = privileged self._timeout = timeout diff --git a/dts/framework/remote_session/testpmd_shell.py b/dts/framework/remote_session/testpmd_shell.py index eda6eb320fd..43e9f565178 100644 --- a/dts/framework/remote_session/testpmd_shell.py +++ b/dts/framework/remote_session/testpmd_shell.py @@ -604,6 +604,7 @@ def __init__( lcore_filter_specifier: LogicalCoreCount | LogicalCoreList = LogicalCoreCount(), ascending_cores: bool = True, append_prefix_timestamp: bool = True, + name: str | None = None, **app_params: Unpack[TestPmdParamsDict], ) -> None: """Overrides :meth:`~.dpdk_shell.DPDKShell.__init__`. Changes app_params to kwargs.""" @@ -615,6 +616,7 @@ def __init__( ascending_cores, append_prefix_timestamp, TestPmdParams(**app_params), + name, ) def start(self, verify: bool = True) -> None: diff --git a/dts/framework/testbed_model/traffic_generator/scapy.py b/dts/framework/testbed_model/traffic_generator/scapy.py index 08e1f4ae7e6..13fc1107aae 100644 --- a/dts/framework/testbed_model/traffic_generator/scapy.py +++ b/dts/framework/testbed_model/traffic_generator/scapy.py @@ -261,7 +261,9 @@ def __init__(self, tg_node: Node, config: ScapyTrafficGeneratorConfig): self._tg_node.config.os == OS.linux ), "Linux is the only supported OS for scapy traffic generation" - self.session = PythonShell(self._tg_node, timeout=5, privileged=True) + self.session = PythonShell( + self._tg_node, timeout=5, privileged=True, name="ScapyXMLRPCServer" + ) self.session.start_application()