aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoys Ollivier <lollivier@baylibre.com>2018-12-28 16:10:30 +0100
committerLoys Ollivier <lollivier@baylibre.com>2019-01-24 09:59:35 +0100
commit67a05dda23bab56edd4b1104da58566f45ebea47 (patch)
tree1f4541b520caa5bc515c70354b7db9f014144f37
parent84f0eb5dd32b0951c7977f77cd75fdc48469553b (diff)
jjb: lava-labs-prepare: use lavacli to find devices and tags
lava-tool is deprecated. There is a new "Tags" feature in lavacli that we would like to leverage to create customize tests depending on tags. Include lavacli into the script dependencies. Use it to find devices and list corresponding tags. Note, for now it is not replacing lava-tool but only ran alongside to test the behavior. Change-Id: I29546f4109ce869f7f047639f46e4a9c4499a9b2 Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
-rw-r--r--jjb/common/include-agl-lava-labs-prepare.sh27
-rw-r--r--packer/provision/agl_dependencies.sh8
2 files changed, 34 insertions, 1 deletions
diff --git a/jjb/common/include-agl-lava-labs-prepare.sh b/jjb/common/include-agl-lava-labs-prepare.sh
index ea025469..893c859f 100644
--- a/jjb/common/include-agl-lava-labs-prepare.sh
+++ b/jjb/common/include-agl-lava-labs-prepare.sh
@@ -69,6 +69,33 @@ for lab in "${!labs[@]}"; do
fi
rm -f $token_file
+ # lavacli auth using token
+ lavacli identities add --token ${token} --uri $full_url --username $user $lab
+
+ # lavacli: Find the LAVA lab that has the device available to run the job
+ echo -n "lavacli: Checking for $lava_device at $full_url... "
+ lavacli_line=$(lavacli -i $lab devices list | grep $lava_device | head -1)
+ lavacli_line=$(echo "$lavacli_line" | tr -d '[:space:]')
+
+ if [ -z "$lavacli_line" ]; then
+ echo "not found."
+ continue
+ fi
+ IFS=':'
+ arr=($lavacli_line)
+ device_status=${arr[1]}
+ IFS=${OFS}
+
+ if [ x"$device_status" = x"Idle,Good" ]; then
+ echo "lavacli: found a device available: $lavacli_line"
+ lavacli_dev=$(echo ${arr[0]} | sed 's/\*\([^(]*\).*/\1/')
+ lavacli_tags=$(lavacli -i $lab devices tags list $lavacli_dev | grep \*)
+ lavacli_tags=$(echo $lavacli_tags | sed 's/\* \(\)/\1/')
+ echo "Tags for $lavacli_dev: $lavacli_tags"
+ else
+ echo "lavacli: did not find any device available: $lavacli_line"
+ fi
+
# Find the LAVA Lab that has the device available to run the job
echo -n "Checking for $lava_device at $full_url... "
line=$(lava-tool devices-list $full_url | grep $lava_device)
diff --git a/packer/provision/agl_dependencies.sh b/packer/provision/agl_dependencies.sh
index ed9dce66..2d6bdbf9 100644
--- a/packer/provision/agl_dependencies.sh
+++ b/packer/provision/agl_dependencies.sh
@@ -25,10 +25,16 @@ DEBIAN_FRONTEND=noninteractive apt-get update && \
libtool libglib2.0-dev libarchive-dev python-git git python python-minimal repo \
tree rsync python-yaml python-requests curl tar docker.io pandoc python3 \
ruby-all-dev ruby-ffi ruby-ffi-* jekyll ruby-redcarpet mkdocs \
- python-pip python-simplejson g++-multilib make zip unzip iperf3
+ python-pip python-simplejson g++-multilib make zip unzip iperf3 \
+ debian-keyring debian-archive-keyring
DEBIAN_FRONTEND=noninteractive apt-get install -y -t jessie-backports lava-tool=0.19-1~bpo8+1
+# Adding stretch-backports for lavacli
+echo "deb http://deb.debian.org/debian/ stretch-backports main" >> /etc/apt/sources.list
+
+DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y -t stretch-backports lavacli
+
# we have a build blocker wrt useradd - I assume it is caused by /bin/sh being dash
# systemd: Performing useradd with
echo "dash dash/sh boolean false" | debconf-set-selections