From dd13181cf98b9d2d8ab2359168617153a6684a88 Mon Sep 17 00:00:00 2001 From: Florian Paul Azim Hoberg Date: Tue, 18 Nov 2025 13:08:23 +0100 Subject: [PATCH] fix(pools): Fixes a crash during PVE resource pool enumeration by skipping members not having a 'name' property (i.e. 'storage' members) Fixes: #368 Sponsored-by: Stefan Oettl (@stefanoettl) --- ...368_fix_crash_enumerating_pools_with_storage_members.yml | 2 ++ proxlb/models/pools.py | 6 ++++++ 2 files changed, 8 insertions(+) create mode 100644 .changelogs/1.1.10/368_fix_crash_enumerating_pools_with_storage_members.yml diff --git a/.changelogs/1.1.10/368_fix_crash_enumerating_pools_with_storage_members.yml b/.changelogs/1.1.10/368_fix_crash_enumerating_pools_with_storage_members.yml new file mode 100644 index 0000000..70ce720 --- /dev/null +++ b/.changelogs/1.1.10/368_fix_crash_enumerating_pools_with_storage_members.yml @@ -0,0 +1,2 @@ +fixed: + - Fixed a crash during PVE resource pool enumeration by skipping members not having a 'name' property (@stefanoettl). [#368] diff --git a/proxlb/models/pools.py b/proxlb/models/pools.py index a343ccf..2faa2c8 100644 --- a/proxlb/models/pools.py +++ b/proxlb/models/pools.py @@ -68,6 +68,12 @@ class Pools: # Fetch pool details and collect member names pool_details = proxmox_api.pools(pool['poolid']).get() for member in pool_details.get("members", []): + + # We might also have objects without the key "name", e.g. storage pools + if "name" not in member: + logger.debug(f"Skipping member without name in pool: {pool['poolid']}") + continue + logger.debug(f"Got member: {member['name']} for pool: {pool['poolid']}") pools['pools'][pool['poolid']]['members'].append(member["name"])