[lxc-devel] [lxd/master] Honor the LXD_BACKEND environment variable in storage tests
freeekanayaka on Github
lxc-bot at linuxcontainers.org
Wed Apr 26 07:50:53 UTC 2017
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 775 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20170426/1f2f4f50/attachment.bin>
-------------- next part --------------
From 19947f02d81cecb64e73447d11f67cb9479f1f0b Mon Sep 17 00:00:00 2001
From: Free Ekanayaka <free.ekanayaka at gmail.com>
Date: Wed, 26 Apr 2017 09:45:53 +0200
Subject: [PATCH] Honor the LXD_BACKEND environment variable in storage tests
Instead of unconditionally run storage tests depending on the
availability of the underlying backend tools, run them depending on
the value of LXD_BACKEND.
There's a small hack detecting whether we are running as
lxd-github-pull-test Jenkins job, and in that case LXD_BACKEND gets
automatically set to $backend. I think it'd be best to change the
Jenkins configuration instead, and I'm not sure what other jobs would
need a change too (beside lxd-github-pull-test).
Signed-off-by: Free Ekanayaka <free.ekanayaka at gmail.com>
---
test/main.sh | 16 +++++++++++++---
test/suites/storage.sh | 28 ++++++++++++++--------------
2 files changed, 27 insertions(+), 17 deletions(-)
diff --git a/test/main.sh b/test/main.sh
index a8c2154..90125a7 100755
--- a/test/main.sh
+++ b/test/main.sh
@@ -49,15 +49,25 @@ local_tcp_port() {
}
# import all the backends
-for backend in backends/*.sh; do
+for backend_sh in backends/*.sh; do
# shellcheck disable=SC1090
- . "${backend}"
+ . "${backend_sh}"
done
if [ -z "${LXD_BACKEND:-}" ]; then
- LXD_BACKEND=dir
+
+ # XXX The Jenkins lxd-github-pull-test job sets "backend" as environment
+ # variable as opposed to LXD_BACKEND, so we want to honor that. This
+ # should probably be fixed in the Jenkins configuration.
+ if [ -n "${JENKINS_URL:-}" ] && [ -n "${backend:-}" ]; then
+ LXD_BACKEND="${backend}"
+ else
+ LXD_BACKEND=dir
+ fi
fi
+echo "==> Using storage backend ${LXD_BACKEND}"
+
spawn_lxd() {
set +x
# LXD_DIR is local here because since $(lxc) is actually a function, it
diff --git a/test/suites/storage.sh b/test/suites/storage.sh
index 162f549..419b306 100644
--- a/test/suites/storage.sh
+++ b/test/suites/storage.sh
@@ -12,7 +12,7 @@ test_storage() {
LXD_DIR="${LXD_STORAGE_DIR}"
# shellcheck disable=SC1009
- if which zfs >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "zfs" ]; then
# Create loop file zfs pool.
lxc storage create "lxdtest-$(basename "${LXD_DIR}")-pool1" zfs
@@ -63,7 +63,7 @@ test_storage() {
lxc storage delete "lxdtest-$(basename "${LXD_DIR}")-valid-zfs-pool-config"
fi
- if which btrfs >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "btrfs" ]; then
# Create loop file btrfs pool.
lxc storage create "lxdtest-$(basename "${LXD_DIR}")-pool3" btrfs
@@ -118,7 +118,7 @@ test_storage() {
lxc storage create "lxdtest-$(basename "${LXD_DIR}")-valid-dir-pool-config" dir rsync.bwlimit=1024
lxc storage delete "lxdtest-$(basename "${LXD_DIR}")-valid-dir-pool-config"
- if which lvdisplay >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "lvm" ]; then
# Create lvm pool.
configure_loop_device loop_file_3 loop_device_3
# shellcheck disable=SC2154
@@ -181,7 +181,7 @@ test_storage() {
ensure_import_testimage
# Muck around with some containers on various pools.
- if which zfs >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "zfs" ]; then
lxc init testimage c1pool1 -s "lxdtest-$(basename "${LXD_DIR}")-pool1"
lxc list -c b c1pool1 | grep "lxdtest-$(basename "${LXD_DIR}")-pool1"
@@ -227,7 +227,7 @@ test_storage() {
lxc storage volume detach "lxdtest-$(basename "${LXD_DIR}")-pool2" c4pool2 c4pool2
fi
- if which btrfs >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "btrfs" ]; then
lxc init testimage c5pool3 -s "lxdtest-$(basename "${LXD_DIR}")-pool3"
lxc list -c b c5pool3 | grep "lxdtest-$(basename "${LXD_DIR}")-pool3"
lxc init testimage c6pool4 -s "lxdtest-$(basename "${LXD_DIR}")-pool4"
@@ -293,7 +293,7 @@ test_storage() {
! lxc storage volume attach "lxdtest-$(basename "${LXD_DIR}")-pool5" custom/c11pool5 c11pool5 testDevice2 /opt
lxc storage volume detach "lxdtest-$(basename "${LXD_DIR}")-pool5" c11pool5 c11pool5 testDevice
- if which lvdisplay >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "lvm" ]; then
lxc init testimage c10pool6 -s "lxdtest-$(basename "${LXD_DIR}")-pool6"
lxc list -c b c10pool6 | grep "lxdtest-$(basename "${LXD_DIR}")-pool6"
@@ -432,7 +432,7 @@ test_storage() {
lxc storage volume detach "lxdtest-$(basename "${LXD_DIR}")-non-thinpool-pool15" c12pool15 c12pool15 testDevice
fi
- if which zfs >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "zfs" ]; then
lxc launch testimage c13pool7 -s "lxdtest-$(basename "${LXD_DIR}")-pool7"
lxc launch testimage c14pool7 -s "lxdtest-$(basename "${LXD_DIR}")-pool7"
@@ -491,7 +491,7 @@ test_storage() {
lxc storage volume detach "lxdtest-$(basename "${LXD_DIR}")-pool9" c18pool9 c18pool9 testDevice
fi
- if which zfs >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "zfs" ]; then
lxc delete -f c1pool1
lxc delete -f c3pool1
@@ -504,7 +504,7 @@ test_storage() {
lxc storage volume delete "lxdtest-$(basename "${LXD_DIR}")-pool2" c4pool2
fi
- if which btrfs >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "btrfs" ]; then
lxc delete -f c5pool3
lxc delete -f c7pool3
@@ -523,7 +523,7 @@ test_storage() {
lxc storage volume delete "lxdtest-$(basename "${LXD_DIR}")-pool5" c9pool5
lxc storage volume delete "lxdtest-$(basename "${LXD_DIR}")-pool5" c11pool5
- if which lvdisplay >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "lvm" ]; then
lxc delete -f c10pool6
lxc delete -f c12pool6
@@ -556,7 +556,7 @@ test_storage() {
lxc storage volume delete "lxdtest-$(basename "${LXD_DIR}")-non-thinpool-pool15" c12pool15
fi
- if which zfs >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "zfs" ]; then
lxc delete -f c13pool7
lxc delete -f c14pool7
@@ -576,7 +576,7 @@ test_storage() {
lxc image delete testimage
- if which zfs >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "zfs" ]; then
lxc storage delete "lxdtest-$(basename "${LXD_DIR}")-pool7"
lxc storage delete "lxdtest-$(basename "${LXD_DIR}")-pool8"
lxc storage delete "lxdtest-$(basename "${LXD_DIR}")-pool9"
@@ -590,13 +590,13 @@ test_storage() {
deconfigure_loop_device "${loop_file_1}" "${loop_device_1}"
fi
- if which btrfs >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "btrfs" ]; then
lxc storage delete "lxdtest-$(basename "${LXD_DIR}")-pool4"
# shellcheck disable=SC2154
deconfigure_loop_device "${loop_file_2}" "${loop_device_2}"
fi
- if which lvdisplay >/dev/null 2>&1; then
+ if [ "${LXD_BACKEND}" = "lvm" ]; then
lxc storage delete "lxdtest-$(basename "${LXD_DIR}")-pool6"
# shellcheck disable=SC2154
pvremove -ff "${loop_device_3}" || true
More information about the lxc-devel
mailing list