Browse Source

tests: Make parallel VM start a bit more resource friendly

Wait one second between each kvm start to avoid hitting large number of
processes trying to start in parallel. This allows the VMs to be started
more efficiently for parallel-vm.py runs with large number of VMs.

Signed-off-by: Jouni Malinen <j@w1.fi>
Jouni Malinen 10 years ago
parent
commit
5554fbef46
2 changed files with 11 additions and 1 deletions
  1. 1 1
      tests/hwsim/vm/parallel-vm.py
  2. 10 0
      tests/hwsim/vm/vm-run.sh

+ 1 - 1
tests/hwsim/vm/parallel-vm.py

@@ -192,7 +192,7 @@ def main():
     vm = {}
     vm = {}
     for i in range(0, num_servers):
     for i in range(0, num_servers):
         print("\rStarting virtual machine {}/{}".format(i + 1, num_servers)),
         print("\rStarting virtual machine {}/{}".format(i + 1, num_servers)),
-        cmd = ['./vm-run.sh', '--timestamp', str(timestamp),
+        cmd = ['./vm-run.sh', '--delay', str(i), '--timestamp', str(timestamp),
                '--ext', 'srv.%d' % (i + 1),
                '--ext', 'srv.%d' % (i + 1),
                '-i'] + codecov_args + extra_args
                '-i'] + codecov_args + extra_args
         vm[i] = {}
         vm[i] = {}

+ 10 - 0
tests/hwsim/vm/vm-run.sh

@@ -47,6 +47,7 @@ TIMESTAMP=$(date +%s)
 DATE=$TIMESTAMP
 DATE=$TIMESTAMP
 CODECOV=no
 CODECOV=no
 TIMEWARP=0
 TIMEWARP=0
+DELAY=0
 CODECOV_DIR=
 CODECOV_DIR=
 while [ "$1" != "" ]; do
 while [ "$1" != "" ]; do
 	case $1 in
 	case $1 in
@@ -68,6 +69,10 @@ while [ "$1" != "" ]; do
 		--timewrap ) shift
 		--timewrap ) shift
 			TIMEWARP=1
 			TIMEWARP=1
 			;;
 			;;
+	        --delay ) shift
+			DELAY=$1
+			shift
+			;;
 		* )
 		* )
 			RUN_TEST_ARGS="$RUN_TEST_ARGS$1 "
 			RUN_TEST_ARGS="$RUN_TEST_ARGS$1 "
 			shift
 			shift
@@ -89,6 +94,11 @@ else
     CODECOV=no
     CODECOV=no
 fi
 fi
 
 
+if [ $DELAY -gt 0 ]; then
+    echo "Wait $DELAY seconds before starting VM"
+    sleep $DELAY
+fi
+
 echo "Starting test run in a virtual machine"
 echo "Starting test run in a virtual machine"
 
 
 kvm \
 kvm \