Hi,
-----Original Message----- From: Antonio Terceiro antonio.terceiro@linaro.org Sent: 15 July 2020 14:46 To: Stephen Lawrence stephen.lawrence@renesas.com Cc: lava-users@lists.lavasoftware.org; gandersson@genivi.org Subject: Re: [Lava-users] fastboot in docker support
[snip]
Harder to comment on configuration. Did you have a specific point of failure in mind?
There was a typo in my message: s/host OK/host OS/ i.e. lava-dispatcher-host needs to be installed and configured in the host *OS*. If you are using Debian then just having the package installed is enough as it does the setup for you
Otherwise you need to run `lava-dispatcher-host rules install` to have the udev rules installed.
OK the worker docker is running Debian (buster) so we are ok then.
[snip]
Therefore on a base level the dispatcher docker is allowing the host and device to find each other and the failure appears to relate to the different discovery and device passing code used by test/deploy to downloads. Could the new code bring requirements to the android-tool docker not needed before?
Yes, they work a bit differently.
For flashing lava itself just waits for the device to be available via udev, and since you have /run/udev mounted (and I assume also /dev) in the container it works because the device node is passed excplitily in the docker run call.
For the docker test action, first the docker container running your tests is spawned. we can't just pass the device node in the docker run call, because your tests can e.g. reboot the device, and we need it to become available again after rebooting, getting a new device number etc.
Therefor, for this case the device is shared dynamically with the container by lava-dispatcher-host, which is triggered from the udev daemon. Thus you need lava-dispatcher-host and its udev rules in the host operating system.
Ok, thanks for the summary. Once I have tested and provided feedback on your 'deploy to downloads' PR I'll have a look at trying to debug the new udev discovery failure.
Regards
Steve