From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9182A454AC; Thu, 20 Jun 2024 19:37:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A78D742E7C; Thu, 20 Jun 2024 19:37:24 +0200 (CEST) Received: from mail-il1-f228.google.com (mail-il1-f228.google.com [209.85.166.228]) by mails.dpdk.org (Postfix) with ESMTP id 9B670427A9 for ; Thu, 20 Jun 2024 19:37:13 +0200 (CEST) Received: by mail-il1-f228.google.com with SMTP id e9e14a558f8ab-376012bcc33so3863225ab.2 for ; Thu, 20 Jun 2024 10:37:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1718905033; x=1719509833; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2kZE70eiZYrOhJLvU0G/HWcobLr4RrPfyBBoRhVSZ0A=; b=fLuHANWkdtk98LV/m0LAdw16NDPrctANmzunM25t7E00StsVIaRwmPI3B2Rxf/nBNe Vpho5iWOSWl2g/zH6mB8LRKOSxGjPszIKpeqAdCt5t1Wj9VPg89Iu8zaZ+UE3tCRKeoO XnGuvuAXxhAIJBWXaLZNV+IiQ7r08z8QMxMfQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718905033; x=1719509833; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2kZE70eiZYrOhJLvU0G/HWcobLr4RrPfyBBoRhVSZ0A=; b=Mhp46pYMLurBXwTfMvB27a3jSrcEEgmav2nscN9XA7tfeJpaFvl738ABy8pFUhk1Yq tQaTFV6nv3GDo40NEW9D1Db1QbARn6sEEygeevgPAjanZsEaN1k8om+6i8hSbpT6AuQO z/trJM8BtcSomy4XLJQAkQ7MEzxZXDxURCcd6W25ThdUDAMIAUDltnYlV7aoRUDxKavW 3zeArIRyczNXQJvDGmaRu9r/JISDl4qxVSrkXu5/traCvK1LNhyxTg6VKvdD8ZdaQGW7 HYbtjkIB8+LUXXu4uq8hodEcUy1kH+3oNMMYKOw3IrdKf9Ob4KhfeOq4+iTO6W5ONKPa eSog== X-Gm-Message-State: AOJu0Yy/2q4vkGUHoCNX8xERhEd0tqczTnQt0ZcZf8LEeC9nOjZkreZR 8imoR5LOoItJUhrxAbV/VCOJ5dPwBfuwwCjMRzFrlPpR4yYTv4VqfLL1wEF+8fBxErqbbfqA5ag MheHDDxfyxYRJE0GJyhZEamuVMJgdWClt X-Google-Smtp-Source: AGHT+IHr2++dARfDudNSPJ2ugLs0HMz9fV00b6Q7ex6CEClXYeFGezy12T8TrPvNkk9dkzAmGKugX/Tt0ofM X-Received: by 2002:a05:6e02:1ca2:b0:376:1fae:463a with SMTP id e9e14a558f8ab-3761fae4930mr54370915ab.32.1718905032940; Thu, 20 Jun 2024 10:37:12 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [132.177.123.84]) by smtp-relay.gmail.com with ESMTPS id 41be03b00d2f7-6fee286da58sm614826a12.22.2024.06.20.10.37.12 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 20 Jun 2024 10:37:12 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from iol.unh.edu (unknown [IPv6:2606:4100:3880:1257::1083]) by postal.iol.unh.edu (Postfix) with ESMTP id 97DB7605C373; Thu, 20 Jun 2024 13:37:11 -0400 (EDT) From: jspewock@iol.unh.edu To: yoan.picchi@foss.arm.com, juraj.linkes@pantheon.tech, thomas@monjalon.net, Luca.Vizzarro@arm.com, wathsala.vithanage@arm.com, Honnappa.Nagarahalli@arm.com, paul.szczepanek@arm.com, npratte@iol.unh.edu, probb@iol.unh.edu Cc: dev@dpdk.org, Jeremy Spewock Subject: [PATCH v4 3/3] dts: Improve logging for interactive shells Date: Thu, 20 Jun 2024 13:36:09 -0400 Message-ID: <20240620173609.15375-4-jspewock@iol.unh.edu> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240620173609.15375-1-jspewock@iol.unh.edu> References: <20240501161623.26672-1-jspewock@iol.unh.edu> <20240620173609.15375-1-jspewock@iol.unh.edu> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Jeremy Spewock The messages being logged by interactive shells currently are using the same logger as the node they were created from. Because of this, when sending interactive commands, the logs make no distinction between when you are sending a command directly to the host and when you are using an interactive shell on the host. This change adds names to interactive shells so that they are able to use their own loggers with distinct names. Signed-off-by: Jeremy Spewock --- dts/framework/remote_session/dpdk_shell.py | 3 ++- dts/framework/remote_session/interactive_shell.py | 9 +++++++-- dts/framework/remote_session/testpmd_shell.py | 2 ++ dts/framework/testbed_model/traffic_generator/scapy.py | 4 +++- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/dts/framework/remote_session/dpdk_shell.py b/dts/framework/remote_session/dpdk_shell.py index 296639f37d..9b4ff47334 100644 --- a/dts/framework/remote_session/dpdk_shell.py +++ b/dts/framework/remote_session/dpdk_shell.py @@ -81,6 +81,7 @@ def __init__( append_prefix_timestamp: bool = True, start_on_init: bool = True, app_params: EalParams = EalParams(), + name: str | None = None, ) -> None: """Extends :meth:`~.interactive_shell.InteractiveShell.__init__`. @@ -95,7 +96,7 @@ def __init__( append_prefix_timestamp, ) - super().__init__(node, privileged, timeout, start_on_init, app_params) + super().__init__(node, privileged, timeout, start_on_init, 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/interactive_shell.py b/dts/framework/remote_session/interactive_shell.py index 6aa5281d6a..c92fdbfcdf 100644 --- a/dts/framework/remote_session/interactive_shell.py +++ b/dts/framework/remote_session/interactive_shell.py @@ -25,7 +25,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 @@ -73,6 +73,7 @@ def __init__( timeout: float = SETTINGS.timeout, start_on_init: bool = True, app_params: Params = Params(), + name: str | None = None, ) -> None: """Create an SSH channel during initialization. @@ -84,9 +85,13 @@ def __init__( and no output is gathered within the timeout, an exception is thrown. start_on_init: Start interactive shell automatically after object initialisation. 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 ec22f72221..1f00556187 100644 --- a/dts/framework/remote_session/testpmd_shell.py +++ b/dts/framework/remote_session/testpmd_shell.py @@ -605,6 +605,7 @@ def __init__( ascending_cores: bool = True, append_prefix_timestamp: bool = True, start_on_init: bool = True, + name: str | None = None, **app_params: Unpack[TestPmdParamsDict], ) -> None: """Overrides :meth:`~.dpdk_shell.DPDKShell.__init__`. Changes app_params to kwargs.""" @@ -617,6 +618,7 @@ def __init__( append_prefix_timestamp, start_on_init, 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 c3648134fc..ca0ea6aca3 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" + ) # import libs in remote python console for import_statement in SCAPY_RPC_SERVER_IMPORTS: -- 2.45.2