Re: GSoC 2026 Proposal - Hardware in the loop CI

Joseph George <[email protected]> Tue, 31 Mar 2026 18:52:44 +0530
Newsgroups gmane.comp.gnu.radio.general
Message-ID <CAGv1_4XCA4G=OQQOZownmTEFXc-iZ4-Owi1NTt2E6S2TP9s+=A@mail.gmail.com>
--000000000000858f91064e51dd35
Content-Type: multipart/alternative; boundary="000000000000858f91064e51dd34"

--000000000000858f91064e51dd34
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi everyone,

*(Apologies to Cyrille for the double email in your inbox=E2=80=94I acciden=
tally
hit 'Reply' instead of 'Reply All' on my first attempt! Posting my response
here for the community.)*

Thank you  *Cyrille * for taking the time to read the proposal and for the
specific, actionable feedback  it made the revision much cleaner.
I have updated the proposal to address both points directly:

*On the integration test complexity:* The test scenarios are now structured
as a three-tier progressive complexity ladder. Tier 1 (UHD streaming
stability no RF link, no synchronisation blocks) enters CI first and
independently. Tier 2 (BER loopback, FM) follows once Tier 1 is stable.
Tier 3 (OFDM, multi-node, advanced sync) is explicitly scoped as stretch
goals that do not block the project's core CI deliverable. The timeline
milestones reflect this  CI integration is never waiting on the most
complex tests.

*On labgrid vs. Minus:* I have added a dedicated section that answers
precisely where labgrid adds capability Minus does not natively provide for
automated CI: (1) a blocking reservation queue so concurrent PR jobs don't
collide, (2) crash-safe orphan detection via heartbeat so a killed runner
doesn't hold a node locked indefinitely, and (3) hardware-agnostic YAML
environment files so test scripts aren't coupled to CorteXlab node
identifiers. The proposed architecture layers labgrid on top of Minus
.Minus continues to handle CorteXlab's native scheduling, while labgrid
handles the CI-side locking and queuing. I've also noted that I'll assess
the exact Minus integration points during Community Bonding and will fall
back to a thin custom shim if the labgrid exporter integration proves more
complex than expected.

I'm attaching the revised proposal: Hardware in the Loop CI
<https://drive.google.com/file/d/1-MeOUqJjFajEY3WxGaCTRGH5u5tcyMLY/view?usp=
=3Dsharing>

Please let me know if there is anything else you'd like clarified before
the deadline.

Best regards,
Joseph P George

On Mon, 30 Mar 2026 at 14:46, Cyrille Morin <[email protected]> wrote:

