Hi Milosz,

Thank you !! By adding lava_test_results_dir context in the yaml job I am able to run the test-suite with lava-test-runner.

lava_test_runner.PNG


thanks 

Regards
Nagendra S

On Fri, Oct 21, 2022 at 1:57 PM Milosz Wasilewski <milosz.wasilewski@foundries.io> wrote:
Nagendra,

This is a bit of missing documentation. You can change this in job
context. Context is set on the top level of yaml job definition.
Example below:

context:
    lava_test_results_dir: "/var/volataile/lava-%s"

You'll need to experiment with this a bit to make sure that the paths
are correct. Hope it helps.

Best Regards,
Milosz

On Fri, Oct 21, 2022 at 9:20 AM Nagendra Singamsetti
<nag.singam91@gmail.com> wrote:
>
> Hi Milosz,
>
> Hope you are doing well !!. After a couple of changes applied to ethernet /sd-boot driver operations of my kernel, now  I am able to run the lava-test-shell method and am able to run the test-suite.
>
> But as I said in the earlier mail chain, mine roots is read only @ / directory and /var/volatile having read/write .  But as per lava-test-shell all the commands pointed to /(lava-test-job-id). Can you please suggest to me the changes to run from /var/volatile instead / directory.  when i check the framework code path is getting from the following
>
> self.scripts_to_copy = sorted(
>             glob.glob(os.path.join(self.lava_test_dir, "lava-*"))
>         )
>
>         lava_test_results_dir = self.get_constant("lava_test_results_dir", "posix")
>
> How to redirect to /var/volatile !!.
>
> Thanks
>
> Regards
> Nagendra S
>
>
> On Wed, Sep 28, 2022 at 1:50 PM Milosz Wasilewski <milosz.wasilewski@foundries.io> wrote:
>>
>> Nagendra,
>>
>> I don't think NFS deployment in LAVA works as you expect. It's meant
>> for boards that use the whole rootfs mounted from NFS, not just part
>> of it. As far as I'm aware it's mostly used for deploying from TFTP
>> (kernel, ramdisk, dtb) where rootfs is required:
>> https://master.lavasoftware.org/static/docs/v2/actions-deploy.html#index-23.
>>
>> Best Regards,
>> Milosz
>>
>> On Wed, Sep 28, 2022 at 7:56 AM Nagendra Singamsetti
>> <nag.singam91@gmail.com> wrote:
>> >
>> > Hi Milosz,
>> >
>> > Fortunately, I am able to run NFS client services on DUT and was able to access mount directories(created one directory under /home/)  of the worker(configured as NFS server) manually. This process I have tried without LAVA.
>> >
>> > In the earlier mail chain, you have shared the  transfer_overlay method as below which can be supported for  udhcpc.  Can you please point me to the job definition for nfs mount option. That would be a great help !!
>> > - boot:
>> >     ...
>> >     transfer_overlay:
>> >       download_command: udhcpc;cd /home ; wget
>> >       unpack_command: tar -C  -xzf
>> >
>> > Note: As my rootfs file system is read only access and limited RAM space(2.5 MB) available I can't use udhcpc/tar but I am assuming the NFS mount option will work here.
>> >
>> > thanks
>> >
>> > Regards,
>> > Nagendra S
>> >
>> > On Tue, Sep 27, 2022 at 3:20 PM Milosz Wasilewski <milosz.wasilewski@foundries.io> wrote:
>> >>
>> >> Nagendra,
>> >>
>> >> It really sounds like a missing feature, doesn't it? It should be
>> >> possible to manually add overlay to your build (or at least have means
>> >> for doing it). @Remi, @Antonio, @Stevan - how much effort would it
>> >> take to add such feature? The use case is:
>> >> - download your images using 'downloads'
>> >> - prepare overlay
>> >> - expose overlay path so user can add overlay to the image(s) in
>> >> dockerize postprocess.
>> >> I would gladly use it as downloading and decompressing overlay takes
>> >> ages on some of my boards.
>> >>
>> >> Best Regards,
>> >> Milosz
>> >>
>> >> On Tue, Sep 27, 2022 at 10:41 AM Nagendra Singamsetti
>> >> <nag.singam91@gmail.com> wrote:
>> >> >
>> >> > Hi Milosz,
>> >> >
>> >> > I have tried Interactive test method for small test suite (5-10 testcases). And true, Interactive test can't generate overlay. But my actual suite contains more than 200 testcases. And for each testcase execution have to invoke the command in job description as a name:   command: in interactive test module looks tricky for me to maintain . that's why i am looking for alternate solution!!.
>> >> >
>> >> > Thanks Milosz for your time and support :)
>> >> >
>> >> > Regards,
>> >> > Nagendra S
>> >> >
>> >> > On Tue, Sep 27, 2022 at 1:28 PM Milosz Wasilewski <milosz.wasilewski@foundries.io> wrote:
>> >> >>
>> >> >> On Mon, Sep 26, 2022 at 7:25 PM Nagendra Singamsetti
>> >> >> <nag.singam91@gmail.com> wrote:
>> >> >> >
>> >> >> > Thanks Milosz !! for the quick response.
>> >> >> >
>> >> >> > As you mention in the earlier comment  -->  The only other option I found is applying overlay using "download"
>> >> >> > action. This only works for: "cpio (newc format) and ext4 images
>> >> >> >
>> >> >> > You mean, if I build a root file system with ext4 format(like boot from SD-Ext4 ) will it help out?  If So, Can you please point me to the sample job description for my reference.
>> >> >>
>> >> >> I haven't used it for a long time so I don't remember exactly how to
>> >> >> do that, sorry :(
>> >> >>
>> >> >> >
>> >> >> > And Is interactive method suites in this case. Becz DUT having limitation of using lava-test-shell/monitor methods to test my suite from LAVA.
>> >> >> > My End goal here is LAVA test method should pick up/phrase the pass/fail returns from the test return values.
>> >> >>
>> >> >> hmm, have you tried it? I don't think interactive test generates an
>> >> >> overlay as it's executed from the worker (over serial) rather than
>> >> >> from shell.
>> >> >>
>> >> >> Best Regards,
>> >> >> Milosz
>> >> >>
>> >> >> >
>> >> >> > Regards
>> >> >> > Nagendra S
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > On Mon, Sep 26, 2022 at 11:28 PM Milosz Wasilewski <milosz.wasilewski@foundries.io> wrote:
>> >> >> >>
>> >> >> >> On Mon, Sep 26, 2022 at 6:15 PM Milosz Wasilewski
>> >> >> >> <milosz.wasilewski@foundries.io> wrote:
>> >> >> >> >
>> >> >> >> > On Mon, Sep 26, 2022 at 5:33 PM Nagendra Singamsetti
>> >> >> >> > <nag.singam91@gmail.com> wrote:
>> >> >> >> > >
>> >> >> >> > > Hi Milosz,
>> >> >> >> > > I wasn't able to download an overlay over HTTP(wget or curl) due to my board(DUT) can't support the network drivers(not developed as of now).
>> >> >> >> > >
>> >> >> >> > > I am curious to now, How to modify my rootfs in a LAVA job to include overlay. Can you please share with me the sample job/supported device-type jinja2. (or)  Is any recipe available in yocto to make this possible as i am using yocto as a build tool to generate images and OS --> Linux 5.4.25-yocto-standard
>> >> >> >> > >
>> >> >> >> >
>> >> >> >> > Overlay is applied in deployment. Here is a (almost) full list:
>> >> >> >> > https://master.lavasoftware.org/static/docs/v2/actions-deploy.html
>> >> >> >> >
>> >> >> >> > Not all deployment methods support rootfs modifications. I think (I
>> >> >> >> > didn't try so I'm not 100% sure) you could download your images using
>> >> >> >> > 'downloads' deployment. Add overlay using docker postprocessing. After
>> >> >> >> > this flash the images to your device as usual. How exactly would this
>> >> >> >> > be done, I don't know. Example deployment with postprocessing would
>> >> >> >> > look like this:
>> >> >> >> >
>> >> >> >> > - deploy:
>> >> >> >> >     to: downloads  # this is correct. There are 2 similar deployments:
>> >> >> >> > download; downloads
>> >> >> >> >     images:
>> >> >> >> >       image:
>> >> >> >> >         url: your_image.wic.gz
>> >> >> >> >         compression: gz
>> >> >> >> >     postprocess:
>> >> >> >> >        docker:
>> >> >> >> >           image: docker_image_name # this can come from hub.docker.io
>> >> >> >> > or some other registry
>> >> >> >> >           steps:
>> >> >> >> >             - shell script step1
>> >> >> >> >             - shell script step2
>> >> >> >> >            ...
>> >> >> >> > - deploy:
>> >> >> >> >     to: flasher  # or some other method. I'm using flasher with my devices
>> >> >> >> >     images:
>> >> >> >> >         image:
>> >> >> >> >             url: downloads://your_image.wic
>> >> >> >> >
>> >> >> >> > As I wrote, I didn't try this so this is just speculation. How to
>> >> >> >> > access overlay (if it's possible?) in the postprocess remains an open
>> >> >> >> > question. I'll ask Antonio, maybe he has an example.
>> >> >> >>
>> >> >> >> I took a quick look at the code and I don't think this is possible.
>> >> >> >> There are 2 issues here:
>> >> >> >> 1. postprocess steps happens before overlay is prepared
>> >> >> >> 2. you could apply overlay in flasher script but there is no way to
>> >> >> >> get the path from LAVA
>> >> >> >> This would be possible but requires changes in LAVA. At least this is
>> >> >> >> how I understand the code. LAVA would need to extract "file" from
>> >> >> >> "compress-overlay" namespace and expose it to a custom script (via env
>> >> >> >> variable for example).
>> >> >> >>
>> >> >> >> The only other option I found is applying overlay using "download"
>> >> >> >> action. This only works for: "cpio (newc format) and ext4 images".
>> >> >> >>
>> >> >> >> Best Regards,
>> >> >> >> Milosz
>> >> >> >>
>> >> >> >> >
>> >> >> >> > Best Regards,
>> >> >> >> > Milosz
>> >> >> >> >
>> >> >> >> > >
>> >> >> >> > > Thanks,
>> >> >> >> > >
>> >> >> >> > > Regards
>> >> >> >> > > Nagendra S
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> > >
>> >> >> >> > > On Mon, Sep 26, 2022 at 8:22 PM Milosz Wasilewski <milosz.wasilewski@foundries.io> wrote:
>> >> >> >> > >>
>> >> >> >> > >> On Mon, Sep 26, 2022 at 3:20 PM Nagendra Singamsetti
>> >> >> >> > >> <nag.singam91@gmail.com> wrote:
>> >> >> >> > >> >
>> >> >> >> > >> > Hi Team,
>> >> >> >> > >> >
>> >> >> >> > >> > I had a Query which is particularly to use lava-test-shell or other binaries like lava-test-runner.
>> >> >> >> > >> >
>> >> >> >> > >> > My board is booted with Linux and It has a POSIX environment but it doesn't support either ssh/nfs due to the low memory footprint available and the ethernet driver not fully functional.
>> >> >> >> > >> >
>> >> >> >> > >> > To test/run my test-suite drivers How can I use lava-test-runner/ lava-test-shell ? Is it possible to test our suite using lava-test-shell/runner where DUT doesn't have the ethernet/nfs support.
>> >> >> >> > >> > I am getting lava-test-shell timeout on the DUT console whereas Lava-worker had all the binaries available by lava-overlay method.
>> >> >> >> > >>
>> >> >> >> > >> Are you able to download overlay over HTTP (with wget or curl)? This
>> >> >> >> > >> is done in boot section:
>> >> >> >> > >>
>> >> >> >> > >> - boot:
>> >> >> >> > >>     ...
>> >> >> >> > >>     transfer_overlay:
>> >> >> >> > >>       download_command: cd /home ; wget
>> >> >> >> > >>       unpack_command: tar -C  -xzf
>> >> >> >> > >>
>> >> >> >> > >> Without transfer_overlay you would need to modify your rootfs in a
>> >> >> >> > >> LAVA job to include overlay. Depending on your OS it might be easy,
>> >> >> >> > >> hard or impossible (if the image is signed for example).
>> >> >> >> > >>
>> >> >> >> > >> Best Regards,
>> >> >> >> > >> Milosz
>> >> >> >> > >>
>> >> >> >> > >> >
>> >> >> >> > >> > Please find the attached test job definition/lava-job log files for your reference. Kindly let me know the solution.
>> >> >> >> > >> >
>> >> >> >> > >> >
>> >> >> >> > >> >
>> >> >> >> > >> >
>> >> >> >> > >> > _______________________________________________
>> >> >> >> > >> > Lava-users mailing list -- lava-users@lists.lavasoftware.org
>> >> >> >> > >> > To unsubscribe send an email to lava-users-leave@lists.lavasoftware.org
>> >> >> >> > >> > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s