From 81286fbd7afe8d4df7a2b2eaefe6787e8863cee3 Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Wed, 1 Aug 2018 11:07:26 +0200 Subject: Call lava-cli devices/device-types list once Instead of calling devices/device-types list for each device, call them once. --- lava-slave/scripts/setup.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'lava-slave') diff --git a/lava-slave/scripts/setup.sh b/lava-slave/scripts/setup.sh index e696e57..0105fbe 100755 --- a/lava-slave/scripts/setup.sh +++ b/lava-slave/scripts/setup.sh @@ -40,6 +40,14 @@ if [ -e /root/device-types ];then done fi +lavacli $LAVACLIOPTS device-types list > /tmp/device-types.list +if [ $? -ne 0 ];then + exit 1 +fi +lavacli $LAVACLIOPTS devices list -a > /tmp/devices.list +if [ $? -ne 0 ];then + exit 1 +fi for worker in $(ls /root/devices/) do lavacli $LAVACLIOPTS workers list |grep -q $worker @@ -63,7 +71,7 @@ do echo "Skip devicetype $devicetype" else echo "Add devicetype $devicetype" - lavacli $LAVACLIOPTS device-types list | grep -q "$devicetype[[:space:]]" + grep -q "$devicetype[[:space:]]" /tmp/device-types.list if [ $? -eq 0 ];then echo "Skip devicetype $devicetype" else @@ -72,7 +80,7 @@ do touch /root/.lavadocker/devicetype-$devicetype fi echo "Add device $devicename on $worker" - lavacli $LAVACLIOPTS devices list -a | grep -q $devicename + grep -q "$devicename[[:space:]]" /tmp/devices.list if [ $? -eq 0 ];then echo "$devicename already present" #verify if present on another worker -- cgit 1.2.3-korg From a686fc2f61637a8554c55444efc748eb29f63f83 Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Wed, 1 Aug 2018 16:45:51 +0200 Subject: Do not change status for retired/maintenance re-added devices When re-adding devices to a worker, setup.sh re-add them with UNKNOWN status. This patch prevent this for RETIRED/MAINTENANCE status and keep it. --- lava-slave/scripts/setup.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'lava-slave') diff --git a/lava-slave/scripts/setup.sh b/lava-slave/scripts/setup.sh index 0105fbe..e7992c0 100755 --- a/lava-slave/scripts/setup.sh +++ b/lava-slave/scripts/setup.sh @@ -90,7 +90,22 @@ do echo "ERROR: $devicename already present on another worker" exit 1 fi - lavacli $LAVACLIOPTS devices update --worker $worker --health UNKNOWN $devicename || exit $? + DEVICE_HEALTH=$(grep "$devicename[[:space:]]" /tmp/devices.list | sed 's/.*,//') + case "$DEVICE_HEALTH" in + Retired) + echo "DEBUG: Keep $devicename state: $DEVICE_HEALTH" + DEVICE_HEALTH='RETIRED' + ;; + Maintenance) + echo "DEBUG: Keep $devicename state: $DEVICE_HEALTH" + DEVICE_HEALTH='MAINTENANCE' + ;; + *) + echo "DEBUG: Set $devicename state to UNKNOWN (from $DEVICE_HEALTH)" + DEVICE_HEALTH='UNKNOWN' + ;; + esac + lavacli $LAVACLIOPTS devices update --worker $worker --health $DEVICE_HEALTH $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 -- cgit 1.2.3-korg