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 684B046CB1; Fri, 8 Aug 2025 03:21:25 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E667140270; Fri, 8 Aug 2025 03:21:24 +0200 (CEST) Received: from mail-pg1-f182.google.com (mail-pg1-f182.google.com [209.85.215.182]) by mails.dpdk.org (Postfix) with ESMTP id 2DBEB40150 for ; Fri, 8 Aug 2025 03:21:24 +0200 (CEST) Received: by mail-pg1-f182.google.com with SMTP id 41be03b00d2f7-b42348bae1fso966361a12.0 for ; Thu, 07 Aug 2025 18:21:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1754616083; x=1755220883; darn=dpdk.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=7zPAfrKsq5ZMZVcZrY5AoAH0lIGqR+OR509cmOY9TnE=; b=Y5gjwCvgDQP2/Bk67yjPJKYtUvNzmcIn1/UZlqiFBS8Hq5aYfvCQsE+vNlXdpa2U+o lN1J6S/0O6fLrlMVKsS7/9VsRwRCBK6+uLHcUy0ltppuUigfM8kLU4rkhTyhh6U0awWm ly/merYDcCLmAUDHnZXqujr1N+YGY22cIFL4g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754616083; x=1755220883; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7zPAfrKsq5ZMZVcZrY5AoAH0lIGqR+OR509cmOY9TnE=; b=uDvMS8WFW7AxiAeEWlo3GMS0E9za8Mqr8j6QDQh1NVMGS3suYQh03XA/Jaupk7yntx jmjDYfvG1pQolilFU1m9mD+kWYbjnP/5nt8EBn22vqFJYj5Ggk89GlBkZA+ZPqnelzmv +2Ci+3ADJg3zWtjrsdoKfsJenWncrzT+DnnlIvUY4TrZpUYgLvIKcq8GmU5Beu3u1N6c S5JkpoGhzuHaejLu4dusdE+HR7DBGoOsxSu8sptGEBSe/xkZWvKL/dRsWVTROx5KDZGa OAc1e1aHCUZskgZeNqI34baMcppSbrWsNXD+jzdOhCqWDoD8PGtiTIkzAR5kgprpe2Vn NhSw== X-Gm-Message-State: AOJu0Ywd9ruKHXoUQeTT6NPyqy/9l/sRual5qqY9tjB16pubkIXgkfiX ugGIVGhJmV7drfVMVGPZjl2sEO7WOaBIAXyzCI64OTkuZ7MU7p+AWLJNCTM1stEyJj9Dl6MpGSn X6IjYL2Y/qZv4vU6I7IvuVzUzC8cq7rVOboL/iaFr0g== X-Gm-Gg: ASbGncsJRyJ4rhB3x4rplnrv4bsINVHmP/oiHiF9oMCAitAbzZmB7/+6La13+Wc6dm9 jHCo22aC6JS7QTdI2wtBKkmAv7thJEO+nFzM9jFFNbL+vQf0VAdkgDee2lXgANpEefDxcJBWp0/ W9DEnVNtjIVDFedy4IoeWYeZf8g58xDAW/mJuQgeUsHXbGzK396IQRWtHe+9h0DaU6YjMRWsbCH Ri5gEAQHywmM9dXPlfbk1BeoTdh6v4r7ko5IAk= X-Google-Smtp-Source: AGHT+IEQo1lpFfjAw00hNB75FQeQKn/vYB4JmUCS4x5gaOu5ZLVya+35CProlq5bGaerhhk824+YWt22t5VBxZHwWrI= X-Received: by 2002:a17:902:ce8c:b0:220:ea90:191e with SMTP id d9443c01a7336-242c20030ffmr14840435ad.4.1754616083105; Thu, 07 Aug 2025 18:21:23 -0700 (PDT) MIME-Version: 1.0 References: <20250725151503.87374-1-luca.vizzarro@arm.com> <20250725151503.87374-2-luca.vizzarro@arm.com> In-Reply-To: <20250725151503.87374-2-luca.vizzarro@arm.com> From: Patrick Robb Date: Thu, 7 Aug 2025 21:15:06 -0400 X-Gm-Features: Ac12FXzCGEMK55reC-bRCJN6Lr9eiQCHDVP3Pt7s0RIRavQNXL5OgwEEOao1RsY Message-ID: Subject: Re: [PATCH 1/6] dts: merge RemoteSession class To: Luca Vizzarro Cc: dev@dpdk.org, Paul Szczepanek Content-Type: multipart/alternative; boundary="00000000000059e2c1063bd06473" 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 --00000000000059e2c1063bd06473 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Jul 25, 2025 at 11:15=E2=80=AFAM Luca Vizzarro wrote: > Merge the RemoteSession class with SSHSession as there is no current use > of a separate channel other than SSH. > > Signed-off-by: Luca Vizzarro > Reviewed-by: Paul Szczepanek > --- > doc/api/dts/framework.remote_session.rst | 1 - > .../framework.remote_session.ssh_session.rst | 8 -- > dts/framework/remote_session/__init__.py | 3 +- > .../remote_session/remote_session.py | 110 ++++++++++++----- > dts/framework/remote_session/ssh_session.py | 116 ------------------ > 5 files changed, 79 insertions(+), 159 deletions(-) > delete mode 100644 doc/api/dts/framework.remote_session.ssh_session.rst > delete mode 100644 dts/framework/remote_session/ssh_session.py > > diff --git a/doc/api/dts/framework.remote_session.rst > b/doc/api/dts/framework.remote_session.rst > index 27c9153e64..e4ebd21ab9 100644 > --- a/doc/api/dts/framework.remote_session.rst > +++ b/doc/api/dts/framework.remote_session.rst > @@ -12,7 +12,6 @@ remote\_session - Node Connections Package > :maxdepth: 1 > > -class RemoteSession(ABC): > +class RemoteSession: > """Non-interactive remote session. > > - The abstract methods must be implemented in order to connect to a > remote host (node) > - and maintain a remote session. > - The subclasses must use (or implement) some underlying transport > protocol (e.g. SSH) > - to implement the methods. On top of that, it provides some basic > services common to all > - subclasses, such as keeping history and logging what's being execute= d > on the remote node. > + The connection is implemented with > + `the Fabric Python library `_. > > Attributes: > name: The name of the session. > @@ -82,6 +94,7 @@ class RemoteSession(ABC): > password: The password used in the connection. Most frequently > empty, > as the use of passwords is discouraged. > This isn't really about your patch but at some point we need to decide to remove password support for real, or (re)document it in the DTS documentation so that people can use it if they want. I'm not super keen on us keeping around easter egg code which will break later. :) Something we can chat about at the next DTS meeting. > history: The executed commands during this session. > + session: The underlying Fabric SSH session. > """ > > name: str > @@ -91,6 +104,7 @@ class RemoteSession(ABC): > username: str > password: str > history: list[CommandResult] > + session: Connection > _logger: DTSLogger > _node_config: NodeConfiguration > > 2.43.0 > > Happy to see the two classes reduced into just RemoteSession. Reviewed-by: Patrick Robb --00000000000059e2c1063bd06473 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Fri, Jul 25,= 2025 at 11:15=E2=80=AFAM Luca Vizzarro <luca.vizzarro@arm.com> wrote:
Merge the RemoteSession class with SSHSess= ion as there is no current use
of a separate channel other than SSH.

Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>
Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>
---
=C2=A0doc/api/dts/framework.remote_session.rst=C2=A0 =C2=A0 =C2=A0 |=C2=A0 = =C2=A01 -
=C2=A0.../framework.remote_session.ssh_session.rst=C2=A0 |=C2=A0 =C2=A08 --=
=C2=A0dts/framework/remote_session/__init__.py=C2=A0 =C2=A0 =C2=A0 |=C2=A0 = =C2=A03 +-
=C2=A0.../remote_session/remote_session.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 | 110 ++++++++++++-----
=C2=A0dts/framework/remote_session/ssh_session.py=C2=A0 =C2=A0| 116 -------= -----------
=C2=A05 files changed, 79 insertions(+), 159 deletions(-)
=C2=A0delete mode 100644 doc/api/dts/framework.remote_session.ssh_session.r= st
=C2=A0delete mode 100644 dts/framework/remote_session/ssh_session.py

