Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/tests/ftest/recovery/check_start_options.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""
(C) Copyright 2025 Hewlett Packard Enterprise Development LP
(C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP

SPDX-License-Identifier: BSD-2-Clause-Patent
"""
Expand Down Expand Up @@ -77,7 +77,7 @@ def test_check_start_reset(self):

# 6. Remove the pool directory from the mount point.
self.log_step("Remove the pool directory from the mount point.")
pool_path = self.server_managers[0].get_vos_path(pool)
pool_path = self.server_managers[0].get_vos_paths(pool)[0]
pool_out = check_file_exists(
hosts=self.hostlist_servers, filename=pool_path, sudo=True)
if not pool_out[0]:
Expand Down Expand Up @@ -190,7 +190,7 @@ def test_check_start_failout(self):

# 6. Remove the pool directory from the mount point.
self.log_step("Remove the pool directory from the mount point.")
pool_path = self.server_managers[0].get_vos_path(pool)
pool_path = self.server_managers[0].get_vos_paths(pool)[0]
pool_out = check_file_exists(
hosts=self.hostlist_servers, filename=pool_path, sudo=True)
if not pool_out[0]:
Expand Down
10 changes: 5 additions & 5 deletions src/tests/ftest/recovery/ddb.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""
(C) Copyright 2022-2024 Intel Corporation.
(C) Copyright 2025 Hewlett Packard Enterprise Development LP
(C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP

SPDX-License-Identifier: BSD-2-Clause-Patent
"""
Expand Down Expand Up @@ -149,7 +149,7 @@ def test_recovery_ddb_ls(self):
# Find the vos file name. e.g., /mnt/daos0/<pool_uuid>/vos-0.
vos_paths = self.server_managers[0].get_vos_files(pool)
if not vos_paths:
self.fail(f"vos file wasn't found in {self.server_managers[0].get_vos_path(pool)}")
self.fail(f"vos file wasn't found in {self.server_managers[0].get_vos_paths(pool)[0]}")
ddb_command = DdbCommand(self.server_managers[0].hosts[0:1], self.bin, vos_paths[0])

errors = []
Expand Down Expand Up @@ -339,7 +339,7 @@ def test_recovery_ddb_rm(self):
# 3. Find the vos file name.
vos_paths = self.server_managers[0].get_vos_files(pool)
if not vos_paths:
self.fail(f"vos file wasn't found in {self.server_managers[0].get_vos_path(pool)}")
self.fail(f"vos file wasn't found in {self.server_managers[0].get_vos_paths(pool)[0]}")
ddb_command = DdbCommand(self.server_managers[0].hosts[0:1], self.bin, vos_paths[0])

# 4. Call ddb rm to remove the akey.
Expand Down Expand Up @@ -481,7 +481,7 @@ def test_recovery_ddb_load(self):
host = self.server_managers[0].hosts[0:1]
vos_paths = self.server_managers[0].get_vos_files(pool)
if not vos_paths:
self.fail(f"vos file wasn't found in {self.server_managers[0].get_vos_path(pool)}")
self.fail(f"vos file wasn't found in {self.server_managers[0].get_vos_paths(pool)[0]}")
ddb_command = DdbCommand(host, self.bin, vos_paths[0])

# 5. Load new data into [0]/[0]/[0]/[0]
Expand Down Expand Up @@ -562,7 +562,7 @@ def test_recovery_ddb_dump_value(self):
# 4. Find the vos file name.
vos_paths = self.server_managers[0].get_vos_files(pool)
if not vos_paths:
self.fail(f"vos file wasn't found in {self.server_managers[0].get_vos_path(pool)}")
self.fail(f"vos file wasn't found in {self.server_managers[0].get_vos_paths(pool)[0]}")
ddb_command = DdbCommand(self.server_managers[0].hosts[0:1], self.bin, vos_paths[0])

# 5. Dump the two akeys to files.
Expand Down
6 changes: 3 additions & 3 deletions src/tests/ftest/recovery/pool_list_consolidation.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""
(C) Copyright 2024 Intel Corporation.
(C) Copyright 2025 Hewlett Packard Enterprise Development LP
(C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP

SPDX-License-Identifier: BSD-2-Clause-Patent
"""
Expand Down Expand Up @@ -192,7 +192,7 @@ def verify_pool_dir_removed(self, pool, errors):
list: Error list.

"""
pool_path = self.server_managers[0].get_vos_path(pool)
pool_path = self.server_managers[0].get_vos_paths(pool)[0]
check_out = check_file_exists(
hosts=self.hostlist_servers, filename=pool_path, directory=True)
if check_out[0]:
Expand Down Expand Up @@ -289,7 +289,7 @@ def test_lost_majority_ps_replicas(self):
dmg_command.system_stop()

self.log_step("Remove <scm_mount>/<pool_uuid>/rdb-pool from two ranks.")
rdb_pool_path = f"{self.server_managers[0].get_vos_path(pool)}/rdb-pool"
rdb_pool_path = f"{self.server_managers[0].get_vos_paths(pool)[0]}/rdb-pool"
command = f"sudo rm {rdb_pool_path}"
hosts = list(set(self.server_managers[0].ranks.values()))
count = 0
Expand Down
6 changes: 3 additions & 3 deletions src/tests/ftest/recovery/pool_membership.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""
(C) Copyright 2024 Intel Corporation.
(C) Copyright 2025 Hewlett Packard Enterprise Development LP
(C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP

SPDX-License-Identifier: BSD-2-Clause-Patent
"""
Expand Down Expand Up @@ -251,7 +251,7 @@ def test_dangling_pool_map(self):

self.log_step("Manually remove /<scm_mount>/<pool_uuid>/vos-0 from rank 0 node.")
rank_0_host = NodeSet(self.server_managers[0].get_host(0))
vos_0_path = f"{self.server_managers[0].get_vos_path(pool)}/vos-0"
vos_0_path = f"{self.server_managers[0].get_vos_paths(pool)[0]}/vos-0"
vos_0_result = check_file_exists(hosts=self.hostlist_servers, filename=vos_0_path)
if not vos_0_result[0]:
msg = ("MD-on-SSD cluster. Contents under mount point are removed by control plane "
Expand Down Expand Up @@ -332,7 +332,7 @@ def test_dangling_rank_entry(self):

self.log_step("Remove pool directory from one of the mount points.")
rank_1_host = NodeSet(self.server_managers[0].get_host(1))
pool_directory = self.server_managers[0].get_vos_path(self.pool)
pool_directory = self.server_managers[0].get_vos_paths(self.pool)[0]
pool_directory_result = check_file_exists(
hosts=self.hostlist_servers, filename=pool_directory, directory=True)
if not pool_directory_result[0]:
Expand Down
16 changes: 10 additions & 6 deletions src/tests/ftest/util/server_utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""
(C) Copyright 2018-2024 Intel Corporation.
(C) Copyright 2025 Hewlett Packard Enterprise Development LP
(C) Copyright 2025-2026 Hewlett Packard Enterprise Development LP

SPDX-License-Identifier: BSD-2-Clause-Patent
"""
Expand Down Expand Up @@ -1164,16 +1164,20 @@ def get_daos_metrics(self, verbose=False, timeout=60):
engines.append(result)
return engines

def get_vos_path(self, pool):
"""Get the VOS file path.
def get_vos_paths(self, pool):
"""Get the VOS file paths.

Args:
pool (TestPool): the pool containing the vos file

Returns:
str: the full path to the vos file
list: the full path list to the vos file
"""
return os.path.join(self.get_config_value("scm_mount"), pool.uuid.lower())
vos_paths = []
for engine_params in self.manager.job.yaml.engine_params:
scm_mount = engine_params.get_value("scm_mount")
vos_paths.append(os.path.join(scm_mount, pool.uuid.lower()))
return vos_paths

def get_vos_files(self, pool, pattern="vos"):
"""Get all the VOS file paths containing the pattern.
Expand All @@ -1187,7 +1191,7 @@ def get_vos_files(self, pool, pattern="vos"):
/mnt/daos0/<pool_uuid>/vos-0. If no matches are found the list will be empty.
"""
vos_files = []
vos_path = self.get_vos_path(pool)
vos_path = self.get_vos_paths(pool)[0]
command = command_as_user(f"ls {vos_path}", "root")
result = run_remote(self.log, self.hosts[0:1], command)
if result.passed:
Expand Down
Loading