[lxc-devel] [lxc/master] tests: fix image download for s390x

Cypresslin on Github lxc-bot at linuxcontainers.org
Fri Oct 14 08:22:29 UTC 2016


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 535 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20161014/df5c9101/attachment.bin>
-------------- next part --------------
From 64ea46c72197b34943062b5aa9ee238fe2bd443e Mon Sep 17 00:00:00 2001
From: Po-Hsu Lin <po-hsu.lin at canonical.com>
Date: Fri, 14 Oct 2016 16:17:30 +0800
Subject: [PATCH] tests: fix image download for s390x

Make release selection more flexible.
Update the KNOWN_RELEAES list, add yakkety and remove vivid.

Signed-off-by: Po-Hsu Lin <po-hsu.lin at canonical.com>
---
 src/tests/lxc-test-apparmor-mount | 14 +++++++++++++-
 src/tests/lxc-test-autostart      | 15 ++++++++++++++-
 src/tests/lxc-test-unpriv         | 14 +++++++++++++-
 src/tests/lxc-test-usernic.in     | 14 +++++++++++++-
 templates/lxc-ubuntu-cloud.in     |  2 +-
 5 files changed, 54 insertions(+), 5 deletions(-)

diff --git a/src/tests/lxc-test-apparmor-mount b/src/tests/lxc-test-apparmor-mount
index 3fd3f5a..7ec5aad 100755
--- a/src/tests/lxc-test-apparmor-mount
+++ b/src/tests/lxc-test-apparmor-mount
@@ -42,6 +42,7 @@ run_cmd() {
 }
 
 DONE=0
+KNOWN_RELEASES="precise trusty wily xenial yakkety"
 MOUNTSR=/sys/kernel/security/apparmor/features/mount
 dnam=`mktemp -d`
 cname=`basename $dnam`
@@ -144,7 +145,18 @@ run_cmd mkdir -p $HDIR/.cache/lxc
     cp -R /var/cache/lxc/download $HDIR/.cache/lxc && \
     chown -R $TUSER: $HDIR/.cache/lxc
 
-run_cmd lxc-create -t download -n $cname -- -d ubuntu -r trusty -a $ARCH
+# default release is trusty, or the systems release if recognized
+release=trusty
+if [ -f /etc/lsb-release ]; then
+    . /etc/lsb-release
+    rels=$(ubuntu-distro-info --supported 2>/dev/null) ||
+        rels="$KNOWN_RELEASES"
+    for r in $rels; do
+        [ "$DISTRIB_CODENAME" = "$r" ] && release="$r"
+    done
+fi
+
+run_cmd lxc-create -t download -n $cname -- -d ubuntu -r $release -a $ARCH
 
 echo "test default confined container"
 run_cmd lxc-start -n $cname -d
diff --git a/src/tests/lxc-test-autostart b/src/tests/lxc-test-autostart
index 5b606f5..76de54b 100755
--- a/src/tests/lxc-test-autostart
+++ b/src/tests/lxc-test-autostart
@@ -22,6 +22,7 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
 DONE=0
