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 4E34F456A2; Wed, 24 Jul 2024 20:39:50 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0007A42EDE; Wed, 24 Jul 2024 20:39:41 +0200 (CEST) Received: from mail-pj1-f100.google.com (mail-pj1-f100.google.com [209.85.216.100]) by mails.dpdk.org (Postfix) with ESMTP id 92F0842D55 for ; Wed, 24 Jul 2024 20:39:39 +0200 (CEST) Received: by mail-pj1-f100.google.com with SMTP id 98e67ed59e1d1-2cb7cd6f5f2so100195a91.2 for ; Wed, 24 Jul 2024 11:39:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1721846379; x=1722451179; 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=8lFlTaDFvIejpGFVOGx0BVlFciRudhGUD20pgoyrnKA=; b=Qc+5/q8o224SjGO3Evtv15tuwPhFironbx714P6B8jHFo6ZXOcrQmgkexKn6snImXb OjkhAbwXHblvEykmWB5XFoWgF12AfcXr6Xtq0EwD7g+WwGk/RVNTqyE3JjPGonKxmPbv QyrvXUdYEjxL9PaqQ/io7G7p0dW8Q83UsatAU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721846379; x=1722451179; 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=8lFlTaDFvIejpGFVOGx0BVlFciRudhGUD20pgoyrnKA=; b=sXUjo93BKp/iw+if33o3j833XuceX/212VOY1tVcLgKEF0yerWig++1anGuBoSqbhY 1OtDaH5UXDQA1OSNGB33zPZOJLUq56mlmxMmnYyew/BTa2Y99EuKCJUuaWvl6yDGtfnN MsVWDuBqRCkjXCwc/Lvb6YkMW2kZAix/zxXNjvuZfzo5YAIc756ygqgNWvlUi8szlrJP WCZKtkvBnZlGfIzzqJ19OqtGYnN/zpGvJDfbL1gJt0HKAUoc18Oy+beRTxCK12UK8ejI OZMRn5RuPK5Jf4HKcQUMQQQph6zD7tP5Db/nL6W8LJqiekarlqZerLjeZHhv4gc5HZJR 7lkA== X-Gm-Message-State: AOJu0YyduJ/NzW8yM3Li7wSlLJBgOCnlO+kr5OUnAUoqmJX2qA9AX2Ig o7vdLekYlvoqaO4iIbaOB3kJ+V5bXPWfVLTtdl3qwz9Z2Y3rtGM8IlpJDcO1TVJzYXe1hVUYUTe efe9LcV/iWONiCI7QIFHjBc/dzjuVtN8JtlfzyLvBRL8qHn88 X-Google-Smtp-Source: AGHT+IEMKfmXHJ07HRQVXETlqPbkCLpknUnq0r7oezKppQbXP6kkDGyuenVxNx6DX5z+C/X9eD8CQAfeAFmE X-Received: by 2002:a17:90b:2242:b0:2c9:98c2:f6d7 with SMTP id 98e67ed59e1d1-2cf2376fd94mr469158a91.5.1721846378729; Wed, 24 Jul 2024 11:39:38 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [2606:4100:3880:1234::84]) by smtp-relay.gmail.com with ESMTPS id 98e67ed59e1d1-2cdb73d2594sm100749a91.5.2024.07.24.11.39.38 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 24 Jul 2024 11:39:38 -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 6990F605C351; Wed, 24 Jul 2024 14:39:37 -0400 (EDT) From: jspewock@iol.unh.edu To: juraj.linkes@pantheon.tech, probb@iol.unh.edu, yoan.picchi@foss.arm.com, wathsala.vithanage@arm.com, Honnappa.Nagarahalli@arm.com, npratte@iol.unh.edu, paul.szczepanek@arm.com, thomas@monjalon.net, Luca.Vizzarro@arm.com Cc: dev@dpdk.org, Jeremy Spewock , Luca Vizzarro Subject: [PATCH v6 3/3] dts: Improve logging for interactive shells Date: Wed, 24 Jul 2024 14:39:14 -0400 Message-ID: <20240724183914.436188-4-jspewock@iol.unh.edu> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240724183914.436188-1-jspewock@iol.unh.edu> References: <20240501161623.26672-1-jspewock@iol.unh.edu> <20240724183914.436188-1-jspewock@iol.unh.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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 Reviewed-by: Juraj Linkeš Tested-by: Nicholas Pratte Reviewed-by: Nicholas Pratte Reviewed-by: Luca Vizzarro --- dts/framework/remote_session/dpdk_shell.py | 3 ++- .../remote_session/single_active_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 950c6ca670..c5f5c2d116 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 38318aa764..77a4dcefdf 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 eda6eb320f..43e9f56517 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 08e1f4ae7e..13fc1107aa 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() -- 2.45.2