tests/vm: give wait_ssh() option to wait for root
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> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Peter Puhov <peter.puhov@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20200219163537.22098-5-robert.foley@linaro.org> Message-Id: <20200303150622.20133-5-alex.bennee@linaro.org>
This commit is contained in:
parent
c9de39355a
commit
fbb3aa29e2
@ -312,7 +312,7 @@ class BaseVM(object):
|
|||||||
def print_step(self, text):
|
def print_step(self, text):
|
||||||
sys.stderr.write("### %s ...\n" % 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.
|
# Allow more time for VM to boot under TCG.
|
||||||
if not kvm_available(self.arch):
|
if not kvm_available(self.arch):
|
||||||
seconds *= self.tcg_ssh_timeout_multiplier
|
seconds *= self.tcg_ssh_timeout_multiplier
|
||||||
@ -320,7 +320,10 @@ class BaseVM(object):
|
|||||||
endtime = starttime + datetime.timedelta(seconds=seconds)
|
endtime = starttime + datetime.timedelta(seconds=seconds)
|
||||||
guest_up = False
|
guest_up = False
|
||||||
while datetime.datetime.now() < endtime:
|
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
|
guest_up = True
|
||||||
break
|
break
|
||||||
seconds = (endtime - datetime.datetime.now()).total_seconds()
|
seconds = (endtime - datetime.datetime.now()).total_seconds()
|
||||||
|
Loading…
Reference in New Issue
Block a user