From 78901222a8f646754623a2ca253d1cbe463cb9a7 Mon Sep 17 00:00:00 2001 From: Sebastian Mitterle Date: Thu, 27 Jul 2023 08:44:16 -0400 Subject: [PATCH] utils_disk: add function to retrieve partitions by disk path On s390x, ccw disk order might change between boots. `get_parts_list` therefore might return partitions on `vda` but on `vdb` after reboot leading to unstable tests. Add a new function `get_parts_list_by_path` which lists partitions uniquely by their devno, e.g. `ccw-0.0.0009-part1`. Signed-off-by: Sebastian Mitterle --- virttest/utils_disk.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/virttest/utils_disk.py b/virttest/utils_disk.py index c90b66e9d7d..f1446eeb0e0 100644 --- a/virttest/utils_disk.py +++ b/virttest/utils_disk.py @@ -26,6 +26,7 @@ from virttest import error_context from virttest import utils_numeric +from virttest import utils_misc from virttest import remote PARTITION_TABLE_TYPE_MBR = "msdos" @@ -1083,6 +1084,19 @@ def linux_disk_check(session, did): clean_partition_linux(session, did) +def get_parts_list_by_path(session=None): + """ + Get all partitions as listed on /dev/disk/by-path + """ + err, out = utils_misc.cmd_status_output("ls /dev/disk/by-path", + shell=True, session=session) + if err: + raise exceptions.TestError("Failed to list partitions in /dev/disk/by-path") + r = out.split() + logging.debug("Partitions by path: %s", r) + return r + + def get_parts_list(session=None): """ Get all partition lists.