<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>