File cloud-init-norename-w-debug.patch of Package cloud-init

Index: cloud-init-23.3/cloudinit/net/__init__.py
===================================================================
--- cloud-init-23.3.orig/cloudinit/net/__init__.py
+++ cloud-init-23.3/cloudinit/net/__init__.py
@@ -597,6 +597,7 @@ def extract_physdevs(netcfg):
             if not device_id:
                 device_id = device_devid(name)
             physdevs.append([mac, name, driver, device_id])
+        LOG.debug("v1 physdevs %s" % physdevs)
         return physdevs
 
     def _version_2(netcfg):
@@ -698,12 +699,18 @@ def _rename_interfaces(
     renames, strict_present=True, strict_busy=True, current_info=None
 ):
 
+    LOG.debug(
+        "Enter _rename_interfaces with renames: %s and current_inf0: %s" % (
+            renames, current_info)
+    )
     if not len(renames):
         LOG.debug("no interfaces to rename")
         return
 
     if current_info is None:
+        LOG.debug("get the current rename info")
         current_info = _get_current_rename_info()
+        LOG.debug("raname info: %s" % current_info)
 
     cur_info = {}
     for name, data in current_info.items():
Index: cloud-init-23.3/cloudinit/net/renderer.py
===================================================================
--- cloud-init-23.3.orig/cloudinit/net/renderer.py
+++ cloud-init-23.3/cloudinit/net/renderer.py
@@ -7,11 +7,14 @@
 
 import abc
 import io
+import logging
 from typing import Optional
 
 from cloudinit.net.network_state import NetworkState
 from cloudinit.net.udev import generate_udev_rule
 
+LOG = logging.getLogger(__name__)
+
 
 def filter_by_type(match_type):
     return lambda iface: match_type == iface["type"]
@@ -37,6 +40,12 @@ class Renderer(abc.ABC):
         for iface in network_state.iter_interfaces(filter_by_physical):
             # for physical interfaces write out a persist net udev rule
             if "name" in iface and iface.get("mac_address"):
+                # Skip any interfaces with the artificial "rename" name.
+                # This is a horrible hack to address bsc#1211957 until the
+                # root cause is understood and fixed.
+                if iface["name"].startswith("rename"):
+                    LOG.debug("Skipping %s in udev rule" % iface["name"])
+                    continue
                 driver = iface.get("driver", None)
                 content.write(
                     generate_udev_rule(
openSUSE Build Service is sponsored by