summaryrefslogtreecommitdiff
path: root/nix
diff options
context:
space:
mode:
authorPetr Rockai <prockai@redhat.com>2014-09-30 11:02:25 +0200
committerPetr Rockai <prockai@redhat.com>2015-02-05 13:47:21 +0100
commitf3cc6576ee065b02ff58974f0f0e8792dffbd824 (patch)
tree1f6a930e54ac2b9586e482e50742a7b06851316b /nix
parent734a183c5658c1f305a375da02bb24cccad566df (diff)
downloadlvm2-f3cc6576ee065b02ff58974f0f0e8792dffbd824.tar.gz
NIX: Detect that the VM booted up more directly.
Diffstat (limited to 'nix')
-rw-r--r--nix/default.nix9
1 files changed, 8 insertions, 1 deletions
diff --git a/nix/default.nix b/nix/default.nix
index 734fb3bb3..5999bd2ae 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -45,6 +45,7 @@ let
sha256 = "0ycdh5mb7p5ll76mqk0p6gpnjskvxxgh3a3bfr1crh94nvpwhp4z"; }}
mkdir -p /xchg/results
+ touch /xchg/booted
dmsetup targets
@@ -123,11 +124,17 @@ let
monitor &
for i in `seq 1 20`; do # we allow up to 20 VM restarts
+ rm -f xchg/booted
${vmtools.qemu}/bin/qemu-img create -f qcow2 /dev/shm/testdisk.img 4G
setsid bash -e ${vmtools.vmRunCommand (vmtools.qemuCommandLinux kernel)} &
pid=$!
- sleep 180 # give the VM some time to get up and running
+ # give the VM some time to get up and running
+ slept=0
+ while test $slept -le 180 && test ! -e xchg/booted; do
+ sleep 10
+ slept=$(($slept + 10))
+ done
echo $pid > pid # monitor go
wait $pid || true
rm -f pid # disarm the monitor process