Hello,
I encountered an issue while importing an ssh device using lava-tool.
First, my lava-server is running inside a docker container combined with volumes for the following directory trees :
[ … extracted from docker-compose file ] - /boot:/boot - /lib/modules:/lib/modules - /dev/bus/usb:/dev/bus/usb - /root/.ssh:/root/.ssh:ro - lava:/var/lib/lava:rw - lava-server:/var/lib/lava-server:rw - lava-server-etc:/etc/lava-server:rw - postgresql:/var/lib/postgresql:rw - logs:/var/log:rw - ssl:/etc/ssl:rw
lava, lava-server, lava-server-etc, postgresql, logs and ssl are named volume in docker, and, as you can see with read / write permissions.
I can make some config with django and all seems to work well when I access to a job ( I can see yaml def, logs …)
The problem is that when I want to import a dictionary for a device using lava-tool.
My dictionary is the following, and works well on a classical server without any dockerization.
{% extends 'ssh.jinja2' %} {% set ssh_id = '/root/.ssh/id_rsa' %} {% set ssh_host = '10.0.0.2' %}
The command I use with lava-tool is the following :
lava-tool device-dictionary --update /etc/lava-server/dispatcher-config/devices/pcmquad-ssh.jinja2 http://admin@172.18.0.2/RPC2 pcmquad-ssh
and I get the following output :
Updating device dictionary for pcmquad-ssh on http://admin@172.18.0.2/RPC2 <Fault 400: 'Unable to store the configuration for pcmquad-ssh on disk'>
I don't really understand why I can not import the dictionary and I would like to know where the dictionary is physically imported to check if there could be any issue in my docker volumes.
Thanks in advance for any reply.
Jonathan
Hello,
the device dictionaries are saved into /etc/lava-server/dispatcher-config/devices
Does this directory exists ? It should be owned by lavaserver user.
2017-12-14 16:47 GMT+01:00 Jonathan Guyot guyot.jonathan@gmail.com:
Hello,
I encountered an issue while importing an ssh device using lava-tool.
First, my lava-server is running inside a docker container combined with volumes for the following directory trees :
[ … extracted from docker-compose file ] - /boot:/boot - /lib/modules:/lib/modules - /dev/bus/usb:/dev/bus/usb - /root/.ssh:/root/.ssh:ro - lava:/var/lib/lava:rw - lava-server:/var/lib/lava-server:rw - lava-server-etc:/etc/lava-server:rw - postgresql:/var/lib/postgresql:rw - logs:/var/log:rw - ssl:/etc/ssl:rw
lava, lava-server, lava-server-etc, postgresql, logs and ssl are named volume in docker, and, as you can see with read / write permissions.
I can make some config with django and all seems to work well when I access to a job ( I can see yaml def, logs …)
The problem is that when I want to import a dictionary for a device using lava-tool.
My dictionary is the following, and works well on a classical server without any dockerization.
{% extends 'ssh.jinja2' %} {% set ssh_id = '/root/.ssh/id_rsa' %} {% set ssh_host = '10.0.0.2' %}
The command I use with lava-tool is the following :
lava-tool device-dictionary --update /etc/lava-server/dispatcher- config/devices/pcmquad-ssh.jinja2 http://admin@172.18.0.2/RPC2 pcmquad-ssh
and I get the following output :
Updating device dictionary for pcmquad-ssh on http://admin@172.18.0.2/RPC2 <Fault 400: 'Unable to store the configuration for pcmquad-ssh on disk'>
I don't really understand why I can not import the dictionary and I would like to know where the dictionary is physically imported to check if there could be any issue in my docker volumes.
Thanks in advance for any reply.
Jonathan
linaro-validation mailing list linaro-validation@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-validation
Great,
This directory was owned by root.
I changed the permissions and now it works !
Thanks a lot !
So when you specify any file as dictionary, lava writes the dictionary here. I thought it was the user to put the dictionary in this place by hand.
Jonathan
Le jeu. 14 déc. 2017 à 16:58, Remi Duraffort remi.duraffort@linaro.org a écrit :
Hello,
the device dictionaries are saved into /etc/lava-server/dispatcher-config/devices
Does this directory exists ? It should be owned by lavaserver user.
2017-12-14 16:47 GMT+01:00 Jonathan Guyot guyot.jonathan@gmail.com:
Hello,
I encountered an issue while importing an ssh device using lava-tool.
First, my lava-server is running inside a docker container combined with volumes for the following directory trees :
[ … extracted from docker-compose file ] - /boot:/boot - /lib/modules:/lib/modules - /dev/bus/usb:/dev/bus/usb - /root/.ssh:/root/.ssh:ro - lava:/var/lib/lava:rw - lava-server:/var/lib/lava-server:rw - lava-server-etc:/etc/lava-server:rw - postgresql:/var/lib/postgresql:rw - logs:/var/log:rw - ssl:/etc/ssl:rw
lava, lava-server, lava-server-etc, postgresql, logs and ssl are named volume in docker, and, as you can see with read / write permissions.
I can make some config with django and all seems to work well when I access to a job ( I can see yaml def, logs …)
The problem is that when I want to import a dictionary for a device using lava-tool.
My dictionary is the following, and works well on a classical server without any dockerization.
{% extends 'ssh.jinja2' %} {% set ssh_id = '/root/.ssh/id_rsa' %} {% set ssh_host = '10.0.0.2' %}
The command I use with lava-tool is the following :
lava-tool device-dictionary --update /etc/lava-server/dispatcher-config/devices/pcmquad-ssh.jinja2 http://admin@172.18.0.2/RPC2 pcmquad-ssh
and I get the following output :
Updating device dictionary for pcmquad-ssh on http://admin@172.18.0.2/RPC2 <Fault 400: 'Unable to store the configuration for pcmquad-ssh on disk'>
I don't really understand why I can not import the dictionary and I would like to know where the dictionary is physically imported to check if there could be any issue in my docker volumes.
Thanks in advance for any reply.
Jonathan
linaro-validation mailing list linaro-validation@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-validation
-- Rémi Duraffort LAVA Team
I changed the permissions and now it works !
Thanks a lot !
You are welcomed!
So when you specify any file as dictionary, lava writes the dictionary
here. I thought it was the user to put the dictionary in this place by hand.
The only difference between the XMLRPC call or copying the file in the directory is that XMLRPC code will check for the device existence prior to save the file.
linaro-validation@lists.linaro.org