+KNOWN_RELEASES="precise trusty wily xenial yakkety"
 cleanup() {
 	lxc-destroy -n $CONTAINER_NAME >/dev/null 2>&1 || true
 
@@ -42,7 +43,19 @@ set -eu
 
 # Create a container
 CONTAINER_NAME=lxc-test-auto
-lxc-create -t download -n $CONTAINER_NAME -- -d ubuntu -r trusty -a $ARCH
+
+# default release is trusty, or the systems release if recognized
+release=trusty
+if [ -f /etc/lsb-release ]; then
+    . /etc/lsb-release
+    rels=$(ubuntu-distro-info --supported 2>/dev/null) ||
+        rels="$KNOWN_RELEASES"
+    for r in $rels; do
+        [ "$DISTRIB_CODENAME" = "$r" ] && release="$r"
+    done
+fi
+
+lxc-create -t download -n $CONTAINER_NAME -- -d ubuntu -r $release -a $ARCH
 CONTAINER_PATH=$(dirname $(lxc-info -n $CONTAINER_NAME -c lxc.rootfs -H))
 cp $CONTAINER_PATH/config $CONTAINER_PATH/config.bak
 
diff --git a/src/tests/lxc-test-unpriv b/src/tests/lxc-test-unpriv
index f3a7910..eddfd55 100755
--- a/src/tests/lxc-test-unpriv
+++ b/src/tests/lxc-test-unpriv
@@ -30,6 +30,7 @@ fi
 which newuidmap >/dev/null 2>&1 || { echo "'newuidmap' command is missing" >&2; exit 1; }
 
 DONE=0
+KNOWN_RELEASES="precise trusty wily xenial yakkety"
 cleanup() {
 	cd /
 
@@ -119,13 +120,24 @@ else
 	done
 fi
 
+# default release is trusty, or the systems release if recognized
+release=trusty
+if [ -f /etc/lsb-release ]; then
+    . /etc/lsb-release
+    rels=$(ubuntu-distro-info --supported 2>/dev/null) ||
+        rels="$KNOWN_RELEASES"
+    for r in $rels; do
+        [ "$DISTRIB_CODENAME" = "$r" ] && release="$r"
+    done
+fi
+
 # Copy the download template cache if available
 run_cmd mkdir -p $HDIR/.cache/lxc
 [ -d /var/cache/lxc/download ] && \
     cp -R /var/cache/lxc/download $HDIR/.cache/lxc && \
     chown -R $TUSER: $HDIR/.cache/lxc
 
-run_cmd lxc-create -t download -n c1 -- -d ubuntu -r trusty -a $ARCH
+run_cmd lxc-create -t download -n c1 -- -d ubuntu -r $release -a $ARCH
 
 # Make sure we can start it - twice
 
diff --git a/src/tests/lxc-test-usernic.in b/src/tests/lxc-test-usernic.in
index 6a5650d..d63b6bb 100755
--- a/src/tests/lxc-test-usernic.in
+++ b/src/tests/lxc-test-usernic.in
@@ -24,6 +24,7 @@
 # This test assumes an Ubuntu host
 
 DONE=0
+KNOWN_RELEASES="precise trusty wily xenial yakkety"
 LXC_USER_NIC="@LIBEXECDIR@/lxc/lxc-user-nic"
 
 cleanup() {
@@ -132,8 +133,19 @@ if type dpkg >/dev/null 2>&1; then
 	ARCH=$(dpkg --print-architecture)
 fi
 
+# default release is trusty, or the systems release if recognized
+release=trusty
+if [ -f /etc/lsb-release ]; then
+    . /etc/lsb-release
+    rels=$(ubuntu-distro-info --supported 2>/dev/null) ||
+        rels="$KNOWN_RELEASES"
+    for r in $rels; do
+        [ "$DISTRIB_CODENAME" = "$r" ] && release="$r"
+    done
+fi
+
 # Create three containers
-run_cmd "lxc-create -t download -n b1 -- -d ubuntu -r trusty -a $ARCH"
+run_cmd "lxc-create -t download -n b1 -- -d ubuntu -r $release -a $ARCH"
 run_cmd "lxc-start -n b1 -d"
 p1=$(run_cmd "lxc-info -n b1 -p -H")
 
diff --git a/templates/lxc-ubuntu-cloud.in b/templates/lxc-ubuntu-cloud.in
index 0b53cb1..7ae10c8 100644
--- a/templates/lxc-ubuntu-cloud.in
+++ b/templates/lxc-ubuntu-cloud.in
@@ -25,7 +25,7 @@ STATE_DIR="@LOCALSTATEDIR@"
 HOOK_DIR="@LXCHOOKDIR@"
 CLONE_HOOK_FN="$HOOK_DIR/ubuntu-cloud-prep"
 LXC_TEMPLATE_CONFIG="@LXCTEMPLATECONFIG@"
-KNOWN_RELEASES="precise trusty vivid wily xenial"
+KNOWN_RELEASES="precise trusty wily xenial yakkety"
 skip_arch_check=${UCTEMPLATE_SKIP_ARCH_CHECK:-0}
 
 # Make sure the usual locations are in PATH


More information about the lxc-devel mailing list