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 CF12E43751; Thu, 21 Dec 2023 17:23:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C7F514026B; Thu, 21 Dec 2023 17:23:57 +0100 (CET) Received: from mail-oi1-f172.google.com (mail-oi1-f172.google.com [209.85.167.172]) by mails.dpdk.org (Postfix) with ESMTP id 51B8B400D6 for ; Thu, 21 Dec 2023 17:23:56 +0100 (CET) Received: by mail-oi1-f172.google.com with SMTP id 5614622812f47-3ba53596119so352194b6e.3 for ; Thu, 21 Dec 2023 08:23:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1703175835; x=1703780635; darn=dpdk.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=HOYUGXFCcvxe+twUp8sy6uFKUdvco8E5T7887bEHcV4=; b=Krx4A1YPfN6LX621IsWgvIyhScbkZC5MhkO/7aq39RaXzDTm/XZPr7y+DYEwUG9bm8 B2GFMn61V1N+1gYNIC3ssaILJ8y5gBd/BT3+oY9O1WXxUoEYxHygS1NAiHfQGfO31nNh t+8e0hbAS4tzjXMOPWt+iAJchdGcIYGUZhOO0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703175835; x=1703780635; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=HOYUGXFCcvxe+twUp8sy6uFKUdvco8E5T7887bEHcV4=; b=rdFjsk8LKvvdsKuzuNF0/h4xuFfrkX6PvN4wHZM5mqrmxwGUxh+VaMm3aSKHJyDxfW EF+BJB12tceHJ5bFAOrPWJO8byodr9TKEHMQfiqC9z1ynGBEglgXT2jHCMQtdvQX6n7Y Bk5T7N4OY+sQBO3d58I2jpXKAnRIGif/03m4BK7Dp+mIZrZQmBO6xpz8lkCqOgQ9RygU x1PmMnzXopOVARDsXTxsF9Mdf4TPC1dncUEAhf9E/I7DEaj6cpho4wEow5rQVVaQ4zP5 9lH+p6NBkoYFD3iiwU4O72M73GwVw3ufPkqwYSpg29BMg540EVYxdm6hf45EUBBmwHXz E8tw== X-Gm-Message-State: AOJu0YyIt43+grq4jKUrXRLkaqCBFEdnYsBYZnnasMcRY0xcIU9OZF1h 9zRMyJe1OY1H8kcOWcfd6yhe5ylQkWeaLhCSiSAzwDE1LWudOFA7Ss1ITg== X-Google-Smtp-Source: AGHT+IEJT8aVtqhG1vdQM1MLZqJDRrPxm72l5P64p5nVclW6UGXsyG+WLSJvy/sLKOt4h7o2Ww/cZV51u6TG8QCBp1E= X-Received: by 2002:a05:6808:1185:b0:3b8:b063:8953 with SMTP id j5-20020a056808118500b003b8b0638953mr15436326oil.97.1703175835322; Thu, 21 Dec 2023 08:23:55 -0800 (PST) MIME-Version: 1.0 From: Patrick Robb Date: Thu, 21 Dec 2023 11:23:44 -0500 Message-ID: Subject: Community CI Meeting Minutes - December 21, 2023 To: ci@dpdk.org Cc: dts@dpdk.org Content-Type: multipart/alternative; boundary="000000000000a79dff060d0786e9" X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org --000000000000a79dff060d0786e9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable December 21, 2023 ##################################################################### Attendees 1. Patrick Robb 2. Paul 3. Juraj Linke=C5=A1 4. Thomas Monjalon 5. David Marchand 6. Lincoln Lavoie ##################################################################### Agenda 1. General Announcements 2. CI Status 3. DTS Improvements & Test Development 4. Any other business ##################################################################### Minutes =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D General Announcements * Intel seems to be out of the picture for now, who's taking care of the original DTS Patchwork https://patches.dpdk.org/project/dts/list/? * There are a lot of pending patches (74) * Most are from Intel, for Intel devices * Thomas will ping intel seeing if they have anyone who can get involved in new DTS. If it=E2=80=99s possible for Intel to provide some reviews, we = should do a final phase of merging patches to old DTS (so the 74 patches submitted now), and then direct all future efforts to new DTS and encourage Intel people to move in that direction. * Lijuan Tu is definitely no longer at Intel as we got a bounce from her email address =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D CI Status --------------------------------------------------------------------- UNH-IOL Community Lab * Octeon board bringup is ongoing * Windows testing: We received another request to extend windows test coverage again, since initially setting up the Windows Server 2022 testbed a few weeks ago. We will do thai work in January, and the new test coverage for Windows Server 2022 will be like: * Windows Server 2022 * mingw64 compile * dpdk unit tests * Clang/MSVC compile * MSVC meson compile (Developer Command Prompt for VS 2022 Preview) * Apply patch and create DPDK artifact script: For CI testing stability reasons, we are silently running this over Holiday break (so we are still using the old script for now), and will switch over on January 2nd. That means we are still hitting the dpdk.org git server for fetching changes for the next couple weeks. * We will swap into production at UNH CI on Jan 2nd and then upstream to dpdk-ci repo * Intel QAT card (ARM Ampere Server) * Will rebuild the kernel in January * Lincoln added a robots.txt to the site indicating to web crawlers not to index the site for details pages * Amazon was hitting us, so Lincoln blocked the ip for their crawler * We also have a long term story for refactoring how we query our database, as our test coverage grows --------------------------------------------------------------------- Intel Lab * Patrick pinged John McNamara for having the STV team using the GitHub mirror, and he passed that message on. * Unfortunately, there is not yet another STV manager in place who can act as a point of contact. Patrick will circle back on this in a couple months and see if this has moved at all. --------------------------------------------------------------------- Loongarch Lab * Loongson was missing some patch emails because the parse-email.sh script was not accounting for some cases where =E2=80=9CMessage ID=E2=80=9D was lo= wer cased. He updated the regex for this and submitted the patch to dpdk-ci, which Aaron has applied. --------------------------------------------------------------------- Github Actions * Has implemented email based retest request support * Aaron is submitting a dpdk-web patch updating the testing page on dpdk.org, indicating that both IOL and Github Robot support this now =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D DTS Improvements & Test Development * Jeremy has submitted the Scattered Rx patch. * Jeremy tried to reply to existing patchseries, but might not have been =E2=80=93in-reply-to the original cover letter * If he continues to have problems, will ping community * Docstrings patch has been pushed, we need to rebase all our patches. * DTS call on off-CI meeting weeks * Jeremy will share his schedule ASAP, and we will set the new regular meeting time ASAP * What's the current schedule? Or rather, what will it be in the next semester? * Invite Thomas to the call * Invite Gregory from nvidia. He has developed some testpmd python scripts for testing - DTS should attempt to be simple and effective like his scripts are. * Next release cycle planning * Current patches: * Html docs from docstring generation * Where the docs should be stored or better yet, how should they be accessed? * Currently we must first meet all python dependencies ahead of producing docs via meson, but this is not ideal as Thomas wants to run it for dpdk.org. This can live side by side with doxygen, but it needs to be referenced properly, so a followup version is needed. * Will want to reference the new docs from the website * doc.dpdk.org/api * Scatter patch * Dockerfile patch * Created a ticket assigning this to Jeremy today * This one needs an owner; do we want to pursue this? * Dockerfile scales well for running in a lab context, and we want the Dockerfile to be upstreamed so there can be community involvement * In the future, we could also publish the image to a public repo which people could easily pull from * New patches: * Packet filtering capabilities * New unh developers will begin writing ethdev testsuites * RFC of blocked test cases with logging * Adds logging for if testcases are blocked by prereq steps * Renames dts.py to runner.py, brings some more logic into runner.py * Jeremy will provide a review * Configuration: Would be nice to split configuration of machines from configuration of the tests. Thomas is going to work on this some. Good user experience is required in order to make DTS mandatory for developers. * Yaml schema: discusses some very old devices which can be removed. This came from old DTS, because we couldn=E2=80=99t tell whether w= e would need it or not, but we don=E2=80=99t. * A patch which updates licenses according to https://matija.suklje.name/how-and-why-to-properly-write-copyright-statemen= ts-in-your-code#why-not-bump-the-year-on-change; this is a suggestion from Thomas, do we need an RFC for this? * Copyright is valid for 50+ years, so that is enough time and we don=E2=80=99t have to worry about bumping years in the license. * Juraj is going to ask in his company, because there are different policies in USA, EU, etc. * Nothing else from me; also, I'm planning a month long vacation in March - is that okay release-wise or should I move it? * Any other new patches? I suggest two approaches for new patches: * Identify a test suite and implement a bare minimum of what the test suite needs * Identify features, discuss and implement those as deeply as possible and add test cases to showcase the features. The features may/should be based off of test suites * Planning thoughts/proposals: * We're doing last minute reviews and this time we even missed the window * We're also doing last minute RFCs for the roadmap * Only add to roadmap the patches that we think will be ready for review a month before the release (or mid-cycle or so) * If we can provide a rough roadmap for the entire calendar year, we can start posting that now for 24.07, 24.11, etc. and then we get more eyes on our goals * Reviews have the priority the month before the release; is nothing to review, work on the next feature or test suite which will hopefully be in an RFC state for the next roadmap * The review process * We should strip/remove the text/code we're not commenting on in review; it's much easier to review that way and the review history is much cleaner * People may skip if they open an email is it=E2=80=99s 10 billon lin= es * How do we do a kind of "post merge review"? I have minor notes about things that I'd like to refactor/change that I either didn't catch during review or I've found a possibly better way; or I want to just refactor some code from the original DTS that we didn't pay enough attention to before (examples below) * Can we have a dedicated section for DTS calls in 2024 discussing this? Patrick will add this to the Agenda, and we will go over all active bugzilla tickets. * We can create a bugzilla page for tracking some small =E2=80=9Cbugs= =E2=80=9D like this. Thomas made the project and is working on the correct bugzilla query. * Major/important items for the future: * How do we decide when we want to update the required Python version? * 3.11 has StrEnum * 3.12 has @typing.override (useful for docs), but we can get that with the typing_extensions module (but it doesn't work with Pylama due to a bug) * Traffic filtering when capturing packets * Full duplex traffic support * Testbed capabilities for test case skipping * Port driver rebinding, the current implementation feels like a workaround * Parallel functional testing, this is probably going to be relevant when we have more suites * DTS general config file * Arbitrary network configuration like IP addresses common to all tests and maybe other config, such that from cmdline args * Rename execution * Where should we put the different docs we have? * User, developer, api, test suite? * How to document test suites * The original DTS has extensive test plans, I'd like to use the relevant information (big picture, config and test steps) in docstrings * Code restructuring, such as moving base classes * Multiple test cases in one * Minor items for the future: * Do we want to enable pylint? * Fix the interactive session bug with the xmlrpc server and complete the docstring * Context manager for testpmd, but probably for all interactive shells * Config improvements * Arch/OS discovery, remove unused, maybe more config validation * Paul mentioned logging improvements * Related to that is how do we want to use cmd history? If at all? * Bug: Framework cleanup before extraction fails due to root files * NIC configuration improvements - what do we need here (something like NIC id)? this should be part of a patch which utilizes it * Improve statistics.txt * EAL/non-EAL parameters * Object for non-EAL params as well? * A lot of minor refactoring, in no particular order * Decoupling env vars and cmdline args parsing * Refactor _check_dts_python_version when updating Python version * Add references to parent configs in the config package * result.add_error(e) in _run_all_suites because of BlockingTestSuiteError * Node shouldn't be ABC, same for InteractiveShell and revisit InteractiveShell factory function (possibly split into methods) * What should skip-setup do? * Revisit set_up_execution, set_up_build_target (it should possibly be in runner.py) * Add setters for SutNode.remote_dpdk_build_dir, SutNode.dpdk_version and SutNode.get_build_target_info (or possibly combine) * Remote_session.name is used only in CommandResult, is that worth it? Maybe we can use the logger instance for the same purpose * InteractiveShell.path should be @abstractproperty * OSSession.close should also close self.interactive_session * OSSession.get_dpdk_build_env_vars could be in build target config * OSSession.get_compiler_version should use config.Compiler * Should OSSession.get_compiler_version use the compiler enum? * Do we actually need PosixSession.get_dpdk_file_prefix? * Do we want to move Node connection to node outside __init__? * dts.rst tool documentation typo and omission (mypy) * Add coding guidelines =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Any other business * Next meeting is January 4, and will be hosted by Lincoln * Juraj will be on vacation so likely will not be there * Thomas will be on vacation --000000000000a79dff060d0786e9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
December 21, 2023

