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 6B40B41CE5; Mon, 20 Feb 2023 11:13:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 58E5343004; Mon, 20 Feb 2023 11:13:57 +0100 (CET) Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) by mails.dpdk.org (Postfix) with ESMTP id B36C740395 for ; Mon, 20 Feb 2023 11:13:56 +0100 (CET) Received: by mail-ed1-f51.google.com with SMTP id i31so7882263eda.12 for ; Mon, 20 Feb 2023 02:13:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon-tech.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=wvqB2fed3VTCpX10chQeVf58PZyXBUqtLRnduc4UkAA=; b=zBe2uMZT87DxR6H0BQIrK5ife1BmjD4vtj/z80OUwB3WywZtPo5ssur0th7YfqUBll /rSR1jzfIPSwXXsPw4MchMLzDIq5hkqKXMhKtpxBT6SaHTuFsYEaalBl+meWp042wqwo b6KEfMaWSMxFPaPckMMLQNIk6qaRiGt7mQlQNBwH5DRJBAMIMd7YDhIBR+g1tCK9uxOB 985a3p7VFL/k9AWZnbWvNsCFT+8IXGTM+jCo+Umbmij3eYshWpwDVl7x3f0b9eY5VDQM aLWLgB6Z2BjHYMZQ6TgeG2bw5TAgl4mtccXPHvpRTrXtNlWniWPA84/hQYg2MU4V+of3 XEpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding: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=wvqB2fed3VTCpX10chQeVf58PZyXBUqtLRnduc4UkAA=; b=qpZJ67JCDilYAtbGOcqUoJ2nmkZZg6knAV84Dr07UlPTPpmyl1tqSmd1N7vLMzPW0+ izlHf4ZbkTYwF9R8sGWFEpceaJUsUw8fcgJiQYrlWknNL5LRgWNodibytB6Uy83pdfTg 2M5pW8AkW4GFAXNppWSo+HEIo4U1iBPe2xavlS57CfKEIcNGhF0BSIIvZWhXIgh/ORGR buYE6sUyUBGFjPNzsrNypVg999CZtHHquqR8tJd8eV+uykeCpUWKH1jfX2F88iJm/RxU 1L02DCUM2SDZJm2RhtPjSemOQ6ixDisDev3KcAs2v1ITU9Zzy7sKIDj48PnQ0fh+oe3d CD2g== X-Gm-Message-State: AO0yUKUzx6qxY/NV4If+u2TKgJa7KhAbxIHwxXfM55Lje4IO367GUj1Z kNMAkdcpo8nmD05DwYZxGjroQrdYNTeT5ao5hILQEw== X-Google-Smtp-Source: AK7set/jtjlKuyyOZGPV1VGmRMn1SE7EzCNCIjCSyQgRyYrYqrKLoS2bdiPlBs5TJ+PvK55SM87ypqKBVQA7HqHpohg= X-Received: by 2002:a17:907:88c9:b0:8b1:3540:7632 with SMTP id rq9-20020a17090788c900b008b135407632mr3364763ejc.2.1676888036373; Mon, 20 Feb 2023 02:13:56 -0800 (PST) MIME-Version: 1.0 References: <20230117154906.860916-1-juraj.linkes@pantheon.tech> <20230213152846.284191-1-juraj.linkes@pantheon.tech> In-Reply-To: From: =?UTF-8?Q?Juraj_Linke=C5=A1?= Date: Mon, 20 Feb 2023 11:13:45 +0100 Message-ID: Subject: Re: [PATCH v4 00/10] dts: add hello world testcase To: Bruce Richardson Cc: thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, ohilyard@iol.unh.edu, lijuan.tu@intel.com, wathsala.vithanage@arm.com, probb@iol.unh.edu, dev@dpdk.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 Thanks for the comments, Bruce. On Fri, Feb 17, 2023 at 6:26 PM Bruce Richardson wrote: > > On Mon, Feb 13, 2023 at 04:28:36PM +0100, Juraj Linke=C5=A1 wrote: > > Add code needed to run the HelloWorld testcase which just runs the hell= o > > world dpdk application. > > > > The patchset currently heavily refactors this original DTS code needed > > to run the testcase: > > * The whole architecture has been redone into more sensible class > > hierarchy > > * DPDK build on the System under Test > > * DPDK eal args construction, app running and shutting down > > * Optional SUT hugepage memory configuration > > * Test runner > > * Test results > > * TestSuite class > > * Test runner parts interfacing with TestSuite > > * The HelloWorld testsuite itself > > > > The code is divided into sub-packages, some of which are divided > > further. > > > > There patch may need to be divided into smaller chunks. If so, proposal= s > > on where exactly to split it would be very helpful. > > > > v3: > > Finished refactoring everything in this patch, with test suite and test > > results being the last parts. > > Also changed the directory structure. It's now simplified and the > > imports look much better. > > I've also many many minor changes such as renaming variables here and > > there. > > > > v4: > > Made hugepage config optional, users may now specify that in the main > > config file. > > Removed HelloWorld test plan and incorporated parts of it into the test > > suite python file. > > Updated documentation. > > > Hi, > > just trying this out by reading the docs and trying to follow along. Coup= le > of high-level comments thus far without getting into the patches: > > * In the "configuring DTS" section, I think it would be good to: > - say that the config file should be named conf.yaml by default. It's = in > the next section, but I think it should be called out earlier. > - say that there is a template conf.yaml file in the dts directory > already. On my first reading I actually thought that the sample conf= ig > file was dts/framework/config/conf_yaml_schema.json (and I was going > to comment on the name being weird! :-)). Only when I opened it did = I > realise my mistake. Therefore, downplan the schema, and put more > emphasis on where to find the simple conf example to start with. Good points, I'll rewrite that a bit. > - if hugepage config is now optional, as you say above, remove that fr= om > the sample and the docs. > The optional part is just that users may choose between DTS either configuring the hugepages or not, but hugepages still must be configured (if not by DTS, then beforehand). I'll document this a bit more, but I'd like to leave it in the sample config with a note saying it's optional. > * The code thus far seems to imply that you are always going to use root. > When I configured it to log on to bruce@localhost, it timed out waiting > for a prompt, I believe because it was looking for "#" which is the > default only for root prompts. > True, I'll add this to docs. This will not be a requirement in the future though - we want to do passwordless sudo. > * When running as root, things progressed further but I hit an error when > DTS was trying to get the CPU config. No idea what is happening here, > because running the same commands manually over ssh seemed to work fine= . > Below is the error. Any hints as to what is the problem appreciated. > I remember running into the same issue as well. I think it's related to the bracketed paste feature of some terminal emulators: https://askubuntu.com/questions/662222/why-bracketed-paste-mode-is-enabled-= sporadically-in-my-terminal-screen Please try disabling it and see whether that helps. I haven't gone to great lengths to harden this part of SSH implementation as we'll be moving to Fabric (from pexpect) after this patch (which uses a mature Python SSH implementation instead of expect). > Thanks, > /Bruce > > $ ./main.py --tarball ~/Downloads/dpdk-22.11.1.tar.xz -v Y > 2023/02/17 16:59:57 - SUT 1 - INFO - Connecting to root@localhost. > 2023/02/17 16:59:58 - SUT 1 - INFO - Connection to root@localhost success= ful. > 2023/02/17 16:59:58 - SUT 1 - INFO - Getting CPU information. > 2023/02/17 16:59:58 - SUT 1 - INFO - Sending: 'lscpu -p=3DCPU,CORE,SOCKET= ,NODE|grep -v \#' > 2023/02/17 16:59:59 - dts_runner - ERROR - Connection to node NodeConfigu= ration(name=3D'SUT 1', hostname=3D'localhost', user=3D'root', password=3DNo= ne, arch=3D, os=3D, lcore= s=3D'3,4', use_first_core=3DFalse, memory_channels=3D8, hugepages=3DHugepag= eConfiguration(amount=3D256, force_first_numa=3DFalse)) failed. > Traceback (most recent call last): > File "/home/bruce/dpdk.org/dts/framework/dts.py", line 41, in run_all > sut_node =3D SutNode(execution.system_under_test) > File "/home/bruce/dpdk.org/dts/framework/testbed_model/sut_node.py", li= ne 39, in __init__ > super(SutNode, self).__init__(node_config) > File "/home/bruce/dpdk.org/dts/framework/testbed_model/node.py", line 4= 7, in __init__ > self._get_remote_cpus() > File "/home/bruce/dpdk.org/dts/framework/testbed_model/node.py", line 1= 55, in _get_remote_cpus > self.lcores =3D self.main_session.get_remote_cpus(self.config.use_fir= st_core) > File "/home/bruce/dpdk.org/dts/framework/remote_session/linux_session.p= y", line 18, in get_remote_cpus > cpu_info =3D self.remote_session.send_command( > File "/home/bruce/dpdk.org/dts/framework/remote_session/remote/remote_s= ession.py", line 103, in send_command > result =3D self._send_command(command, timeout, env) > File "/home/bruce/dpdk.org/dts/framework/remote_session/remote/ssh_sess= ion.py", line 172, in _send_command > return_code =3D int(self._send_command_get_output("echo $?", timeout,= None)) > ValueError: invalid literal for int() with base 10: '\x1b[?2004l\r\r\n0' > 2023/02/17 16:59:59 - dts_runner - DEBUG - Summary of errors: > 2023/02/17 16:59:59 - dts_runner - DEBUG - ValueError("invalid literal fo= r int() with base 10: '\\x1b[?2004l\\r\\r\\n0'") > 2023/02/17 16:59:59 - dts_runner - INFO - DTS execution has ended. >