From 296bc5fbc5d08ed91771a39f47f02ae90164aa6b Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Thu, 11 Oct 2018 09:50:49 +0200 Subject: Permit to give board to user By default LAVA give owning of boards to admin, this patch permit to give board to a specific user. --- lava-slave/scripts/setup.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'lava-slave/scripts/setup.sh') diff --git a/lava-slave/scripts/setup.sh b/lava-slave/scripts/setup.sh index f281f6b..ef20790 100755 --- a/lava-slave/scripts/setup.sh +++ b/lava-slave/scripts/setup.sh @@ -80,6 +80,15 @@ do fi touch /root/.lavadocker/devicetype-$devicetype fi + DEVICE_OPTS="" + if [ -e /root/deviceinfo/$devicename ];then + echo "Found customization for $devicename" + . /root/deviceinfo/$devicename + if [ ! -z "$DEVICE_USER" ];then + echo "DEBUG: give $devicename to $DEVICE_USER" + DEVICE_OPTS="$DEVICE_OPTS --user $DEVICE_USER" + fi + fi echo "Add device $devicename on $worker" grep -q "$devicename[[:space:]]" /tmp/devices.list if [ $? -eq 0 ];then @@ -106,11 +115,11 @@ do DEVICE_HEALTH='UNKNOWN' ;; esac - lavacli $LAVACLIOPTS devices update --worker $worker --health $DEVICE_HEALTH $devicename || exit $? + lavacli $LAVACLIOPTS devices update --worker $worker --health $DEVICE_HEALTH $DEVICE_OPTS $devicename || exit $? # always reset the device dict in case of update of it lavacli $LAVACLIOPTS devices dict set $devicename /root/devices/$worker/$device || exit $? else - lavacli $LAVACLIOPTS devices add --type $devicetype --worker $worker $devicename || exit $? + lavacli $LAVACLIOPTS devices add --type $devicetype --worker $worker $DEVICE_OPTS $devicename || exit $? lavacli $LAVACLIOPTS devices dict set $devicename /root/devices/$worker/$device || exit $? fi if [ -e /root/tags/$devicename ];then -- cgit 1.2.3-korg From 135f1dca856775d0d365c0c1045a7add8626da01 Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Tue, 16 Oct 2018 11:20:59 +0200 Subject: Permit to set a group on boards This patch permit to add a group on boards --- README.md | 3 ++- lava-slave/scripts/setup.sh | 4 ++++ lavalab-gen.py | 7 +++++++ 3 files changed, 13 insertions(+), 1 deletion(-) (limited to 'lava-slave/scripts/setup.sh') diff --git a/README.md b/README.md index 07139d7..32f53ed 100644 --- a/README.md +++ b/README.md @@ -268,7 +268,8 @@ boards: tags: (optional) List of tag to set on this device - tag1 - tag2 - user: (optional) Name of user owning the board (LAVA default is admin) + user: (optional) Name of user owning the board (LAVA default is admin) user is exclusive with group + group: (optional) Name of group owning the board (no LAVA default) group is exclusive with user # One of uart or connection_command must be choosen uart: idvendor: The VID of the UART (Formated as 0xXXXX) diff --git a/lava-slave/scripts/setup.sh b/lava-slave/scripts/setup.sh index ef20790..9fbd796 100755 --- a/lava-slave/scripts/setup.sh +++ b/lava-slave/scripts/setup.sh @@ -88,6 +88,10 @@ do echo "DEBUG: give $devicename to $DEVICE_USER" DEVICE_OPTS="$DEVICE_OPTS --user $DEVICE_USER" fi + if [ ! -z "$DEVICE_GROUP" ];then + echo "DEBUG: give $devicename to group $DEVICE_GROUP" + DEVICE_OPTS="$DEVICE_OPTS --group $DEVICE_GROUP" + fi fi echo "Add device $devicename on $worker" grep -q "$devicename[[:space:]]" /tmp/devices.list diff --git a/lavalab-gen.py b/lavalab-gen.py index 17eba31..9af872b 100755 --- a/lavalab-gen.py +++ b/lavalab-gen.py @@ -490,6 +490,13 @@ def main(): deviceinfo = open("%s/deviceinfo/%s" % (workerdir, board_name), 'w') deviceinfo.write("DEVICE_USER=%s\n" % board["user"]) deviceinfo.close() + if "group" in board: + if "user" in board: + print("user and group are exclusive") + sys.exit(1) + deviceinfo = open("%s/deviceinfo/%s" % (workerdir, board_name), 'w') + deviceinfo.write("DEVICE_GROUP=%s\n" % board["group"]) + deviceinfo.close() if "custom_option" in board: for coption in board["custom_option"]: device_line += "{%% %s %%}\n" % coption -- cgit 1.2.3-korg