oeqa/utils/postactions: testimage: add host disk usage stat as post action

Since the target under test can be a virtualized guest, when some tests
fail because of disk usage (see [1]), also fetch disk usage statistics from
host to allow checking whether a host disk space saturation could affect
running tests.

[1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=15220

(From OE-Core rev: 2ab3a0935b1e7a016402f149da1fc01b38d7af55)

Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexis Lothoré
2024-02-26 10:19:22 +01:00
committed by Richard Purdie
parent d4267a8dce
commit 5018d3a4b6

View File

@@ -32,6 +32,16 @@ def get_target_disk_usage(d, tc):
except Exception as e:
bb.warn(f"Can not get target disk usage: {e}")
def get_host_disk_usage(d, tc):
import subprocess
output_file = os.path.join(get_json_result_dir(d), "artifacts", "host_disk_usage.txt")
try:
with open(output_file, 'w') as f:
output = subprocess.run(['/usr/bin/df', '-hl'], check=True, text=True, stdout=f)
except Exception as e:
bb.warn(f"Can not get host disk usage: {e}")
##################################################################
# Artifacts retrieval
##################################################################
@@ -80,7 +90,8 @@ def run_failed_tests_post_actions(d, tc):
post_actions=[
create_artifacts_directory,
list_and_fetch_failed_tests_artifacts,
get_target_disk_usage
get_target_disk_usage,
get_host_disk_usage
]
for action in post_actions: