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"])