diff --git a/ci-Revert-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-.patch b/ci-Revert-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-.patch new file mode 100644 index 0000000..1c89996 --- /dev/null +++ b/ci-Revert-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-.patch @@ -0,0 +1,190 @@ +From f8aff06e81da87383a0ae62a01b8488f4f2f98e0 Mon Sep 17 00:00:00 2001 +From: PengpengSun <40026211+PengpengSun@users.noreply.github.com> +Date: Sat, 10 Aug 2024 03:32:40 +0800 +Subject: [PATCH] Revert "fix(vmware): Set IPv6 to dhcp when there is no IPv6 + addr (#5471)" (#5596) + +RH-Author: xiachen +RH-MergeRequest: 107: Revert "fix(vmware): Set IPv6 to dhcp when there is no IPv6 addr (#5471)" (#5596) +RH-Jira: RHEL-54372 +RH-Acked-by: Emanuele Giuseppe Esposito +RH-Acked-by: Miroslav Rezanina +RH-Commit: [1/1] ac9414d2f1ee605d70bb94277d48ce97c21ea4b8 (xiachen/cloud-init-centos) + +This reverts commit 2b6fe6403db769de14f7c7b7e4aa65f5bea8f3e0. + +When there is no IPv6 set to dhcp explicitly, NetworkManager keyfile +defaults to method=auto, may-fail=true. When there is Ipv6 set to dhcp +explictily, NetworkManager keyfile will be set to +method=auto, may-fail=false. The default settings are what we want, so +revert the previous change to keep IPv6 not set explicitly. + +(cherry picked from commit 65014b97420b41dcb6e7ea17c66bb2539f9b09fc) +Signed-off-by: Amy Chen +--- + .../sources/helpers/vmware/imc/config_nic.py | 2 +- + .../sources/vmware/test_vmware_config_file.py | 68 +++++-------------- + 2 files changed, 18 insertions(+), 52 deletions(-) + +diff --git a/cloudinit/sources/helpers/vmware/imc/config_nic.py b/cloudinit/sources/helpers/vmware/imc/config_nic.py +index 254518af..b07214a2 100644 +--- a/cloudinit/sources/helpers/vmware/imc/config_nic.py ++++ b/cloudinit/sources/helpers/vmware/imc/config_nic.py +@@ -207,7 +207,7 @@ class NicConfigurator: + """ + + if not nic.staticIpv6: +- return ([{"type": "dhcp6"}], []) ++ return ([], []) + + subnet_list = [] + # Static Ipv6 +diff --git a/tests/unittests/sources/vmware/test_vmware_config_file.py b/tests/unittests/sources/vmware/test_vmware_config_file.py +index c1415934..fd4bb481 100644 +--- a/tests/unittests/sources/vmware/test_vmware_config_file.py ++++ b/tests/unittests/sources/vmware/test_vmware_config_file.py +@@ -241,45 +241,27 @@ class TestVmwareConfigFile(CiTestCase): + elif cfg.get("name") == nic2.get("name"): + nic2.update(cfg) + +- # Test NIC1 + self.assertEqual("physical", nic1.get("type"), "type of NIC1") + self.assertEqual("NIC1", nic1.get("name"), "name of NIC1") + self.assertEqual( + "00:50:56:a6:8c:08", nic1.get("mac_address"), "mac address of NIC1" + ) + subnets = nic1.get("subnets") +- self.assertEqual(2, len(subnets), "number of subnets for NIC1") +- subnet_ipv4 = subnets[0] +- self.assertEqual( +- "dhcp", subnet_ipv4.get("type"), "Ipv4 DHCP type for NIC1" +- ) +- self.assertEqual( +- "auto", subnet_ipv4.get("control"), "NIC1 Control type" +- ) +- subnet_ipv6 = subnets[1] +- self.assertEqual( +- "dhcp6", subnet_ipv6.get("type"), "Ipv6 DHCP type for NIC1" +- ) ++ self.assertEqual(1, len(subnets), "number of subnets for NIC1") ++ subnet = subnets[0] ++ self.assertEqual("dhcp", subnet.get("type"), "DHCP type for NIC1") ++ self.assertEqual("auto", subnet.get("control"), "NIC1 Control type") + +- # Test NIC2 + self.assertEqual("physical", nic2.get("type"), "type of NIC2") + self.assertEqual("NIC2", nic2.get("name"), "name of NIC2") + self.assertEqual( + "00:50:56:a6:5a:de", nic2.get("mac_address"), "mac address of NIC2" + ) + subnets = nic2.get("subnets") +- self.assertEqual(2, len(subnets), "number of subnets for NIC2") +- subnet_ipv4 = subnets[0] +- self.assertEqual( +- "dhcp", subnet_ipv4.get("type"), "Ipv4 DHCP type for NIC2" +- ) +- self.assertEqual( +- "auto", subnet_ipv4.get("control"), "NIC2 Control type" +- ) +- subnet_ipv6 = subnets[1] +- self.assertEqual( +- "dhcp6", subnet_ipv6.get("type"), "Ipv6 DHCP type for NIC2" +- ) ++ self.assertEqual(1, len(subnets), "number of subnets for NIC2") ++ subnet = subnets[0] ++ self.assertEqual("dhcp", subnet.get("type"), "DHCP type for NIC2") ++ self.assertEqual("auto", subnet.get("control"), "NIC2 Control type") + + def test_get_nics_list_static(self): + """Tests if NicConfigurator properly calculates network subnets +@@ -304,7 +286,6 @@ class TestVmwareConfigFile(CiTestCase): + elif cfg.get("name") == nic2.get("name"): + nic2.update(cfg) + +- # Test NIC1 + self.assertEqual("physical", nic1.get("type"), "type of NIC1") + self.assertEqual("NIC1", nic1.get("name"), "name of NIC1") + self.assertEqual( +@@ -364,7 +345,6 @@ class TestVmwareConfigFile(CiTestCase): + else: + self.assertEqual(True, False, "invalid gateway %s" % (gateway)) + +- # Test NIC2 + self.assertEqual("physical", nic2.get("type"), "type of NIC2") + self.assertEqual("NIC2", nic2.get("name"), "name of NIC2") + self.assertEqual( +@@ -372,18 +352,16 @@ class TestVmwareConfigFile(CiTestCase): + ) + + subnets = nic2.get("subnets") +- self.assertEqual(2, len(subnets), "Number of subnets for NIC2") ++ self.assertEqual(1, len(subnets), "Number of subnets for NIC2") + +- subnet_ipv4 = subnets[0] +- self.assertEqual("static", subnet_ipv4.get("type"), "Subnet type") ++ subnet = subnets[0] ++ self.assertEqual("static", subnet.get("type"), "Subnet type") + self.assertEqual( +- "192.168.6.102", subnet_ipv4.get("address"), "Subnet address" ++ "192.168.6.102", subnet.get("address"), "Subnet address" + ) + self.assertEqual( +- "255.255.0.0", subnet_ipv4.get("netmask"), "Subnet netmask" ++ "255.255.0.0", subnet.get("netmask"), "Subnet netmask" + ) +- subnet_ipv6 = subnets[1] +- self.assertEqual("dhcp6", subnet_ipv6.get("type"), "Subnet type") + + def test_custom_script(self): + cf = ConfigFile("tests/data/vmware/cust-dhcp-2nic.cfg") +@@ -470,10 +448,7 @@ class TestVmwareNetConfig(CiTestCase): + "type": "static", + "address": "10.20.87.154", + "netmask": "255.255.252.0", +- }, +- { +- "type": "dhcp6", +- }, ++ } + ], + } + ], +@@ -524,10 +499,7 @@ class TestVmwareNetConfig(CiTestCase): + "metric": 10000, + } + ], +- }, +- { +- "type": "dhcp6", +- }, ++ } + ], + } + ], +@@ -587,10 +559,7 @@ class TestVmwareNetConfig(CiTestCase): + "metric": 10000, + } + ], +- }, +- { +- "type": "dhcp6", +- }, ++ } + ], + } + ], +@@ -635,10 +604,7 @@ class TestVmwareNetConfig(CiTestCase): + "address": "10.20.87.154", + "netmask": "255.255.252.0", + "gateway": "10.20.87.253", +- }, +- { +- "type": "dhcp6", +- }, ++ } + ], + } + ], +-- +2.39.3 + diff --git a/cloud-init.spec b/cloud-init.spec index 63bbcb7..8b9bab0 100644 --- a/cloud-init.spec +++ b/cloud-init.spec @@ -6,7 +6,7 @@ Name: cloud-init Version: 24.1.4 -Release: 15%{?dist} +Release: 16%{?dist} Summary: Cloud instance init scripts License: Apache-2.0 OR GPL-3.0-only URL: https://github.com/canonical/cloud-init @@ -53,6 +53,8 @@ Patch21: ci-Support-setting-mirrorlist-in-yum-repository-config-.patch Patch22: ci-cc_disk_setup-add-sgdisk-to-sfdisk-convertion-dictio.patch # For RHEL-36093 - Remove cloud-init dependency on obsolete gdisk Patch23: ci-Get-rid-of-gdisk-dependency.patch +# For RHEL-54372 - [RHEL10]Revert "fix(vmware): Set IPv6 to dhcp when there is no IPv6 addr (#5471)" +Patch24: ci-Revert-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-.patch BuildArch: noarch @@ -263,6 +265,11 @@ fi %changelog +* Mon Aug 19 2024 Miroslav Rezanina - 24.1.4-16 +- ci-Revert-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-.patch [RHEL-54372] +- Resolves: RHEL-54372 + ([RHEL10]Revert "fix(vmware): Set IPv6 to dhcp when there is no IPv6 addr (#5471)") + * Mon Aug 12 2024 Miroslav Rezanina - 24.1.4-15 - ci-cc_disk_setup-add-sgdisk-to-sfdisk-convertion-dictio.patch [RHEL-36093] - ci-Get-rid-of-gdisk-dependency.patch [RHEL-36093]