diff mbox series

[v1,04/14] tests/vm: give wait_ssh() option to wait for root

Message ID 20200205212920.467-5-robert.foley@linaro.org (mailing list archive)
State New, archived
Headers show
Series tests/vm: Add support for aarch64 VMs | expand

Commit Message

Robert Foley Feb. 5, 2020, 9:29 p.m. UTC
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(-)

Comments

Alex Bennée Feb. 7, 2020, 12:01 p.m. UTC | #1
Robert Foley <robert.foley@linaro.org> writes:

> 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()
> -

Stray line deletion. Otherwise:

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
diff mbox series

Patch

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()