This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
osmith gerrit-no-reply at lists.osmocom.orgosmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23123 )
Change subject: kernel-test: add KERNEL_TEST_KVM env var
......................................................................
kernel-test: add KERNEL_TEST_KVM env var
Allow to disable KVM, as the jenkins nodes apparently don't support it.
This makes the tests run a bit slower, but not much.
Related: OS#3208
Change-Id: I1f337af1e2de6db05b22636bc31a535404235559
---
M README.md
M jenkins-common.sh
M scripts/kernel-test/run-qemu.sh
M ttcn3-ggsn-test/jenkins.sh
4 files changed, 25 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/23/23123/1
diff --git a/README.md b/README.md
index 27a589e..6a9f4b9 100644
--- a/README.md
+++ b/README.md
@@ -35,6 +35,7 @@
Environment variables:
* `KERNEL_TEST`: set to 1 to run the SUT in QEMU
+* `KERNEL_TEST_KVM`: set to 0 to disable KVM acceleration
* `KERNEL_BUILD`: set to 1 to build the kernel instead of using the
pre-built one
* `KERNEL_REMOTE_NAME`: git remote name (to add multiple git
diff --git a/jenkins-common.sh b/jenkins-common.sh
index 6c54109..e19b321 100644
--- a/jenkins-common.sh
+++ b/jenkins-common.sh
@@ -194,6 +194,12 @@
trap clean_up_common EXIT INT TERM 0
}
+docker_kvm_param() {
+ if [ "$KERNEL_TEST_KVM" != 0 ]; then
+ echo "--device /dev/kvm:/dev/kvm"
+ fi
+}
+
# Generate the initrd, and optionally build a kernel, for tests that involve
# kernel modules. Boot the kernel once in QEMU inside docker to verify that it
# works. See README.md for description of the KERNEL_* environment variables.
@@ -212,6 +218,11 @@
local docker_image="$4"
shift 4
+ if [ "$KERNEL_TEST_KVM" != 0 ] && ! [ -e /dev/kvm ]; then
+ echo "ERROR: /dev/kvm not found! Consider running with: KERNEL_TEST_KVM=0"
+ exit 1
+ fi
+
mkdir -p "$CACHE_DIR/kernel-test"
cp "$kernel_config_fragment" \
@@ -221,7 +232,7 @@
docker run \
--cap-add=NET_ADMIN \
- --device /dev/kvm:/dev/kvm \
+ $(docker_kvm_param) \
--device /dev/net/tun:/dev/net/tun \
-v "$CACHE_DIR:/cache" \
-v "$KERNEL_TEST_DIR:/kernel-test:ro" \
diff --git a/scripts/kernel-test/run-qemu.sh b/scripts/kernel-test/run-qemu.sh
index 0a1824f..1873af4 100755
--- a/scripts/kernel-test/run-qemu.sh
+++ b/scripts/kernel-test/run-qemu.sh
@@ -13,8 +13,14 @@
$@
"
+if [ -e /dev/kvm ]; then
+ MACHINE_ARG="-machine pc,accel=kvm"
+else
+ MACHINE_ARG="-machine pc"
+fi
+
qemu-system-x86_64 \
- -machine pc,accel=kvm \
+ $MACHINE_ARG \
-smp 1 \
-m 512M \
-nodefconfig -no-user-config -nodefaults -display none \
diff --git a/ttcn3-ggsn-test/jenkins.sh b/ttcn3-ggsn-test/jenkins.sh
index c6ea729..1881d59 100755
--- a/ttcn3-ggsn-test/jenkins.sh
+++ b/ttcn3-ggsn-test/jenkins.sh
@@ -41,7 +41,7 @@
GGSN_CMD="/kernel-test/run-qemu.sh"
GGSN_DOCKER_ARGS="
$(docker_network_params $SUBNET 200)
- --device /dev/kvm:/dev/kvm
+ $(docker_kvm_param) \
-v "$KERNEL_TEST_DIR:/kernel-test:ro"
-v "$CACHE_DIR:/cache"
"
@@ -64,6 +64,10 @@
$REPO_USER/osmo-ggsn-$IMAGE_SUFFIX \
/bin/sh -c "$GGSN_CMD >/data/osmo-ggsn.log 2>&1"
+if [ "$KERNEL_TEST" = 1 ] && [ "$KERNEL_TEST_KVM" = 0 ]; then
+ sleep 5
+fi
+
# start docker container with testsuite in foreground
docker run --rm \
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
--
To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23123
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: I1f337af1e2de6db05b22636bc31a535404235559
Gerrit-Change-Number: 23123
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210226/e9efe5e7/attachment.htm>