The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/4286

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
Signed-off-by: Stéphane Graber <[email protected]>
From 70611215213499377a4144651567735d57509359 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <[email protected]>
Date: Tue, 27 Feb 2018 15:21:04 -0500
Subject: [PATCH] tests: Fix race condition in import tests
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <[email protected]>
---
 test/suites/backup.sh | 28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)

diff --git a/test/suites/backup.sh b/test/suites/backup.sh
index 0b14a0b83..0abb6b187 100644
--- a/test/suites/backup.sh
+++ b/test/suites/backup.sh
@@ -5,6 +5,16 @@ test_container_import() {
   (
     set -e
 
+    kill_lxc() {
+        pid=${1:-}
+        [ -n "${pid}" ] || return
+        ppid=$(ps -o ppid="" -p "${pid}")
+        kill -9 "${pid}" || true
+
+        [ -n "${ppid}" ] || return
+        kill -9 "${ppid}" || true
+    }
+
     # shellcheck disable=SC2030
     LXD_DIR=${LXD_IMPORT_DIR}
     lxd_backend=$(storage_backend "$LXD_DIR")
@@ -16,7 +26,7 @@ test_container_import() {
     pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
     ! lxd import ctImport
     lxd import ctImport --force
-    kill -9 "${pid}"
+    kill_lxc "${pid}"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE 
name='ctImport'"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM storage_volumes WHERE 
name='ctImport'"
     lxd import ctImport --force
@@ -29,7 +39,7 @@ test_container_import() {
     pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
     ! lxd import ctImport
     lxd import ctImport --force
-    kill -9 "${pid}"
+    kill_lxc "${pid}"
     lxc info ctImport | grep snap0
     lxc start ctImport
     lxc delete --force ctImport
@@ -38,7 +48,7 @@ test_container_import() {
     lxc snapshot ctImport
     lxc start ctImport
     pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
-    kill -9 "${pid}"
+    kill_lxc "${pid}"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE 
name='ctImport'"
     ! lxd import ctImport
     lxd import ctImport --force
@@ -50,7 +60,7 @@ test_container_import() {
     lxc snapshot ctImport
     lxc start ctImport
     pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
-    kill -9 "${pid}"
+    kill_lxc "${pid}"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE 
name='ctImport/snap0'"
     ! lxd import ctImport
     lxd import ctImport --force
@@ -62,7 +72,7 @@ test_container_import() {
     lxc snapshot ctImport
     lxc start ctImport
     pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
-    kill -9 "${pid}"
+    kill_lxc "${pid}"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE 
name='ctImport'"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE 
name='ctImport/snap0'"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM storage_volumes WHERE 
name='ctImport'"
@@ -76,7 +86,7 @@ test_container_import() {
     lxc snapshot ctImport
     lxc start ctImport
     pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
-    kill -9 "${pid}"
+    kill_lxc "${pid}"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE 
name='ctImport'"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE 
name='ctImport/snap0'"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM storage_volumes WHERE 
name='ctImport'"
@@ -97,7 +107,7 @@ test_container_import() {
       rm -rf "${LXD_DIR}/storage-pools/lxdtest-$(basename 
"${LXD_DIR}")/snapshots/ctImport/snap0"
     fi
     pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
-    kill -9 "${pid}"
+    kill_lxc "${pid}"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE 
name='ctImport'"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM containers WHERE 
name='ctImport/snap0'"
     lxd sql "PRAGMA foreign_keys=ON; DELETE FROM storage_volumes WHERE 
name='ctImport'"
@@ -135,7 +145,7 @@ test_container_import() {
         ;;
     esac
     pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
-    kill -9 "${pid}"
+    kill_lxc "${pid}"
     ! lxd import ctImport
     lxd import ctImport --force
     lxc info ctImport | grep snap0
@@ -167,7 +177,7 @@ test_container_import() {
         ;;
     esac
     pid=$(lxc info ctImport | grep ^Pid | awk '{print $2}')
-    kill -9 "${pid}"
+    kill_lxc "${pid}"
     ! lxd import ctImport
     lxd import ctImport --force
     lxc info ctImport | grep snap0
_______________________________________________
lxc-devel mailing list
[email protected]
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to