mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 21:32:49 +00:00
cobbler_system: fix KeyError when adding new interface to existing system (#11995)
* fix(cobbler_system): handle missing interface device on existing system When adding a new interface to an existing Cobbler system that does not yet have that interface defined, the module raised a KeyError. Use .get() with a fallback empty dict to safely handle that case. Also add a continue after the unknown-property warning to prevent a secondary KeyError on IFPROPS_MAPPING lookup. Fixes: #7007 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * chore(cobbler_system): add changelog fragment for #11995 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
bugfixes:
|
||||
- cobbler_system - fix ``KeyError`` when adding a new interface to an existing system that does not yet have it defined
|
||||
(https://github.com/ansible-collections/community.general/issues/7007,
|
||||
https://github.com/ansible-collections/community.general/pull/11995).
|
||||
@@ -298,7 +298,8 @@ def main():
|
||||
continue
|
||||
if key not in IFPROPS_MAPPING:
|
||||
module.warn(f"Property '{key}' is not a valid system property.")
|
||||
if not system or system["interfaces"][device][IFPROPS_MAPPING[key]] != value:
|
||||
continue
|
||||
if not system or system["interfaces"].get(device, {}).get(IFPROPS_MAPPING[key]) != value:
|
||||
result["changed"] = True
|
||||
interface_properties[f"{key}-{device}"] = value
|
||||
|
||||
|
||||
Reference in New Issue
Block a user