> Hello Joseph,
>
> I read trough your document.
> Overall, it looks good, it appears to have everything required of the
> proposal document.
>
> A couple of thoughts:
>
> The proposed integrated tests look good and feel like what we would like
> to head towards, but being integration tests, they involve a lot of movin=
g
> parts, so they might require a lot of tweaking and debugging time to work
> reliably, which might push back the integration into the CI pipeline.
>
> I've never used Labgrid so I don't know much about what it can or cannot
> help with. But it does sound in your proposal to perform many task alread=
y
> done by the platform's systems (booking, health check, ...) You might wan=
t
> to detail where specifically Labgrid would offer new and required
> capabilities
>
> Best
> *Cyrille MORIN*
> *Ing=C3=A9nieur SED*
> *=C3=89quipe MARACAS*
>
> [image: Logo Inria]
> Centre Inria de Lyon
>
> Laboratoire CITI
> Campus La Doua - Villeurbanne
> 6 avenue des Arts
> F-69621 Villeurbanne
>
> https://team.inria.fr/maracas/
> Le 28/03/2026 =C3=A0 14:49, Joseph George a =C3=A9crit :
>
> Hi Cyrille,
>
> I have completed the first draft of my GSoC 2026 proposal for the
> "Hardware in the Loop CI" project.
>
> Draft : Hardware in the Loop CI
> <https://drive.google.com/file/d/1ATLOxq_bvPpG7fizTQtZK-8w_BwadVeF/view?u=
sp=3Ddrive_link>
>
> A huge thank you to Larry and Philip for the insights. I have explicitly
> integrated the LBNL Node Health Check paradigm to isolate hardware failur=
es
> from software regressions, and I've adopted Labgrid as the core hardware
> orchestration layer to manage the CorteXlab USRPs.
>
> I would greatly appreciate any feedback from the community,
>
> Thanks for your time and guidance!
>
> Best, Joseph George
>
> On Thu, 26 Mar 2026 at 22:23, Cyrille Morin <[email protected]>
> wrote:
>
>> Hi Joseph,
>>
>> Welcome!
>>
>> Feel free to share your draft here on the mailing list, for feedback by
>> members of the community, that's the right place
>>
>> I don't have a specific format for the tests scenarios, choose what you
>> think is best/more readable/most relevant.
>> But do look at the GSoC Student info on the wiki if you haven't already:
>>  https://wiki.gnuradio.org/index.php?title=3DGSoCStudentInfo
>> <https://wiki.gnuradio.org/index.php?title=3DGSoCStudentInfo>
>> *Cyrille MORIN*
>> Le 26/03/2026 =C3=A0 15:56, Joseph George a =C3=A9crit :
>>
>> Hi Cyrille,
>> I=E2=80=99m Joseph, an ECE student and the Chair of the IEEE Signal Proc=
essing
>> Society at my college. I=E2=80=99m putting together a GSoC proposal for =
the
>> "Hardware in the loop CI" project and wanted to quickly say hello.
>>
>> I have a strong background in bridging DSP theory with physical hardware=
.
>> I recently placed 7th globally in the ICASSP 2026 ALS challenge by build=
ing
>> domain-driven acoustic biomarker pipelines, and I regularly build hardwa=
re
>> projects (like ESP32 navigation systems using Kalman filtering for senso=
r
>> fusion). I'd love to help bring GNU Radio's CI tests out of software onl=
y
>> simulation and onto the physical CorteXlab hardware.
>>
>> I am drafting my 12-week timeline right now. Is there a specific format
>> you prefer for the test scenarios, or a good place to drop a link to my
>> draft for a quick sanity check before Tuesday's deadline?
>>
>>

--000000000000858f91064e51dd34
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><p>Hi everyone,</p><p><i>(Apologies to Cy=
rille for the double email in your inbox=E2=80=94I accidentally hit &#39;Re=
ply&#39; instead of &#39;Reply All&#39; on my first attempt! Posting my res=
ponse here for the community.)</i></p><p>Thank you=C2=A0

<i>Cyrille=C2=A0</i>=C2=A0for taking the time to read the proposal and for =
the specific, actionable feedback=C2=A0 it made the revision much cleaner.<=
br>I have updated the proposal to address both points directly:</p><p><stro=
ng>On the integration test complexity:</strong>=C2=A0The test scenarios are=
 now structured as a three-tier progressive complexity ladder. Tier 1 (UHD =
streaming stability no RF link, no synchronisation blocks) enters CI first =
and independently. Tier 2 (BER loopback, FM) follows once Tier 1 is stable.=
 Tier 3 (OFDM, multi-node, advanced sync) is explicitly scoped as stretch g=
oals that do not block the project&#39;s core CI deliverable. The timeline =
milestones reflect this=C2=A0 CI integration is never waiting on the most c=
omplex tests.</p><p><strong>On labgrid vs. Minus:</strong>=C2=A0I have adde=
d a dedicated section that answers precisely where labgrid adds capability =
Minus does not natively provide for automated CI: (1) a blocking reservatio=
n queue so concurrent PR jobs don&#39;t collide, (2) crash-safe orphan dete=
ction via heartbeat so a killed runner doesn&#39;t hold a node locked indef=
initely, and (3) hardware-agnostic YAML environment files so test scripts a=
ren&#39;t coupled to CorteXlab node identifiers. The proposed architecture =
layers labgrid on top of Minus .Minus continues to handle CorteXlab&#39;s n=
ative scheduling, while labgrid handles the CI-side locking and queuing. I&=
#39;ve also noted that I&#39;ll assess the exact Minus integration points d=
uring Community Bonding and will fall back to a thin custom shim if the lab=
grid exporter integration proves more complex than expected.</p><p>I&#39;m =
attaching the revised proposal:=C2=A0<a href=3D"https://drive.google.com/fi=
le/d/1-MeOUqJjFajEY3WxGaCTRGH5u5tcyMLY/view?usp=3Dsharing" target=3D"_blank=
">Hardware in the Loop CI</a></p><p>Please let me know if there is anything=
 else you&#39;d like clarified before the deadline.</p><p>Best regards,<br>=
