Lots of xm-test tests are failing with console timeouts on some machines
at the moment. I reproduced the problem and found it was due to some
probing activity in the boot process of the -xen kernel. The behaviour
of the current xm-test code is to assume that the boot process has
finished after performing three one-second waits for input---when the
probing activity introduces more than three one-second delays the test
suite breaks.
This patch changes the test suite to wait for the command prompt
before attempting to submit a command. The timeout is increased from 3
seconds to 3 minutes but the wait exits early when the prompt is found
so the test suite doesn't take any longer to run.
Signed-off-by: Harry Butterworth <butterwo@uk.ibm.com>
in XenDomain. The devices we will add, like network, will need to run
console commands when a domain is started. So I have made console be
a part of domain object, which it's tied to anyway.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
set console.limit command in the test was never being run. The select in
Console.py was never timing out because there was always someting to read on
the fd, the OOM messages are constant. So the test would hang.
The fix includes:
1) Changing MEM in 15_create_smallmem_pos.py to 32MBs, which is the default
for the tools that should work.
2) Change the XmConsole init to add an argument to set the console limit
when it's created.
3) Set a default large limit for console so we won't hang in the future.
4) Added a new 16_create_smallmem_neg.py test to handle failure situation.
5) Added comment in README.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
to respond first time. For restored and unpaused domains there is no need for
the console to output data, so we cannot use this as a way to detect the
liveness of a console. Instead, a command must always be sent to the console,
which means that this failure can only be detected once the constructor of the
Console class has returned successfully. The __chewall loop still remains, in
order to detect runaway consoles and to clear out previous data from the
console before executing commands, but we no longer treat failure of that
method to read data as a failure of the console itself.
Signed-off-by: Ewan Mellor <ewan@xensource.com>