<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 28, 2023 at 4:27 PM Wathsala Wathawana Vithanage <<a href="mailto:wathsala.vithanage@arm.com">wathsala.vithanage@arm.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-341182210817702663">
<div style="overflow-wrap: break-word;" lang="EN-US">
<div class="m_-341182210817702663WordSection1">
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-color:currentcolor currentcolor currentcolor blue;border-style:none none none solid;border-width:medium medium medium 1.5pt;padding:0in 0in 0in 4pt">
<div>
<div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0in 0in">
<p class="MsoNormal"><b>From:</b> Juraj Linkeš <juraj.linkes@pantheon.tech> <br>
<b>Sent:</b> Monday, February 27, 2023 3:29 AM<br>
<b>To:</b> Wathsala Wathawana Vithanage <<a href="mailto:wathsala.vithanage@arm.com" target="_blank">wathsala.vithanage@arm.com</a>><br>
<b>Cc:</b> <a href="mailto:thomas@monjalon.net" target="_blank">thomas@monjalon.net</a>; Honnappa Nagarahalli <<a href="mailto:Honnappa.Nagarahalli@arm.com" target="_blank">Honnappa.Nagarahalli@arm.com</a>>; <a href="mailto:lijuan.tu@intel.com" target="_blank">lijuan.tu@intel.com</a>; <a href="mailto:bruce.richardson@intel.com" target="_blank">bruce.richardson@intel.com</a>; <a href="mailto:probb@iol.unh.edu" target="_blank">probb@iol.unh.edu</a>; <a href="mailto:dev@dpdk.org" target="_blank">dev@dpdk.org</a>; nd <<a href="mailto:nd@arm.com" target="_blank">nd@arm.com</a>><br>
<b>Subject:</b> Re: [PATCH v5 00/10] dts: add hello world testcase<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">Hi Juraj,<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Hi Wathsala, thanks for the comments.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">Everything looks good except for couple of comments/suggestions.<br>
If I’m not mistaken dpdk tarball is copied to the SUT over scp. However, scp is already deprecated [1,2]. Is it possible to use rsync over ssh instead?<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">We're going to replace the pexpect implementation with the Fabric library in a separate patch (the helloworld patch is already very big), which will address this - Fabric uses SFTP for file transfer.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">Looks like ssh password needs to be stored in the configuration file which is not a good practice. Suggests giving users two options (a) using an ssh key instead of password (b) prompting for user password if no key is provided.<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">This is an optional and heavily discouraged option (useful for quick debugging, so we left it in). SSH keys are the default. The Fabric patch will also include the support for non-root users (with passwordless sudo).<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">It's somewhat cumbersome for a developer to create a tarball every time they run a test case. Therefore, would it be possible to automate the creation of tarball from a git repo + branch or a local directory when user doesn’t provide a
tarball?<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">That is also a separate patch in the making - users will be able to supply a git ref that DTS will use. I haven't thought about local directories, what additional scenarios would that cover?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">It may come in handy if working with a tarball without git or access to Internet.<u></u><u></u></p>
<p class="MsoNormal"><u></u> </p></div></div></div></div></div></div></div></blockquote><div><br></div><div>Is that an additional scenario though? With the git ref support patch, users will be able to pass either a tarball (the tarball won't be deleted so the user can reuse it) or a git ref (when running DTS from the repository). What I wanted to know is how do you arrive at a setup where you have a local directory that's not a git repository and you don't have a tarball - i.e. how do you have a local non-repo directory without a tarball (you have to get the local directory from somewhere, presumable a tarball)?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg-341182210817702663"><div style="overflow-wrap: break-word;" lang="EN-US"><div class="m_-341182210817702663WordSection1"><div style="border-color:currentcolor currentcolor currentcolor blue;border-style:none none none solid;border-width:medium medium medium 1.5pt;padding:0in 0in 0in 4pt"><div><div><div><p class="MsoNormal"><u></u></p>
</div>
<div>
<p class="MsoNormal">Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Juraj<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal" style="margin-bottom:12pt"><br>
[1] <a href="https://lwn.net/Articles/835962/" target="_blank">https://lwn.net/Articles/835962/</a><br>
[2] <a href="https://www.redhat.com/en/blog/openssh-scp-deprecation-rhel-9-what-you-need-know" target="_blank">
https://www.redhat.com/en/blog/openssh-scp-deprecation-rhel-9-what-you-need-know</a><br>
<br>
> Juraj Linkeš (10):<br>
> dts: add node and os abstractions<br>
> dts: add ssh command verification<br>
> dts: add dpdk build on sut<br>
> dts: add dpdk execution handling<br>
> dts: add node memory setup<br>
> dts: add test suite module<br>
> dts: add hello world testsuite<br>
> dts: add test suite config and runner<br>
> dts: add test results module<br>
> doc: update DTS setup and test suite cookbook<br>
> <br>
> doc/guides/tools/dts.rst | 165 ++++++++-<br>
> dts/conf.yaml | 22 +-<br>
> dts/framework/config/__init__.py | 130 ++++++-<br>
> dts/framework/config/conf_yaml_schema.json | 172 +++++++++-<br>
> dts/framework/dts.py | 185 ++++++++--<br>
> dts/framework/exception.py | 100 +++++-<br>
> dts/framework/logger.py | 24 +-<br>
> dts/framework/remote_session/__init__.py | 30 +-<br>
> dts/framework/remote_session/linux_session.py | 107 ++++++<br>
> dts/framework/remote_session/os_session.py | 175 ++++++++++<br>
> dts/framework/remote_session/posix_session.py | 222 ++++++++++++<br>
> .../remote_session/remote/__init__.py | 16 +<br>
> .../remote_session/remote/remote_session.py | 155 +++++++++<br>
> .../{ => remote}/ssh_session.py | 92 ++++-<br>
> .../remote_session/remote_session.py | 95 ------<br>
> dts/framework/settings.py | 81 ++++-<br>
> dts/framework/test_result.py | 316 ++++++++++++++++++<br>
> dts/framework/test_suite.py | 254 ++++++++++++++<br>
> dts/framework/testbed_model/__init__.py | 20 +-<br>
> dts/framework/testbed_model/dpdk.py | 78 +++++<br>
> dts/framework/testbed_model/hw/__init__.py | 27 ++<br>
> dts/framework/testbed_model/hw/cpu.py | 274 +++++++++++++++<br>
> .../testbed_model/hw/virtual_device.py | 16 +<br>
> dts/framework/testbed_model/node.py | 159 +++++++--<br>
> dts/framework/testbed_model/sut_node.py | 260 ++++++++++++++<br>
> dts/framework/utils.py | 39 ++-<br>
> dts/tests/TestSuite_hello_world.py | 64 ++++<br>
> 27 files changed, 3068 insertions(+), 210 deletions(-) create mode 100644<br>
> dts/framework/remote_session/linux_session.py<br>
> create mode 100644 dts/framework/remote_session/os_session.py<br>
> create mode 100644 dts/framework/remote_session/posix_session.py<br>
> create mode 100644 dts/framework/remote_session/remote/__init__.py<br>
> create mode 100644<br>
> dts/framework/remote_session/remote/remote_session.py<br>
> rename dts/framework/remote_session/{ => remote}/ssh_session.py (64%)<br>
> delete mode 100644 dts/framework/remote_session/remote_session.py<br>
> create mode 100644 dts/framework/test_result.py create mode 100644<br>
> dts/framework/test_suite.py create mode 100644<br>
> dts/framework/testbed_model/dpdk.py<br>
> create mode 100644 dts/framework/testbed_model/hw/__init__.py<br>
> create mode 100644 dts/framework/testbed_model/hw/cpu.py<br>
> create mode 100644 dts/framework/testbed_model/hw/virtual_device.py<br>
> create mode 100644 dts/framework/testbed_model/sut_node.py<br>
> create mode 100644 dts/tests/TestSuite_hello_world.py<br>
> <br>
> --<br>
> 2.30.2<br>
> <u></u><u></u></p>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div></blockquote></div></div>