Hi Senthil,
thanks for your reply.
I want to set up a multinode job containing an LXC device. Unfortunately I always get the following error:
Missing protocol 'lava-lxc' in ['lava-multinode']
This is because each role should have a lava-lxc protocol defined.
Even real hardware devices?
Going through your job, I could see you are requesting a single device (role) in your multinode job, which is not the use-case which multinode caters. There should be more than one device (roles) requested as part of the job. For a single device, single node jobs are the way to go.
I know, this was deliberate in order to strip the error down to a minimal example. I started out with one LXC device and one real hardware device (which is actually the setup I want to use), which led to the above error. Then I removed parts of the job for simplification until (I hoped) the error would disappear. But it did not, even with a single LXC device. I assume a multimode job should work even if it only contains one single device, shouldn't it?
See https://staging.validation.linaro.org/scheduler/job/213532 - which is a sample multinode job run with two lxc devices requested as part of the job. You can see how each role has a lava-lxc protocol defined for it.
The job definition is available here - https://git.linaro.org/lava-team/refactoring.git/plain/lxc-multinode.yaml
Thanks, that pointed me the way. I had to add an additional "remote" key under "protocols/lava-lxc", so the job looks like this:
job_name: lxc-pipeline timeouts: job: minutes: 15 action: minutes: 5 priority: medium visibility: public
protocols: lava-multinode: roles: remote: device_type: lxc count: 1 timeout: minutes: 6 lava-lxc: remote: name: pipeline-lxc-test template: debian distribution: debian release: stretch mirror: http://ftp.us.debian.org/debian/ security_mirror: http://mirror.csclub.uwaterloo.ca/debian-security/
actions: - deploy: timeout: minutes: 5 to: lxc os: debian role: - remote
- boot: prompts: - 'root@(.*):/#' timeout: minutes: 5 method: lxc role: - remote
- test: timeout: minutes: 5 definitions: - repository: git://git.linaro.org/qa/test-definitions.git from: git path: common/dmidecode.yaml name: dmidecode role: - remote
This job runs without errors, even though it has only one single device in a multinode context. From here I can build my actual multinode job by adding my real device to it.
HTH. Thank You.
Senthil Kumaran S http://www.stylesen.org/ http://www.sasenthilkumaran.com/
Mit freundlichen Grüßen / Best regards Tim Jaacks DEVELOPMENT ENGINEER Garz & Fricke GmbH Tempowerkring 2 21079 Hamburg Direct: +49 40 791 899 - 55 Fax: +49 40 791899 - 39 tim.jaacks@garz-fricke.com www.garz-fricke.com SOLUTIONS THAT COMPLETE!
Sitz der Gesellschaft: D-21079 Hamburg Registergericht: Amtsgericht Hamburg, HRB 60514 Geschäftsführer: Matthias Fricke, Manfred Garz
Hi Tim,
On Tuesday 13 March 2018 01:58 PM, Tim Jaacks wrote:
This is because each role should have a lava-lxc protocol defined.
Even real hardware devices?
Applies only for lxc devices.
I know, this was deliberate in order to strip the error down to a minimal example. I started out with one LXC device and one real hardware device (which is actually the setup I want to use), which led to the above error. Then I removed parts of the job for simplification until (I hoped) the error would disappear. But it did not, even with a single LXC device. I assume a multimode job should work even if it only contains one single device, shouldn't it?
The purpose of multinode is not for single device.
Thanks, that pointed me the way. I had to add an additional "remote" key under "protocols/lava-lxc", so the job looks like this:
Yes that is what was missing in your job.
This job runs without errors, even though it has only one single device in a multinode context. From here I can build my actual multinode job by adding my real device to it.
It throws an error for me when trying to submit via the UI "Job submission error: u'device_type'".
Similarly, when trying with command line I get a similar error:
<snip> $ lava-tool submit-job https://senthil.kumaran@staging.validation.linaro.org/RPC2/ /tmp/multinode-lxc.yaml ERROR: <Fault -32603: "Internal Server Error (contact server administrator for details): u'device_type'"> </snip>
BTW, what is your lava-server and lava-dispatcher version?
Thank You.
lava-users@lists.lavasoftware.org