* Mon Jul 08 2024 Miroslav Rezanina <mrezanin@redhat.com> - 24.1.4-12
- ci-Support-metalink-in-yum-repository-config-5444.patch [RHEL-44918] - ci-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-IPv6-ad.patch [RHEL-35562] - Resolves: RHEL-44918 ([RFE] Support metalink in yum repository config [rhel-10]) - Resolves: RHEL-35562 ([RHEL-10] It leaves the ipv6 networking config as blank in NM keyfile when config dhcp ipv6 with customization spec)
This commit is contained in:
parent
e4ad52664a
commit
2a3769fe74
140
ci-Support-metalink-in-yum-repository-config-5444.patch
Normal file
140
ci-Support-metalink-in-yum-repository-config-5444.patch
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
From fc7ef10d5ca56af69eeef6d5d66a757dc01352ee Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ani Sinha <anisinha@redhat.com>
|
||||||
|
Date: Tue, 2 Jul 2024 13:58:56 +0800
|
||||||
|
Subject: [PATCH 1/2] Support metalink in yum repository config (#5444)
|
||||||
|
|
||||||
|
RH-Author: xiachen <xiachen@redhat.com>
|
||||||
|
RH-MergeRequest: 96: Support metalink in yum repository config (#5444)
|
||||||
|
RH-Jira: RHEL-44918
|
||||||
|
RH-Acked-by: Ani Sinha <anisinha@redhat.com>
|
||||||
|
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||||
|
RH-Commit: [1/1] ff6d688b0ddfe31bbf42067a4107e56aa68395f0 (xiachen/cloud-init-centos)
|
||||||
|
|
||||||
|
'metalink' config can be specified instead or along with 'baseurl' in the yum
|
||||||
|
repository config. Add support for specifying metalink instead of 'baseurl'.
|
||||||
|
|
||||||
|
Fixes GH-5359
|
||||||
|
|
||||||
|
Signed-off-by: Ani Sinha <anisinha@redhat.com>
|
||||||
|
Co-authored-by: Ben Gray <ben.gray@clearcapital.com>
|
||||||
|
(cherry picked from commit 525026061404ef09baebb85631d9af3b0a4d8930)
|
||||||
|
---
|
||||||
|
cloudinit/config/cc_yum_add_repo.py | 24 ++++++------
|
||||||
|
doc/examples/cloud-config-yum-repo.txt | 3 +-
|
||||||
|
.../unittests/config/test_cc_yum_add_repo.py | 38 +++++++++++++++++++
|
||||||
|
3 files changed, 51 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cloudinit/config/cc_yum_add_repo.py b/cloudinit/config/cc_yum_add_repo.py
|
||||||
|
index 1ab5008f..4fd66250 100644
|
||||||
|
--- a/cloudinit/config/cc_yum_add_repo.py
|
||||||
|
+++ b/cloudinit/config/cc_yum_add_repo.py
|
||||||
|
@@ -210,24 +210,22 @@ def handle(name: str, cfg: Config, cloud: Cloud, args: list) -> None:
|
||||||
|
n_repo_config[k] = v
|
||||||
|
repo_config = n_repo_config
|
||||||
|
missing_required = 0
|
||||||
|
- for req_field in ["baseurl"]:
|
||||||
|
+ req_fields = ["baseurl", "metalink"]
|
||||||
|
+ for req_field in req_fields:
|
||||||
|
if req_field not in repo_config:
|
||||||
|
- LOG.warning(
|
||||||
|
- "Repository %s does not contain a %s"
|
||||||
|
- " configuration 'required' entry",
|
||||||
|
- repo_id,
|
||||||
|
- req_field,
|
||||||
|
- )
|
||||||
|
missing_required += 1
|
||||||
|
- if not missing_required:
|
||||||
|
- repo_configs[canon_repo_id] = repo_config
|
||||||
|
- repo_locations[canon_repo_id] = repo_fn_pth
|
||||||
|
- else:
|
||||||
|
+
|
||||||
|
+ if missing_required == len(req_fields):
|
||||||
|
LOG.warning(
|
||||||
|
- "Repository %s is missing %s required fields, skipping!",
|
||||||
|
+ "Repository %s should contain atleast one of the"
|
||||||
|
+ " following configuration entries: %s, skipping!",
|
||||||
|
repo_id,
|
||||||
|
- missing_required,
|
||||||
|
+ ", ".join(req_fields),
|
||||||
|
)
|
||||||
|
+ else:
|
||||||
|
+ repo_configs[canon_repo_id] = repo_config
|
||||||
|
+ repo_locations[canon_repo_id] = repo_fn_pth
|
||||||
|
+
|
||||||
|
for (c_repo_id, path) in repo_locations.items():
|
||||||
|
repo_blob = _format_repository_config(
|
||||||
|
c_repo_id, repo_configs.get(c_repo_id)
|
||||||
|
diff --git a/doc/examples/cloud-config-yum-repo.txt b/doc/examples/cloud-config-yum-repo.txt
|
||||||
|
index e8f2bbb4..6a4037e2 100644
|
||||||
|
--- a/doc/examples/cloud-config-yum-repo.txt
|
||||||
|
+++ b/doc/examples/cloud-config-yum-repo.txt
|
||||||
|
@@ -11,8 +11,9 @@ yum_repos:
|
||||||
|
# Any repository configuration options
|
||||||
|
# See: man yum.conf
|
||||||
|
#
|
||||||
|
- # This one is required!
|
||||||
|
+ # At least one of 'baseurl' or 'metalink' is required!
|
||||||
|
baseurl: http://download.fedoraproject.org/pub/epel/testing/5/$basearch
|
||||||
|
+ metalink: https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir
|
||||||
|
enabled: false
|
||||||
|
failovermethod: priority
|
||||||
|
gpgcheck: true
|
||||||
|
diff --git a/tests/unittests/config/test_cc_yum_add_repo.py b/tests/unittests/config/test_cc_yum_add_repo.py
|
||||||
|
index 1707860a..e6a9109e 100644
|
||||||
|
--- a/tests/unittests/config/test_cc_yum_add_repo.py
|
||||||
|
+++ b/tests/unittests/config/test_cc_yum_add_repo.py
|
||||||
|
@@ -31,6 +31,7 @@ class TestConfig(helpers.FilesystemMockingTestCase):
|
||||||
|
"yum_repos": {
|
||||||
|
"epel-testing": {
|
||||||
|
"name": "Extra Packages for Enterprise Linux 5 - Testing",
|
||||||
|
+ # At least one of baseurl or metalink must be present.
|
||||||
|
# Missing this should cause the repo not to be written
|
||||||
|
# 'baseurl': 'http://blah.org/pub/epel/testing/5/$barch',
|
||||||
|
"enabled": False,
|
||||||
|
@@ -46,6 +47,43 @@ class TestConfig(helpers.FilesystemMockingTestCase):
|
||||||
|
IOError, util.load_text_file, "/etc/yum.repos.d/epel_testing.repo"
|
||||||
|
)
|
||||||
|
|
||||||
|
+ def test_metalink_config(self):
|
||||||
|
+ cfg = {
|
||||||
|
+ "yum_repos": {
|
||||||
|
+ "epel-testing": {
|
||||||
|
+ "name": "Extra Packages for Enterprise Linux 5 - Testing",
|
||||||
|
+ "metalink": "http://blah.org/pub/epel/testing/5/$basearch",
|
||||||
|
+ "enabled": False,
|
||||||
|
+ "gpgcheck": True,
|
||||||
|
+ "gpgkey": "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL",
|
||||||
|
+ "failovermethod": "priority",
|
||||||
|
+ },
|
||||||
|
+ },
|
||||||
|
+ }
|
||||||
|
+ self.patchUtils(self.tmp)
|
||||||
|
+ self.patchOS(self.tmp)
|
||||||
|
+ cc_yum_add_repo.handle("yum_add_repo", cfg, None, [])
|
||||||
|
+ contents = util.load_text_file("/etc/yum.repos.d/epel-testing.repo")
|
||||||
|
+ parser = configparser.ConfigParser()
|
||||||
|
+ parser.read_string(contents)
|
||||||
|
+ expected = {
|
||||||
|
+ "epel-testing": {
|
||||||
|
+ "name": "Extra Packages for Enterprise Linux 5 - Testing",
|
||||||
|
+ "failovermethod": "priority",
|
||||||
|
+ "gpgkey": "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL",
|
||||||
|
+ "enabled": "0",
|
||||||
|
+ "metalink": "http://blah.org/pub/epel/testing/5/$basearch",
|
||||||
|
+ "gpgcheck": "1",
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ for section in expected:
|
||||||
|
+ self.assertTrue(
|
||||||
|
+ parser.has_section(section),
|
||||||
|
+ "Contains section {0}".format(section),
|
||||||
|
+ )
|
||||||
|
+ for k, v in expected[section].items():
|
||||||
|
+ self.assertEqual(parser.get(section, k), v)
|
||||||
|
+
|
||||||
|
def test_write_config(self):
|
||||||
|
cfg = {
|
||||||
|
"yum_repos": {
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
185
ci-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-IPv6-ad.patch
Normal file
185
ci-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-IPv6-ad.patch
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
From e1f1152cd883988f3b5cb7552b11c883e8e423f1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: PengpengSun <40026211+PengpengSun@users.noreply.github.com>
|
||||||
|
Date: Thu, 4 Jul 2024 04:06:39 +0800
|
||||||
|
Subject: [PATCH 2/2] fix(vmware): Set IPv6 to dhcp when there is no IPv6 addr
|
||||||
|
(#5471)
|
||||||
|
|
||||||
|
RH-Author: xiachen <xiachen@redhat.com>
|
||||||
|
RH-MergeRequest: 98: fix(vmware): Set IPv6 to dhcp when there is no IPv6 addr (#5471)
|
||||||
|
RH-Jira: RHEL-35562
|
||||||
|
RH-Acked-by: Ani Sinha <anisinha@redhat.com>
|
||||||
|
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||||
|
RH-Commit: [1/1] 5b64e6ce3df0aebbadfcbc00cf7d768408aac6cf (xiachen/cloud-init-centos)
|
||||||
|
|
||||||
|
When there is no IPv6 addr given in the customization configuration,
|
||||||
|
we shall set IPv6 type to dhcp6, then customized Linux network will be
|
||||||
|
set to dhcp IPv6 explicitly.
|
||||||
|
|
||||||
|
(cherry picked from commit 2b6fe6403db769de14f7c7b7e4aa65f5bea8f3e0)
|
||||||
|
---
|
||||||
|
.../sources/helpers/vmware/imc/config_nic.py | 2 +-
|
||||||
|
.../sources/vmware/test_vmware_config_file.py | 68 ++++++++++++++-----
|
||||||
|
2 files changed, 52 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/cloudinit/sources/helpers/vmware/imc/config_nic.py b/cloudinit/sources/helpers/vmware/imc/config_nic.py
|
||||||
|
index b07214a2..254518af 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 ([], [])
|
||||||
|
+ return ([{"type": "dhcp6"}], [])
|
||||||
|
|
||||||
|
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 fd4bb481..c1415934 100644
|
||||||
|
--- a/tests/unittests/sources/vmware/test_vmware_config_file.py
|
||||||
|
+++ b/tests/unittests/sources/vmware/test_vmware_config_file.py
|
||||||
|
@@ -241,27 +241,45 @@ 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(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")
|
||||||
|
+ 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"
|
||||||
|
+ )
|
||||||
|
|
||||||
|
+ # 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(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")
|
||||||
|
+ 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"
|
||||||
|
+ )
|
||||||
|
|
||||||
|
def test_get_nics_list_static(self):
|
||||||
|
"""Tests if NicConfigurator properly calculates network subnets
|
||||||
|
@@ -286,6 +304,7 @@ 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(
|
||||||
|
@@ -345,6 +364,7 @@ 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(
|
||||||
|
@@ -352,16 +372,18 @@ class TestVmwareConfigFile(CiTestCase):
|
||||||
|
)
|
||||||
|
|
||||||
|
subnets = nic2.get("subnets")
|
||||||
|
- self.assertEqual(1, len(subnets), "Number of subnets for NIC2")
|
||||||
|
+ self.assertEqual(2, len(subnets), "Number of subnets for NIC2")
|
||||||
|
|
||||||
|
- subnet = subnets[0]
|
||||||
|
- self.assertEqual("static", subnet.get("type"), "Subnet type")
|
||||||
|
+ subnet_ipv4 = subnets[0]
|
||||||
|
+ self.assertEqual("static", subnet_ipv4.get("type"), "Subnet type")
|
||||||
|
self.assertEqual(
|
||||||
|
- "192.168.6.102", subnet.get("address"), "Subnet address"
|
||||||
|
+ "192.168.6.102", subnet_ipv4.get("address"), "Subnet address"
|
||||||
|
)
|
||||||
|
self.assertEqual(
|
||||||
|
- "255.255.0.0", subnet.get("netmask"), "Subnet netmask"
|
||||||
|
+ "255.255.0.0", subnet_ipv4.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")
|
||||||
|
@@ -448,7 +470,10 @@ class TestVmwareNetConfig(CiTestCase):
|
||||||
|
"type": "static",
|
||||||
|
"address": "10.20.87.154",
|
||||||
|
"netmask": "255.255.252.0",
|
||||||
|
- }
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "type": "dhcp6",
|
||||||
|
+ },
|
||||||
|
],
|
||||||
|
}
|
||||||
|
],
|
||||||
|
@@ -499,7 +524,10 @@ class TestVmwareNetConfig(CiTestCase):
|
||||||
|
"metric": 10000,
|
||||||
|
}
|
||||||
|
],
|
||||||
|
- }
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "type": "dhcp6",
|
||||||
|
+ },
|
||||||
|
],
|
||||||
|
}
|
||||||
|
],
|
||||||
|
@@ -559,7 +587,10 @@ class TestVmwareNetConfig(CiTestCase):
|
||||||
|
"metric": 10000,
|
||||||
|
}
|
||||||
|
],
|
||||||
|
- }
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "type": "dhcp6",
|
||||||
|
+ },
|
||||||
|
],
|
||||||
|
}
|
||||||
|
],
|
||||||
|
@@ -604,7 +635,10 @@ class TestVmwareNetConfig(CiTestCase):
|
||||||
|
"address": "10.20.87.154",
|
||||||
|
"netmask": "255.255.252.0",
|
||||||
|
"gateway": "10.20.87.253",
|
||||||
|
- }
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "type": "dhcp6",
|
||||||
|
+ },
|
||||||
|
],
|
||||||
|
}
|
||||||
|
],
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
Name: cloud-init
|
Name: cloud-init
|
||||||
Version: 24.1.4
|
Version: 24.1.4
|
||||||
Release: 11%{?dist}
|
Release: 12%{?dist}
|
||||||
Summary: Cloud instance init scripts
|
Summary: Cloud instance init scripts
|
||||||
License: Apache-2.0 OR GPL-3.0-only
|
License: Apache-2.0 OR GPL-3.0-only
|
||||||
URL: https://github.com/canonical/cloud-init
|
URL: https://github.com/canonical/cloud-init
|
||||||
@ -39,6 +39,10 @@ Patch14: ci-Deprecate-the-users-ssh-authorized-keys-property-516.patch
|
|||||||
Patch15: ci-docs-Add-deprecated-system_info-to-schema-5168.patch
|
Patch15: ci-docs-Add-deprecated-system_info-to-schema-5168.patch
|
||||||
# For RHEL-45263 - Deprecate the users ssh-authorized-keys property and permit deprecated hyphenated keys under users key [rhel-10]
|
# For RHEL-45263 - Deprecate the users ssh-authorized-keys property and permit deprecated hyphenated keys under users key [rhel-10]
|
||||||
Patch16: ci-fix-schema-permit-deprecated-hyphenated-keys-under-u.patch
|
Patch16: ci-fix-schema-permit-deprecated-hyphenated-keys-under-u.patch
|
||||||
|
# For RHEL-44918 - [RFE] Support metalink in yum repository config [rhel-10]
|
||||||
|
Patch17: ci-Support-metalink-in-yum-repository-config-5444.patch
|
||||||
|
# For RHEL-35562 - [RHEL-10] It leaves the ipv6 networking config as blank in NM keyfile when config dhcp ipv6 with customization spec
|
||||||
|
Patch18: ci-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-IPv6-ad.patch
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
@ -131,6 +135,7 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/cloud
|
|||||||
|
|
||||||
# /run/cloud-init needs a tmpfiles.d entry
|
# /run/cloud-init needs a tmpfiles.d entry
|
||||||
mkdir -p $RPM_BUILD_ROOT/run/cloud-init
|
mkdir -p $RPM_BUILD_ROOT/run/cloud-init
|
||||||
|
chmod 700 $RPM_BUILD_ROOT/run/cloud-init
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_tmpfilesdir}
|
mkdir -p $RPM_BUILD_ROOT/%{_tmpfilesdir}
|
||||||
cp -p %{SOURCE1} $RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}.conf
|
cp -p %{SOURCE1} $RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}.conf
|
||||||
|
|
||||||
@ -250,6 +255,14 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 08 2024 Miroslav Rezanina <mrezanin@redhat.com> - 24.1.4-12
|
||||||
|
- ci-Support-metalink-in-yum-repository-config-5444.patch [RHEL-44918]
|
||||||
|
- ci-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-IPv6-ad.patch [RHEL-35562]
|
||||||
|
- Resolves: RHEL-44918
|
||||||
|
([RFE] Support metalink in yum repository config [rhel-10])
|
||||||
|
- Resolves: RHEL-35562
|
||||||
|
([RHEL-10] It leaves the ipv6 networking config as blank in NM keyfile when config dhcp ipv6 with customization spec)
|
||||||
|
|
||||||
* Mon Jul 01 2024 Miroslav Rezanina <mrezanin@redhat.com> - 24.1.4-11
|
* Mon Jul 01 2024 Miroslav Rezanina <mrezanin@redhat.com> - 24.1.4-11
|
||||||
- ci-Deprecate-the-users-ssh-authorized-keys-property-516.patch [RHEL-45263]
|
- ci-Deprecate-the-users-ssh-authorized-keys-property-516.patch [RHEL-45263]
|
||||||
- ci-docs-Add-deprecated-system_info-to-schema-5168.patch [RHEL-45263]
|
- ci-docs-Add-deprecated-system_info-to-schema-5168.patch [RHEL-45263]
|
||||||
|
Loading…
Reference in New Issue
Block a user