File fix_avoid_overriding_boot_loader_if_existing.patch of Package cobbler
Index: cobbler-3.3.3/scripts/migrate-data-v2-to-v3.py
===================================================================
--- cobbler-3.3.3.orig/scripts/migrate-data-v2-to-v3.py
+++ cobbler-3.3.3/scripts/migrate-data-v2-to-v3.py
@@ -308,7 +308,10 @@ for old_type in [
if not args.only_fix_autoinstall:
if new_type in add:
- new_item.update(add[new_type])
+ # We only add items if they don't exist
+ for item in add[new_type]:
+ if item not in new_item:
+ new_item[item] = add[new_type][item]
# Switch "virtio26" and "generic26" OS version to "generic" distro breed
if new_item.get("os_version") in ["generic26", "virtio26"]:
Index: cobbler-3.3.3/cobbler/settings/migrations/V3_3_0.py
===================================================================
--- cobbler-3.3.3.orig/cobbler/settings/migrations/V3_3_0.py
+++ cobbler-3.3.3/cobbler/settings/migrations/V3_3_0.py
@@ -299,9 +299,11 @@ def migrate_cobbler_collections(collecti
if data[key] is None:
data[key] = ""
- # boot_loader -> boot_loaders
- if "boot_loader" in data:
+ # boot_loader -> boot_loaders (preserving possible existing value)
+ if "boot_loader" in data and "boot_loaders" not in data:
data["boot_loaders"] = data.pop("boot_loader")
+ elif "boot_loader" in data:
+ data.pop("boot_loader")
# next_server -> next_server_v4, next_server_v6
if "next_server" in data: