Allow wait_ssh to wait for root user to be ready.
This solves the issue where we perform a wait_ssh()
successfully, but the root user is not yet ready
to be logged in.
Signed-off-by: Robert Foley <robert.foley@linaro.org>
---
tests/vm/basevm.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index 4de358ae22..a29099f6f1 100755
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -314,7 +314,7 @@ class BaseVM(object):
def print_step(self, text):
sys.stderr.write("### %s ...\n" % text)
- def wait_ssh(self, seconds=300):
+ def wait_ssh(self, wait_root=False, seconds=300):
# Allow more time for VM to boot under TCG.
if not kvm_available(self.arch):
seconds *= self.tcg_ssh_timeout_multiplier
@@ -322,7 +322,10 @@ class BaseVM(object):
endtime = starttime + datetime.timedelta(seconds=seconds)
guest_up = False
while datetime.datetime.now() < endtime:
- if self.ssh("exit 0") == 0:
+ if wait_root and self.ssh_root("exit 0") == 0:
+ guest_up = True
+ break
+ elif self.ssh("exit 0") == 0:
guest_up = True
break
seconds = (endtime - datetime.datetime.now()).total_seconds()
@@ -333,7 +336,6 @@ class BaseVM(object):
def shutdown(self):
self._guest.shutdown()
-
def wait(self):
self._guest.wait()
--
2.17.1