Hi,
For example, if I create a test that is supposed to run on the beaglebone black and another evm, is there a way to specify that I want to run a specified test only on the beaglebone and not on the other evm? I'm guessing that's why it's required to add device-type to a job definition, correct?
So if I want to test multiple devices with the same test definition I have to run a different job for each one of the devices?
Also, does lava allow to run commands on the host (PC) along with the target (beaglebone)?
I will appreciate a response.
Thanks,
Josue
On Thu, 21 Jul 2016 15:45:11 +0000 "Albarran, Josue" j-albarran@ti.com wrote:
Hi,
For example, if I create a test that is supposed to run on the beaglebone black and another evm, is there a way to specify that I want to run a specified test only on the beaglebone and not on the other evm? I'm guessing that's why it's required to add device-type to a job definition, correct?
evm?
device_type is required so that the job can be scheduled. Most instances have dozens of device-types.
If you have multiple devices of the same type, then you can use device tags to distinguish between one device and the other. In most cases, extra devices of the same type simply make it easier and quicker to run multiple similar jobs. Device tags are used to indicate that a particular device has extra hardware fitted or has particular capabilities that other devices of the same type do not have.
So if I want to test multiple devices with the same test definition I have to run a different job for each one of the devices?
Depends on what you are trying to do - I'm not at all clear what you are trying to achieve.
LAVA can run test jobs as a group across multiple devices - that is the Multinode support. Jobs in the group can run the same test definition or a range of test definitions according to how the group is structured.
LAVA can also run multiple test definitions in sequence as part of one test job.
If you want multiple devices to run the same test definition *independently*, then just submit one job for each. If you want to be able to synchronise across those jobs and exchange data, then you need to be using Multinode.
Also, does lava allow to run commands on the host (PC) along with the target (beaglebone)?
Test jobs must not execute arbitrary code directly on the dispatcher.
Test jobs can run a VM on the dispatcher (this is typically a qemu device-type). That level of isolation then allows the test writer to specify the image to run and what commands need to be run inside it. However, such commands do not have access outside that VM. Think carefully about what you are trying to do - allowing arbitrary code to be executed on the dispatcher is a security hole.
V2 test jobs can also make multiple connections to a device, again, using Multinode support. This allows a test job to have multiple logins on a single device, allowing multiple simultaneous operations.
To run a test job in a VM and a test job on the beaglebone, you will need the multinode support. Synchronisation using Multinode will be needed as one device will start much more quickly than the other.
Please spend more time becoming familiar with LAVA and the existing documentation. Multinode is complex and can be difficult to get right. We're also working on the V2 Multinode documentation at the moment too, there is a lot more yet to do.
linaro-validation@lists.linaro.org