Joseph P George</p></div></div><br><div class=3D"gmail_quote gmail_quote_co=
ntainer"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, 30 Mar 2026 at 14:46=
, Cyrille Morin &lt;<a href=3D"mailto:[email protected]">cyrille.morin=
@inria.fr</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex"><u></u>

 =20
   =20
 =20
  <div>
    <p>Hello Joseph,</p>
    <p>I read trough your document.<br>
      Overall, it looks good, it appears to have everything required of
      the proposal document.</p>
    <p>A couple of thoughts:=C2=A0</p>
    <p>The proposed integrated tests look good and feel like what we
      would like to head towards, but being integration tests, they
      involve a lot of moving parts, so they might require a lot of
      tweaking and debugging time to work reliably, which might push
      back the integration into the CI pipeline.</p>
    <p>I&#39;ve never used Labgrid so I don&#39;t know much about what it c=
an or
      cannot help with. But it does sound in your proposal to perform
      many task already done by the platform&#39;s systems (booking, health
      check, ...) You might want to detail where specifically Labgrid
      would offer new and required capabilities</p>
    <p>Best</p>
    <div>
     =20
     =20
      <strong>Cyrille MORIN</strong><br>
      <div> <em>Ing=C3=A9nieur SED</em><br>
        <em>=C3=89quipe MARACAS</em></div>
      <div><br>
        <img src=3D"cid:ii_19d440ed269f8cdc8ae1" alt=3D"Logo Inria" width=
=3D"200" height=3D"59"><br>
        <span style=3D"color:rgb(255,0,0)">Centre Inria de Lyon</span></div=
>
      <div><br>
        Laboratoire CITI<br>
        Campus La Doua - Villeurbanne<br>
        6 avenue des Arts<br>
        F-69621 Villeurbanne</div>
      <div><br>
      </div>
      <div> <a href=3D"https://team.inria.fr/maracas/" target=3D"_blank">ht=
tps://team.inria.fr/maracas/</a><br>
      </div>
    </div>
    <div>Le 28/03/2026 =C3=A0 14:49, Joseph George a
      =C3=A9crit=C2=A0:<br>
    </div>
    <blockquote type=3D"cite">
     =20
      <div dir=3D"ltr">
        <p>Hi Cyrille,</p>
        <p>I have completed the first draft of my GSoC 2026 proposal for
          the &quot;Hardware in the Loop CI&quot; project.</p>
        <p>Draft :=C2=A0<a href=3D"https://drive.google.com/file/d/1ATLOxq_=
bvPpG7fizTQtZK-8w_BwadVeF/view?usp=3Ddrive_link" target=3D"_blank">Hardware=
 in the Loop CI</a></p>
        <p>A huge thank you to Larry and Philip for the insights. I have
          explicitly integrated the LBNL Node Health Check paradigm to
          isolate hardware failures from software regressions, and I&#39;ve
          adopted Labgrid as the core hardware orchestration layer to
          manage the CorteXlab USRPs.</p>
        <table cellpadding=3D"0" role=3D"presentation" style=3D"border-coll=