#################################= ####################################
Attendees
1. Patrick Robb
2. = Paul
3. Juraj Linke=C5=A1
4. Thomas Monjalon
5. David Marchand
= 6. Lincoln Lavoie

##################################################= ###################
Agenda
1. General Announcements
2. CI Status3. DTS Improvements & Test Development
4. Any other business
#####################################################################
= Minutes

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DGeneral Announcements
* Intel seems to be out of the picture for now, w= ho's taking care of the original DTS Patchwork https://patches.dpdk.org/project/dts/list/?
=C2=A0 =C2=A0* There are a lot of pending patches (74)
=C2=A0 =C2= =A0* Most are from Intel, for Intel devices
=C2=A0 =C2=A0* Thomas will p= ing intel seeing if they have anyone who can get involved in new DTS. If it= =E2=80=99s possible for Intel to provide some reviews, we should do a final= phase of merging patches to old DTS (so the 74 patches submitted now), and= then direct all future efforts to new DTS and encourage Intel people to mo= ve in that direction.
=C2=A0 =C2=A0 =C2=A0 * Lijuan Tu is definitely no= longer at Intel as we got a bounce from her email address
=C2=A0 =C2=A0= =C2=A0
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
CI= Status

------------------------------------------------------------= ---------
UNH-IOL Community Lab
* Octeon board bringup is ongoing
= * Windows testing: We received another request to extend windows test cover= age again, since initially setting up the Windows Server 2022 testbed a few= weeks ago. We will do thai work in January, and the new test coverage for = Windows Server 2022 will be like:
=C2=A0 =C2=A0* Windows Server 2022
= =C2=A0 =C2=A0 =C2=A0 * mingw64 compile
=C2=A0 =C2=A0 =C2=A0 * dpdk unit = tests
=C2=A0 =C2=A0 =C2=A0 * Clang/MSVC compile
=C2=A0 =C2=A0 =C2=A0 = * MSVC meson compile (Developer Command Prompt for VS 2022 Preview)
* Ap= ply patch and create DPDK artifact script: For CI testing stability reasons= , we are silently running this over Holiday break (so we are still using th= e old script for now), and will switch over on January 2nd. That means we a= re still hitting the
dpdk.org git server fo= r fetching changes for the next couple weeks.
=C2=A0 =C2=A0* We will sw= ap into production at UNH CI on Jan 2nd and then upstream to dpdk-ci repo* Intel QAT card (ARM Ampere Server)
=C2=A0 =C2=A0* Will rebuild the k= ernel in January
* Lincoln added a robots.txt to the site indicating to = web crawlers not to index the site for details pages
=C2=A0 =C2=A0* Amaz= on was hitting us, so Lincoln blocked the ip for their crawler
=C2=A0 = =C2=A0* We also have a long term story for refactoring how we query our dat= abase, as our test coverage grows

