<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi Patrick,</p>
<p>Comments inline:</p>
<div class="moz-cite-prefix">On Thur, Feb 29, 2024 at 6:09AM,
Patrick Robb wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAJvnSUAJR5yOV3DKzfSNcjB9QUG4Q3-HWm2Td8QO4X2Zrm3sKw@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div>Hi Zhoumin, </div>
<div><br>
</div>
<div>Comments inline:</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, Feb 28, 2024 at
12:35 AM zhoumin <<a href="mailto:zhoumin@loongson.cn"
moz-do-not-send="true">zhoumin@loongson.cn</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>
<p>Hi Patrick,</p>
<p>I'm sorry for this serious delay.</p>
<p>I do believe that retesting is meaningful and Loongson
lab should support it. Meanwhile, the email based retest
framework is wonderful and it is not too hard to
integrate the retest function into the existed dpdk-ci
framework. Although I am responsible for the Loongson
lab, I'm not full-time on it. So, I need some time to
support the email based retest function in Loongson lab.
It may take a few weeks.</p>
</div>
</blockquote>
<div><br>
</div>
<div>Perfect! And take the time you need, thanks. <br>
</div>
</div>
</div>
</blockquote>
Thanks. I will make it a priority.<br>
<blockquote type="cite"
cite="mid:CAJvnSUAJR5yOV3DKzfSNcjB9QUG4Q3-HWm2Td8QO4X2Zrm3sKw@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<p> <br>
</p>
<div>On Thu, Feb 22, 2024 at 1:54PM, Patrick Robb wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">And I forgot to mention, you can set up
part of this using the dpdk-ci project get_reruns.py
script. It polls the Rest API for all comment on patch
emails events in a given timeframe, and uses regex to
write a json file containing any retest requests from
that period. We run this periodically (every 15
minutes) at UNH using Jenkins, but I think you could
do this with a cron job or another solution.
<div><br>
</div>
<div>Just remember to keep bringing the timeframe
parameters forward or you will end up consuming a
retest request more than once! </div>
<div><br>
</div>
<div><a
href="https://git.dpdk.org/tools/dpdk-ci/tree/tools/get_reruns.py"
target="_blank" moz-do-not-send="true">https://git.dpdk.org/tools/dpdk-ci/tree/tools/get_reruns.py</a><br>
</div>
</div>
</blockquote>
<p>Thanks for pointing it out. This script is very useful
and it can help us more easily support the retest
function.</p>
<p>But, I got an empty output when I tried to get the
retest requests since 2023-08-01 as following:</p>
<p># python3 tools/get_reruns.py -ts 2023-08-01 --contexts
"iol-compile-amd64-testing,iol-broadcom-Performance,iol-unit-arm64-testing,github-robot"<br>
{<br>
"retests": {},<br>
"last_comment_timestamp":
"2024-02-28T02:27:49.500680"<br>
}<br>
Or am I using this script wrong?<br>
</p>
</div>
</blockquote>
<div><br>
</div>
<div>Yes one correction, you should do a space delimited list
of patchwork test contexts, not a comma delimited list. No
quotation marks needed.</div>
<div><br>
</div>
<div> # python3 tools/get_reruns.py -ts 2023-08-01 --contexts
iol-compile-amd64-testing iol-broadcom-Performance
iol-unit-arm64-testing github-robot</div>
</div>
</div>
</blockquote>
Thanks. I got the expected results.<br>
<blockquote type="cite"
cite="mid:CAJvnSUAJR5yOV3DKzfSNcjB9QUG4Q3-HWm2Td8QO4X2Zrm3sKw@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<p> </p>
<blockquote type="cite"><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Feb 22, 2024
at 12:55 AM Patrick Robb <<a
href="mailto:probb@iol.unh.edu" target="_blank"
moz-do-not-send="true">probb@iol.unh.edu</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 dir="ltr">Hi Zhoumin,
<div><br>
</div>
<div>I wanted to reach out to you about the
possibility of adding the Loongson lab to the
group of labs supporting the email based retest
framework. Currently, the UNH Community Lab and
also the GitHub Robot are supporting patch
retest requests from emails, and we would like
to extend that to all the publicly reporting CI
labs, if possible. </div>
<div><br>
</div>
<div>For context, the original announcement:<a
href="https://inbox.dpdk.org/ci/CAC-YWqiXqBYyzPsc4UD7LbUHKha_Vb3=Aot+dQomuRLojy2hvA@mail.gmail.com/"
target="_blank" moz-do-not-send="true">https://inbox.dpdk.org/ci/CAC-YWqiXqBYyzPsc4UD7LbUHKha_Vb3=Aot+dQomuRLojy2hvA@mail.gmail.com/</a></div>
<div><br>
</div>
<div>Aaron announcing support for the github
robot: <a
href="https://inbox.dpdk.org/ci/f7tedfooq6k.fsf@redhat.com/"
target="_blank" moz-do-not-send="true">https://inbox.dpdk.org/ci/f7tedfooq6k.fsf@redhat.com/</a></div>
<div><br>
</div>
<div>And the retest framework definition on the <a
href="https://mailgw.loongson.cn/linkserver?dest=http%3A%2F%2Fdpdk.org&tid=_____8Bx3+sGUtdlAT8QAA--.41768S3&rcpt=zhoumin@loongson.cn&ifnotice=1&rindex=0"
target="_blank" moz-do-not-send="true">dpdk.org</a>
testing page: <a
href="https://core.dpdk.org/testing/#requesting-a-patch-retest"
target="_blank" moz-do-not-send="true">https://core.dpdk.org/testing/#requesting-a-patch-retest</a></div>
<div><br>
</div>
<div>So a format like:</div>
<div><br>
</div>
<div>Recheck-request: iol-compile-amd64-testing,
iol-broadcom-Performance,
iol-unit-arm64-testing, github-robot<br>
</div>
<div><br>
</div>
<div>Is current accepted, and it would be great if
we could add Loongson support to the list too.
What we are supporting right now is doing
retesting on the original DPDK artifact created
for a patch when that patch was submitted. But
we are also thinking of adding in rebasing off
of tip of branch as a v2 feature. </div>
<div><br>
</div>
</div>
</blockquote>
</div>
</blockquote>
<p>I think the stateless retesting is more easily to
implement the retest function. <br>
</p>
<p>I wrote a script to report the CI failures from
Loongson lab three times a day by fetching the test
results from <a target="_blank"
href="https://mailgw.loongson.cn/linkserver?dest=http%3A%2F%2Fpatches.dpdk.org&tid=_____8CxbeurH+BlLcESAA--.47490S3&rcpt=zhoumin@loongson.cn&ifnotice=1&rindex=0"
moz-do-not-send="true">patches.dpdk.org</a>. This
script can help me find the CI failures in time. So,
sometimes I manually triggered the DPDK CI test in
Loongson lab as a retest for some patches or series when
I found there is a test failure caused by Loongson lab
self. In this case, the retest follows the routines of
normal test. So, it will always do rebasing before
applying the patches or series when do this kind of
retest. <br>
</p>
<p>I think it is simpler for Loongson lab to implement the
retest function. I think it is also feasible to do the
retesting on the original DPDK artifact created for a
patch when that patch was submitted. But, I need some
times to reconstruct the existed routines.</p>
</div>
</blockquote>
<div><br>
</div>
<div>Thanks. I figured retest off of latest commit/tip of
branch might be easier. Going from the original DPDK
artifact is easy for UNH since we hold onto the original
DPDK artifacts for a long time, but I realize other labs may
not do this. So, if you can only support retest off of tip
of branch right now, that is okay, we just need to ensure we
are only triggering that retest when users actually request
that. I.e. right now if someone submits a recheck request
according to the format above, the expectation is that that
retest is from the patch applied onto the branch commit
which existed at the time when that patch was submitted, not
latest. So, Loongson should not do anything in that case if
the lab cannot support it. On the other hand, as you can see
in the conversation linked below, we are looking to add
support for retests off of tip of branch (when users request
it), and it sounds like you can support that. So maybe we
can do that support first for Loongson. I just want to
verify that when a user requests a retest with some args
included, we are definitely retesting according to those
args in their retest request. </div>
<div><br>
</div>
</div>
</div>
</blockquote>
<p>The Loongson lab doesn't hold onto the original DPDK artifacts.
But, we can store the latest commit ID of the guessed branch into
file when CI system firstly tests the submitted patch or series
and then generate the DPDK artifact based on that commit ID if we
need retest the patch or series from the time when that patch was
submitted. So, I estimate that Loongson lab can support this kind
of retest. I figured that requesting a retest with some args can
also be supported if we can parse these args correctly in
get_reruns.py.</p>
<blockquote type="cite"
cite="mid:CAJvnSUAJR5yOV3DKzfSNcjB9QUG4Q3-HWm2Td8QO4X2Zrm3sKw@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>If you can comment on this thread about whether it makes
sense for the Loongson lab, that helps us make sure we're
not going in a direction which will cause problems for other
labs. Thanks!</div>
<div><br>
</div>
<div><a
href="https://inbox.dpdk.org/ci/CAJvnSUAsxwCZTd_vZgfpGFmiLqsG6icQ1a=Q62F+S7qtkBtRRQ@mail.gmail.com/T/#t"
moz-do-not-send="true">https://inbox.dpdk.org/ci/CAJvnSUAsxwCZTd_vZgfpGFmiLqsG6icQ1a=Q62F+S7qtkBtRRQ@mail.gmail.com/T/#t</a>
<br>
</div>
</div>
</div>
</blockquote>
Sure, my pleasure.<br>
<blockquote type="cite"
cite="mid:CAJvnSUAJR5yOV3DKzfSNcjB9QUG4Q3-HWm2Td8QO4X2Zrm3sKw@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<p> <br>
</p>
<p>How do you think of it?</p>
<p>Best Regards,</p>
<p>Min Zhou<br>
</p>
<blockquote type="cite">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px
0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>Does this sound possible for the Loonson lab?
I know you are leveraging the dpdk-ci repo for
standing up your CI testing, but I don't know
specifically whether that lends itself well
towards doing retests later, or if that would be
a big technical challenge. Let me know! </div>
<div><br>
</div>
<div>If it is possible for the Loongson lab, maybe
we can discuss in the March 7 CI Testing
meeting?</div>
</div>
</blockquote>
</div>
<br clear="all">
</blockquote>
</div>
</blockquote>
</div>
<div><br>
</div>
</div>
</blockquote>
</body>
</html>