apse:collapse;margin-top:0px;width:auto;font-family:&quot;Google Sans&quot;=
,Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:14px;display:block=
;color:rgb(119,119,119)">
        </table>
        <p>I would greatly appreciate any feedback from the community,</p>
        <p>Thanks for your time and guidance!</p>
        <p>Best,
          Joseph George</p>
      </div>
      <br>
      <div class=3D"gmail_quote">
        <div dir=3D"ltr" class=3D"gmail_attr">On Thu, 26 Mar 2026 at 22:23,
          Cyrille Morin &lt;<a href=3D"mailto:[email protected]" targe=
t=3D"_blank">[email protected]</a>&gt;
          wrote:<br>
        </div>
        <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex=
;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div>
            <p>Hi Joseph,</p>
            <p>Welcome!</p>
            <p>Feel free to share your draft here on the mailing list,
              for feedback by members of the community, that&#39;s the righ=
t
              place</p>
            <p>I don&#39;t have a specific format for the tests scenarios,
              choose what you think is best/more readable/most relevant.<br=
>
              But do look at the GSoC Student info on the wiki if you
              haven&#39;t already:<a href=3D"https://wiki.gnuradio.org/inde=
x.php?title=3DGSoCStudentInfo" target=3D"_blank">=C2=A0https://wiki.gnuradi=
o.org/index.php?title=3DGSoCStudentInfo</a></p>
            <div> <strong>Cyrille MORIN</strong></div>
            <div>Le 26/03/2026 =C3=A0 15:56, Joseph George a =C3=A9crit=C2=
=A0:<br>
            </div>
            <blockquote type=3D"cite">
              <div dir=3D"ltr">Hi Cyrille,=C2=A0
                <div>I=E2=80=99m Joseph, an ECE student and the Chair of th=
e
                  IEEE Signal Processing Society at my college. I=E2=80=99m
                  putting together a GSoC proposal for the &quot;Hardware i=
n
                  the loop CI&quot; project and wanted to quickly say hello=
.=C2=A0</div>
                <div><br>
                </div>
                <div>I have a strong background in bridging DSP theory
                  with physical hardware. I recently placed 7th globally
                  in the ICASSP 2026 ALS challenge by building
                  domain-driven acoustic biomarker pipelines, and I
                  regularly build hardware projects (like ESP32
                  navigation systems using Kalman filtering for sensor
                  fusion). I&#39;d love to help bring GNU Radio&#39;s CI te=
sts
                  out of software only simulation and onto the physical
                  CorteXlab hardware.=C2=A0</div>
                <div><br>
                </div>
                <div>I am drafting my 12-week timeline right now. Is
                  there a specific format you prefer for the test
                  scenarios, or a good place to drop a link to my draft
                  for a quick sanity check before Tuesday&#39;s deadline?</=
div>
              </div>
            </blockquote>
          </div>
        </blockquote>
      </div>
    </blockquote>
  </div>
</blockquote></div>

--000000000000858f91064e51dd34--

--000000000000858f91064e51dd35
Content-Type: image/png; name="Inria_signature_mail_200px.png"
Content-Disposition: inline; filename="Inria_signature_mail_200px.png"
Content-Transfer-Encoding: base64
Content-ID: <ii_19d440ed269f8cdc8ae1>
X-Attachment-Id: ii_19d440ed269f8cdc8ae1

iVBORw0KGgoAAAANSUhEUgAAAMgAAAA7CAYAAAA+XsUpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp
bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6
eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2
MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw
dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
IiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RS
ZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpD
cmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOklu
c3RhbmNlSUQ9InhtcC5paWQ6NDVFRUQzNzlDQjA3MTFFOThEQTNDMkE4RjU0NUEzRTgiIHhtcE1N
OkRvY3VtZW50SUQ9InhtcC5kaWQ6NDVFRUQzN0FDQjA3MTFFOThEQTNDMkE4RjU0NUEzRTgiPiA8
eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NUVFRDM3N0NCMDcx
MUU5OERBM0MyQThGNTQ1QTNFOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NUVFRDM3OENC
MDcxMUU5OERBM0MyQThGNTQ1QTNFOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8
L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjlpLn4AAAh5SURBVHja7F3dceM2EIZu9B5N
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
RK5CYII=
--000000000000858f91064e51dd35--