----------------------------------= -----------------------------------
Intel Lab
* Patrick pinged John M= cNamara for having the STV team using the GitHub mirror, and he passed that= message on.
=C2=A0 =C2=A0* Unfortunately, there is not yet another STV= manager in place who can act as a point of contact. Patrick will circle ba= ck on this in a couple months and see if this has moved at all.

----= -----------------------------------------------------------------
Loonga= rch Lab
* Loongson was missing some patch emails because the parse-email= .sh script was not accounting for some cases where =E2=80=9CMessage ID=E2= =80=9D was lower cased. He updated the regex for this and submitted the pat= ch to dpdk-ci, which Aaron has applied.

---------------------------= ------------------------------------------
Github Actions
* Has imple= mented email based retest request support
=C2=A0 =C2=A0* Aaron is submit= ting a dpdk-web patch updating the testing page on dpdk.org, indicating that both IOL and Github Robot support this no= w

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
DTS I= mprovements & Test Development
* Jeremy has submitted the Scattered = Rx patch.
=C2=A0 =C2=A0* Jeremy tried to reply to existing patchseries, = but might not have been =E2=80=93in-reply-to the original cover letter
= =C2=A0 =C2=A0* If he continues to have problems, will ping community
* D= ocstrings patch has been pushed, we need to rebase all our patches.
* DT= S call on off-CI meeting weeks
=C2=A0 =C2=A0* Jeremy will share his sche= dule ASAP, and we will set the new regular meeting time ASAP
=C2=A0 =C2= =A0* What's the current schedule? Or rather, what will it be in the nex= t semester?
=C2=A0 =C2=A0* Invite Thomas to the call
=C2=A0 =C2=A0* I= nvite Gregory from nvidia. He has developed some testpmd python scripts for= testing - DTS should attempt to be simple and effective like his scripts a= re.
* Next release cycle planning
=C2=A0 =C2=A0* Current patches:
= =C2=A0 =C2=A0 =C2=A0 * Html docs from docstring generation
=C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0* Where the docs should be stored or better yet, how s= hould they be accessed?
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* Currently we= must first meet all python dependencies ahead of producing docs via meson,= but this is not ideal as Thomas wants to run it for dpdk.org. This can live side by side with doxygen, but it needs t= o be referenced properly, so a followup version is needed.
=C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 * Will want to reference the new docs from the= website
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 * doc.dpdk.org/api
=C2=A0 =C2=A0 =C2=A0 * Scatter pa= tch
=C2=A0 =C2=A0 =C2=A0 * Dockerfile patch
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0* Created a ticket assigning this to Jeremy today
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0* This one needs an owner; do we want to pursue thi= s?
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* Dockerfile scales well for runnin= g in a lab context, and we want the Dockerfile to be upstreamed so there ca= n be community involvement
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 * I= n the future, we could also publish the image to a public repo which people= could easily pull from
=C2=A0 =C2=A0* New patches:
=C2=A0 =C2=A0 =C2= =A0 * Packet filtering capabilities
=C2=A0 =C2=A0 =C2=A0 * New unh devel= opers will begin writing ethdev testsuites
=C2=A0 =C2=A0 =C2=A0 * RFC of= blocked test cases with logging
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* Add= s logging for if testcases are blocked by prereq steps
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0* Renames dts.py to runner.py, brings some more logic into= runner.py
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 * Jeremy will provi= de a review
=C2=A0 =C2=A0 =C2=A0 * Configuration: Would be nice to split= configuration of machines from configuration of the tests. Thomas is going= to work on this some. Good user experience is required in order to make DT= S mandatory for developers.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* Yaml sch= ema: discusses some very old devices which can be removed. This came from o= ld DTS, because we couldn=E2=80=99t tell whether we would need it or not, b= ut we don=E2=80=99t.
=C2=A0 =C2=A0 =C2=A0 * A patch which updates licen= ses according to