diff --git a/cloud-init-no-nmcfg-needed.patch b/cloud-init-no-nmcfg-needed.patch new file mode 100644 index 0000000..527847a --- /dev/null +++ b/cloud-init-no-nmcfg-needed.patch @@ -0,0 +1,27 @@ +--- cloudinit/net/network_manager.py.orig ++++ cloudinit/net/network_manager.py +@@ -9,7 +9,6 @@ + import configparser + import io + import itertools +-import os + import uuid + from typing import Optional + +@@ -401,7 +400,6 @@ def available(target=None): + # It is imported here to avoid circular import + from cloudinit.distros import uses_systemd + +- config_present = os.path.isfile(subp.target_path(target, path=NM_CFG_FILE)) + nmcli_present = subp.which("nmcli", target=target) + service_active = True + if uses_systemd(): +@@ -410,7 +408,7 @@ def available(target=None): + except subp.ProcessExecutionError: + service_active = False + +- return config_present and bool(nmcli_present) and service_active ++ return bool(nmcli_present) and service_active + + + # vi: ts=4 expandtab diff --git a/cloud-init-no-openstack-guess.patch b/cloud-init-no-openstack-guess.patch new file mode 100644 index 0000000..0c7b1e3 --- /dev/null +++ b/cloud-init-no-openstack-guess.patch @@ -0,0 +1,35 @@ +--- tools/ds-identify.orig ++++ tools/ds-identify +@@ -95,7 +95,7 @@ DI_MAIN=${DI_MAIN:-main} + DI_BLKID_EXPORT_OUT="" + DI_GEOM_LABEL_STATUS_OUT="" + DI_DEFAULT_POLICY="search,found=all,maybe=all,notfound=${DI_DISABLED}" +-DI_DEFAULT_POLICY_NO_DMI="search,found=all,maybe=all,notfound=${DI_ENABLED}" ++DI_DEFAULT_POLICY_NO_DMI="search,found=all,maybe=all,notfound=${DI_DISABLED}" + DI_DMI_BOARD_NAME="" + DI_DMI_CHASSIS_ASSET_TAG="" + DI_DMI_PRODUCT_NAME="" +@@ -1261,12 +1261,6 @@ dscheck_OpenStack() { + return ${DS_FOUND} + fi + +- # LP: #1715241 : arch other than intel are not identified properly. +- case "$DI_UNAME_MACHINE" in +- i?86|x86_64) :;; +- *) return ${DS_MAYBE};; +- esac +- + return ${DS_NOT_FOUND} + } + +--- tests/unittests/test_ds_identify.py.orig ++++ tests/unittests/test_ds_identify.py +@@ -574,7 +574,7 @@ class TestDsIdentify(DsIdentifyBase): + + nova does not identify itself on platforms other than intel. + https://bugs.launchpad.net/cloud-init/+bugs?field.tag=dsid-nova""" +- ++ return + data = copy.deepcopy(VALID_CFG["OpenStack"]) + del data["files"][P_PRODUCT_NAME] + data.update( diff --git a/cloud-init.changes b/cloud-init.changes index 3372b7d..42f8f3f 100644 --- a/cloud-init.changes +++ b/cloud-init.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Apr 9 16:00:13 UTC 2024 - Robert Schweikert + +- Update cloud-init-no-openstack-guess.patch + + Do not enable cloud-init on systems where there is no DMI just + because no data source has been found. No data source means + cloud-init will not run. + +------------------------------------------------------------------- +Fri Apr 5 18:01:39 UTC 2024 - Robert Schweikert + +- Add cloud-init-no-nmcfg-needed.patch (bsc#1221726) + + Do not require a NetworkManager config file in order to detect + NetworkManager as the renderer + +------------------------------------------------------------------- +Fri Apr 5 14:27:16 UTC 2024 - Robert Schweikert + +- Add cloud-init-no-openstack-guess.patch (bsc#1222113) + + Do not guess if we are running on OpenStack or not. Only recognize + the known markers and enable cloud-init if we know for sure. + ------------------------------------------------------------------- Thu Mar 28 12:22:05 UTC 2024 - Robert Schweikert diff --git a/cloud-init.spec b/cloud-init.spec index 5d8d3d7..c880def 100644 --- a/cloud-init.spec +++ b/cloud-init.spec @@ -43,8 +43,12 @@ Patch8: cloud-init-lint-fixes.patch Patch9: cloud-init-pckg-reboot.patch # FIXME Patch10: cloud-init-skip-empty-conf.patch -# FIXME (ttps://github.com/canonical/cloud-init/issues/5075) +# FIXME (https://github.com/canonical/cloud-init/commit/d0f00bd54649e527d69ad597cbcad6efa8548e58) Patch11: cloud-init-ds-deterministic.patch +# FIXME https://github.com/canonical/cloud-init/issues/5152 adn LP#1715241 +Patch12: cloud-init-no-openstack-guess.patch +# FIXME upstream comit 812df5038 +Patch13: cloud-init-no-nmcfg-needed.patch BuildRequires: fdupes BuildRequires: filesystem # pkg-config is needed to find correct systemd unit dir @@ -154,6 +158,8 @@ Documentation and examples for cloud-init tools %patch -P 9 %patch -P 10 %patch -P 11 +%patch -P 12 +%patch -P 13 # patch in the full version to version.py version_pys=$(find . -name version.py -type f)