Message ID | 20200302181907.32110-4-alex.bennee@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | testing/next updates (tweaks and re-greening) | expand |
On 3/2/20 7:19 PM, Alex Bennée wrote: > From: Robert Foley <robert.foley@linaro.org> > > Add change to increase timeout waiting for VM to boot. > Needed for some emulation cases where it can take longer > than 5 minutes to boot. > > 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-4-robert.foley@linaro.org> > --- > tests/vm/basevm.py | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py > index c99725b8c0d..5ca445e29af 100644 > --- a/tests/vm/basevm.py > +++ b/tests/vm/basevm.py > @@ -57,6 +57,10 @@ class BaseVM(object): > poweroff = "poweroff" > # enable IPv6 networking > ipv6 = True > + # Scale up some timeouts under TCG. > + # 4 is arbitrary, but greater than 2, > + # since we found we need to wait more than twice as long. > + tcg_ssh_timeout_multiplier = 4 > def __init__(self, debug=False, vcpus=None): > self._guest = None > self._tmpdir = os.path.realpath(tempfile.mkdtemp(prefix="vm-test-", > @@ -309,6 +313,9 @@ class BaseVM(object): > sys.stderr.write("### %s ...\n" % text) > > def wait_ssh(self, seconds=300): > + # Allow more time for VM to boot under TCG. > + if not kvm_available(self.arch): > + seconds *= self.tcg_ssh_timeout_multiplier > starttime = datetime.datetime.now() > endtime = starttime + datetime.timedelta(seconds=seconds) > guest_up = False > A clean way might be to use a QMP socket and poll for networking events, then start counting when the network is up.
diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index c99725b8c0d..5ca445e29af 100644 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -57,6 +57,10 @@ class BaseVM(object): poweroff = "poweroff" # enable IPv6 networking ipv6 = True + # Scale up some timeouts under TCG. + # 4 is arbitrary, but greater than 2, + # since we found we need to wait more than twice as long. + tcg_ssh_timeout_multiplier = 4 def __init__(self, debug=False, vcpus=None): self._guest = None self._tmpdir = os.path.realpath(tempfile.mkdtemp(prefix="vm-test-", @@ -309,6 +313,9 @@ class BaseVM(object): sys.stderr.write("### %s ...\n" % text) def wait_ssh(self, seconds=300): + # Allow more time for VM to boot under TCG. + if not kvm_available(self.arch): + seconds *= self.tcg_ssh_timeout_multiplier starttime = datetime.datetime.now() endtime = starttime + datetime.timedelta(seconds=seconds) guest_up = False