Implement Curl tool and use it to install cargo
Implement Curl tool and use it to install cargo
Implement Curl tool and use it to install cargo
Implement Curl tool and use it to install cargo
flake 8 validation changes
flake 8 validation changes
flake 8 validation changes for cargo tool
Pass updated_env for _check_exists() to provide env variables
Introduce a new option capture_libvirt_debug_logs in
LibvirtPlatformSchema that tells LISA to capture libvirt debug logs
during environment teardown.
Debug logs are enabled by using the log_outputs option in
/etc/libvirt/libvirtd.conf. Here, we configure libvirt to write
the debug logs to /var/log/libvirt/libvirtd.log.
We have been seeing multiple libvirt related errors in the pipeline
and these logs can help in debugging those.
This is an opt-in feature since all users of libvirt platform might
not be interested in debug level logs.
Today `Platform` doesn't have a lifecycle method to perform platform
specific cleanup. _delete_environment is environment specific and cannot
be used for platform level cleanup.
Add a new method called "_cleanup()" that can be optionally overridden by
platform implementations that want to perform cleanup. Platform cleanup
is invoked by `LisaRunner.close()`.
The initrd images for the new kernel may be very large
because the DEBUG modules are be enabled. This causes
few failures due to unexpected size of kernel initrd image.
Ex: The boot fails in small SKU sizes.
INSTALL_MOD_STRIP=1 builds the kernel without the DEBUG modules.
The test comamnd timing out doesn't mean that no tests have been
run. It might have run some of the tests and before getting stuck.
In this scenario the results of the tests that were run before
the command stuck should be reported.
But when the test case times out there is no chance to
extract results of the tests that were run. To address this,
define two timemout values. CMD_TIME_OUT is the time within which
the Cloud Hypervisor test command should finish and CASE_TIME_OUT is
the time within which the whole LISA testcase should finish.
Keep the value of CASE_TIME_OUT a slightly higher so that results
can be extracted from the command's stdout when it times out. This
will ensure we have accurate reporting of test cases run even when
the test command times out.
Today there is no way to tell from an `ExecutableResult` whether the
process timed out. Add a property `is_timeout` to `ExecutableResult`
to indicate if the process timed out.
If a process times out while doing wait_result, no stdout is returned in
the result. This is not correct since the process might have produced
some output before timing out.
The output of the command is already being streamed into
self._log_buffer. Use it's contents to populate the stdout field of the
result in case of timeout.
The contents of the _log_buffer also includes the lisa tag as prefix for
each line (timestamp, node/environment info, log level etc.). This is
not required and unexpected since a process result usually includes the
raw stdout of the command and so stdout parsing logic may not have accounted
for the prefix.
The _log_buffer is currently used in wait_for_output() and here too the
logging prefix for each line is not required. It might accidently match
the content in the prefix instead of the actual command stdout.
To fix, instead of using the default formatter, use a separate one that
prints just the message without any prefix.
The testcase makes a copy of the disk image for each VM it
spawns. It is easy to run of space in OS disk especially
when the default value of 30GB is used.
Use the Azure temporary disk that is automatically mounted
at /mnt to store copies of the disk image.
dmesg logs are not saved for some error paths which throw before
reaching the code that saves the logs.
Move this code to the correct place in verify_mshv_stress_vm_create.