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:
openSUSE Build Service is sponsored by