diff --git a/doc/api/dts/framework.remote_session.rst b/doc/api/dts/framewo= rk.remote_session.rst
index 27c9153e64..e4ebd21ab9 100644
--- a/doc/api/dts/framework.remote_session.rst
+++ b/doc/api/dts/framework.remote_session.rst
@@ -12,7 +12,6 @@ remote\_session - Node Connections Package
=C2=A0 =C2=A0 :maxdepth: 1

-class RemoteSession(ABC):
+class RemoteSession:
=C2=A0 =C2=A0 =C2=A0"""Non-interactive remote session.

-=C2=A0 =C2=A0 The abstract methods must be implemented in order to connect= to a remote host (node)
-=C2=A0 =C2=A0 and maintain a remote session.
-=C2=A0 =C2=A0 The subclasses must use (or implement) some underlying trans= port protocol (e.g. SSH)
-=C2=A0 =C2=A0 to implement the methods. On top of that, it provides some b= asic services common to all
-=C2=A0 =C2=A0 subclasses, such as keeping history and logging what's b= eing executed on the remote node.
+=C2=A0 =C2=A0 The connection is implemented with
+=C2=A0 =C2=A0 `the Fabric Python library <https://docs.fabfil= e.org/en/latest/>`_.

=C2=A0 =C2=A0 =C2=A0Attributes:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0name: The name of the session.
@@ -82,6 +94,7 @@ class RemoteSession(ABC):
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0password: The password used in the connec= tion. Most frequently empty,
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0as the use of passwords is = discouraged.

This isn't really abou= t your patch but at some point we need to decide to remove password support= for real, or (re)document it in the DTS documentation so that people can u= se it if they want. I'm not super keen on us keeping around easter egg = code which will break later. :) Something we can chat about at the next DTS= meeting.
=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0history: The executed commands during thi= s session.
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 session: The underlying Fabric SSH session. =C2=A0 =C2=A0 =C2=A0"""

=C2=A0 =C2=A0 =C2=A0name: str
@@ -91,6 +104,7 @@ class RemoteSession(ABC):
=C2=A0 =C2=A0 =C2=A0username: str
=C2=A0 =C2=A0 =C2=A0password: str
=C2=A0 =C2=A0 =C2=A0history: list[CommandResult]
+=C2=A0 =C2=A0 session: Connection
=C2=A0 =C2=A0 =C2=A0_logger: DTSLogger
=C2=A0 =C2=A0 =C2=A0_node_config: NodeConfiguration

2.43.0


Happy to see the two classes reduced i= nto just RemoteSession.=C2=A0

Reviewed-by: Patrick= Robb <probb@iol.unh.edu>=C2= =A0
--00000000000059e2c1063bd06473--