[lxc-devel] [lxd/master] Fix some test failures
stgraber on Github
lxc-bot at linuxcontainers.org
Thu Apr 4 19:04:51 UTC 2019
A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 301 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20190404/c5aa335a/attachment.bin>
-------------- next part --------------
From d2b2e7438bd3e2998aad73f6d4425443d3cf6250 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Thu, 4 Apr 2019 14:30:40 -0400
Subject: [PATCH 1/4] tests: Allow up to 15s for container reboot
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
test/suites/basic.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/suites/basic.sh b/test/suites/basic.sh
index 961b57442d..fd80141424 100644
--- a/test/suites/basic.sh
+++ b/test/suites/basic.sh
@@ -465,7 +465,7 @@ test_basic_usage() {
REBOOTED="false"
# shellcheck disable=SC2034
- for i in $(seq 20); do
+ for i in $(seq 30); do
NEW_INIT=$(lxc info foo | grep ^Pid || true)
if [ -n "${NEW_INIT}" ] && [ "${OLD_INIT}" != "${NEW_INIT}" ]; then
From f8a09c30f40614a218e4757f9f7c19fef275f4bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Thu, 4 Apr 2019 14:50:48 -0400
Subject: [PATCH 2/4] tests: Remove dead code
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
test/suites/incremental_copy.sh | 5 -----
1 file changed, 5 deletions(-)
diff --git a/test/suites/incremental_copy.sh b/test/suites/incremental_copy.sh
index 27348e5a30..2340d65425 100644
--- a/test/suites/incremental_copy.sh
+++ b/test/suites/incremental_copy.sh
@@ -42,11 +42,6 @@ do_copy() {
# Initial copy
# shellcheck disable=2086
lxc copy c1 c2 ${pool}
-
- # Make sure the testfile doesn't exist
- ! lxc exec c1 -- touch /root/testfile1 || false
- ! lxc exec c2 -- touch /root/testfile1 || false
-
lxc start c1 c2
# Target container may not be running when refreshing
From 11724cd8da19b49cb2514a6206694fb5e26962f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Thu, 4 Apr 2019 14:59:25 -0400
Subject: [PATCH 3/4] lxd/tasks: Avoid races on startup
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
lxd/task/group.go | 21 ++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/lxd/task/group.go b/lxd/task/group.go
index b8b70b3065..2cb8de774a 100644
--- a/lxd/task/group.go
+++ b/lxd/task/group.go
@@ -37,16 +37,31 @@ func (g *Group) Start() {
ctx := context.Background()
ctx, g.cancel = context.WithCancel(ctx)
g.wg.Add(len(g.tasks))
- g.running = make(map[int]bool)
+
+ g.mu.Lock()
+ if g.running == nil {
+ g.running = make(map[int]bool)
+ }
+ g.mu.Unlock()
+
for i := range g.tasks {
- task := g.tasks[i] // Local variable for the closure below.
+ g.mu.Lock()
+ if g.running[i] {
+ g.mu.Unlock()
+ continue
+ }
+
g.running[i] = true
+ task := g.tasks[i] // Local variable for the closure below.
+ g.mu.Unlock()
+
go func(i int) {
task.loop(ctx)
g.wg.Done()
+
g.mu.Lock()
- defer g.mu.Unlock()
g.running[i] = false
+ g.mu.Unlock()
}(i)
}
}
From c39609039383748dc5db748cbdfaefd9850cf258 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber at ubuntu.com>
Date: Thu, 4 Apr 2019 15:02:18 -0400
Subject: [PATCH 4/4] tests: Fix race condition in proxy test
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
test/suites/proxy.sh | 115 ++++++++++++++++++++++++++-----------------
1 file changed, 69 insertions(+), 46 deletions(-)
diff --git a/test/suites/proxy.sh b/test/suites/proxy.sh
index ac38f17b23..3ec9e270bc 100644
--- a/test/suites/proxy.sh
+++ b/test/suites/proxy.sh
@@ -24,8 +24,9 @@ test_proxy_device_tcp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -39,8 +40,9 @@ test_proxy_device_tcp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -54,8 +56,9 @@ test_proxy_device_tcp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -73,10 +76,12 @@ test_proxy_device_tcp() {
NSENTER_PID1=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
- ECHO1=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT2}")
- kill -9 "${NSENTER_PID1}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
+ ECHO1=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT2}")
+ kill "${NSENTER_PID1}" 2>/dev/null || true
+ wait "${NSENTER_PID1}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -168,8 +173,9 @@ test_proxy_device_unix() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - unix:"${HOST_SOCK#$(pwd)/}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - unix:"${HOST_SOCK#$(pwd)/}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -190,8 +196,9 @@ test_proxy_device_unix() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - unix:"${HOST_SOCK#$(pwd)/}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - unix:"${HOST_SOCK#$(pwd)/}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -212,8 +219,9 @@ test_proxy_device_unix() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - unix:"${HOST_SOCK#$(pwd)/}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - unix:"${HOST_SOCK#$(pwd)/}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -248,8 +256,9 @@ test_proxy_device_tcp_unix() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -268,8 +277,9 @@ test_proxy_device_tcp_unix() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -288,8 +298,9 @@ test_proxy_device_tcp_unix() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -317,8 +328,9 @@ test_proxy_device_unix_tcp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - unix:"${HOST_SOCK#$(pwd)/}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - unix:"${HOST_SOCK#$(pwd)/}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -334,8 +346,9 @@ test_proxy_device_unix_tcp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - unix:"${HOST_SOCK#$(pwd)/}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - unix:"${HOST_SOCK#$(pwd)/}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -351,8 +364,9 @@ test_proxy_device_unix_tcp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - unix:"${HOST_SOCK#$(pwd)/}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - unix:"${HOST_SOCK#$(pwd)/}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -382,8 +396,9 @@ test_proxy_device_udp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - udp:127.0.0.1:"${HOST_UDP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - udp:127.0.0.1:"${HOST_UDP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -397,8 +412,9 @@ test_proxy_device_udp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - udp:127.0.0.1:"${HOST_UDP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - udp:127.0.0.1:"${HOST_UDP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -412,8 +428,9 @@ test_proxy_device_udp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - udp:127.0.0.1:"${HOST_UDP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - udp:127.0.0.1:"${HOST_UDP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -441,8 +458,9 @@ test_proxy_device_unix_udp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - unix:"${HOST_SOCK#$(pwd)/}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - unix:"${HOST_SOCK#$(pwd)/}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -458,8 +476,9 @@ test_proxy_device_unix_udp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - unix:"${HOST_SOCK#$(pwd)/}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - unix:"${HOST_SOCK#$(pwd)/}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -475,8 +494,9 @@ test_proxy_device_unix_udp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - unix:"${HOST_SOCK#$(pwd)/}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - unix:"${HOST_SOCK#$(pwd)/}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -506,8 +526,9 @@ test_proxy_device_tcp_udp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -521,8 +542,9 @@ test_proxy_device_tcp_udp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
@@ -536,8 +558,9 @@ test_proxy_device_tcp_udp() {
NSENTER_PID=$!
sleep 0.5
- ECHO=$( (echo "${MESSAGE}" ; sleep 0.1) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
- kill -9 "${NSENTER_PID}" 2>/dev/null || true
+ ECHO=$( (echo "${MESSAGE}" ; sleep 0.5) | socat - tcp:127.0.0.1:"${HOST_TCP_PORT}")
+ kill "${NSENTER_PID}" 2>/dev/null || true
+ wait "${NSENTER_PID}" 2>/dev/null || true
if [ "${ECHO}" != "${MESSAGE}" ]; then
cat "${LXD_DIR}/logs/proxyTester/proxy.proxyDev.log"
More information about the lxc-devel
mailing list