0031-Improvements-for-AlmaLinux-OS-and-CloudLinux-OS.patch
This commit is contained in:
commit
7f8a9265e6
SOURCES
ci-Fix-import-error-for-passlib-on-Python-3.13.patchci-Fix-metric-setting-for-ifcfg-network-connections-for.patchci-Prevent-NM-from-handling-DNS-when-network-interfaces.patchci-fix-Render-bridges-correctly-for-v2-on-sysconfig-wit.patchci-fix-Render-v2-bridges-correctly-on-network-manager-w.patchci-fix-nocloud-smbios-datasource-definition.patchci-fix-python3.13-Fix-import-error-for-passlib-on-Pytho.patchci-refactor-Ensure-internal-DNS-state-same-for-v1-and-v.patch
SPECS
@ -1,23 +0,0 @@
|
||||
From 09b70436b3a0aae1fe24fdde6e8cdd7ee98d9c15 Mon Sep 17 00:00:00 2001
|
||||
From: Brett Holman <brett.holman@canonical.com>
|
||||
Date: Tue, 5 Dec 2023 16:40:03 -0700
|
||||
Subject: [PATCH] fix(python3.13): Fix import error for passlib on Python 3.13
|
||||
(#4669)
|
||||
|
||||
---
|
||||
cloudinit/sources/DataSourceAzure.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cloudinit/sources/DataSourceAzure.py b/cloudinit/sources/DataSourceAzure.py
|
||||
index 11c14e2001f..4c5780f767d 100644
|
||||
--- a/cloudinit/sources/DataSourceAzure.py
|
||||
+++ b/cloudinit/sources/DataSourceAzure.py
|
||||
@@ -58,7 +58,7 @@
|
||||
)
|
||||
except (ImportError, AttributeError):
|
||||
try:
|
||||
- import passlib
|
||||
+ import passlib.hash
|
||||
|
||||
blowfish_hash = passlib.hash.sha512_crypt.hash
|
||||
except ImportError:
|
@ -1,15 +1,14 @@
|
||||
From 2da948152c4b7b2f30dc6189d0072f7562df1ad5 Mon Sep 17 00:00:00 2001
|
||||
From 94c0cd9c656877250f7e5cfe05325a42bbdec182 Mon Sep 17 00:00:00 2001
|
||||
From: Ani Sinha <anisinha@redhat.com>
|
||||
Date: Fri, 4 Oct 2024 02:38:23 +0530
|
||||
Subject: [PATCH 1/3] Fix metric setting for ifcfg network connections for rhel
|
||||
Subject: [PATCH 1/2] Fix metric setting for ifcfg network connections for rhel
|
||||
(#5777)
|
||||
|
||||
RH-Author: xiachen <xiachen@redhat.com>
|
||||
RH-MergeRequest: 112: Fix metric setting for ifcfg network connections for rhel (#5777)
|
||||
RH-Jira: RHEL-65016
|
||||
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||
RH-MergeRequest: 145: Fix metric setting for ifcfg network connections for rhel (#5777)
|
||||
RH-Jira: RHEL-65018
|
||||
RH-Acked-by: Ani Sinha <anisinha@redhat.com>
|
||||
RH-Commit: [1/1] ee573dfb2dccc59f2c9b74ca3f95026f96c49998 (xiachen/cloud-init-centos)
|
||||
RH-Commit: [1/2] a18205f1ffa455a2ccd836ba6baa12b7da0afbde (xiachen/cloud-init)
|
||||
|
||||
Most RHEL systems use Network manager to bring up manage network connections.
|
||||
Network manager does not recognize "METRIC" option for network connections.
|
||||
@ -31,7 +30,7 @@ Signed-off-by: Amy Chen <xiachen@redhat.com>
|
||||
2 files changed, 38 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py
|
||||
index 32ee7901..503b6993 100644
|
||||
index 7eb430ed1..b50a6a8a0 100644
|
||||
--- a/cloudinit/net/sysconfig.py
|
||||
+++ b/cloudinit/net/sysconfig.py
|
||||
@@ -205,7 +205,7 @@ class Route(ConfigMap):
|
||||
@ -77,7 +76,7 @@ index 32ee7901..503b6993 100644
|
||||
else:
|
||||
# add default routes only to ifcfg files, not
|
||||
diff --git a/tests/unittests/test_net.py b/tests/unittests/test_net.py
|
||||
index de149f5e..00198232 100644
|
||||
index 2d716f4b5..4673e4eaf 100644
|
||||
--- a/tests/unittests/test_net.py
|
||||
+++ b/tests/unittests/test_net.py
|
||||
@@ -1345,7 +1345,7 @@ NETWORK_CONFIGS = {
|
||||
@ -89,7 +88,7 @@ index de149f5e..00198232 100644
|
||||
ONBOOT=yes
|
||||
TYPE=Ethernet
|
||||
USERCTL=no"""
|
||||
@@ -1519,7 +1519,7 @@ NETWORK_CONFIGS = {
|
||||
@@ -1521,7 +1521,7 @@ NETWORK_CONFIGS = {
|
||||
HWADDR=c0:d6:9f:2c:e8:80
|
||||
IPADDR=192.168.21.3
|
||||
NETMASK=255.255.255.0
|
||||
@ -98,7 +97,7 @@ index de149f5e..00198232 100644
|
||||
ONBOOT=yes
|
||||
TYPE=Ethernet
|
||||
USERCTL=no"""
|
||||
@@ -6072,24 +6072,27 @@ USERCTL=no
|
||||
@@ -5725,24 +5725,27 @@ USERCTL=no
|
||||
}
|
||||
},
|
||||
}
|
||||
|
@ -1,15 +1,15 @@
|
||||
From ab36aacfb2f98d865d9e03df81f9102b04d307dd Mon Sep 17 00:00:00 2001
|
||||
From 038a391b7016f16a7336d67965762a7dbf3ba662 Mon Sep 17 00:00:00 2001
|
||||
From: Ani Sinha <anisinha@redhat.com>
|
||||
Date: Tue, 5 Nov 2024 04:07:36 +0530
|
||||
Subject: [PATCH] Prevent NM from handling DNS when network interfaces have DNS
|
||||
config (#5846)
|
||||
|
||||
RH-Author: Ani Sinha <anisinha@redhat.com>
|
||||
RH-MergeRequest: 117: Prevent NM from handling DNS when network interfaces have DNS config (#5846)
|
||||
RH-Jira: RHEL-65769
|
||||
RH-MergeRequest: 150: Prevent NM from handling DNS when network interfaces have DNS config (#5846)
|
||||
RH-Jira: RHEL-65778
|
||||
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||
RH-Commit: [1/1] cc175ec567ba5500f2a69d7943e8d5ee5c3822c8 (anisinha/cloud-init)
|
||||
RH-Commit: [1/1] b464ef219eba1a0c718dda5ed96b6f88e1273f99
|
||||
|
||||
In the change under PR #5401, we use global DNS configuration as well as
|
||||
DNS and search domain information from interface config and use it to populate
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Ani Sinha <anisinha@redhat.com>
|
||||
2 files changed, 181 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py
|
||||
index 96652e15..363d052a 100644
|
||||
index e4a65187f..4898a2fd1 100644
|
||||
--- a/cloudinit/net/sysconfig.py
|
||||
+++ b/cloudinit/net/sysconfig.py
|
||||
@@ -905,17 +905,35 @@ class Renderer(renderer.Renderer):
|
||||
@ -75,7 +75,7 @@ index 96652e15..363d052a 100644
|
||||
|
||||
if len(content) == 0:
|
||||
diff --git a/tests/unittests/test_net.py b/tests/unittests/test_net.py
|
||||
index 8a75c42b..215807ba 100644
|
||||
index ddb45dc69..47b36d052 100644
|
||||
--- a/tests/unittests/test_net.py
|
||||
+++ b/tests/unittests/test_net.py
|
||||
@@ -967,6 +967,164 @@ dns = none
|
||||
|
@ -1,15 +1,15 @@
|
||||
From 60eca5a45a35982f42db58dd0d6d53bd2587e477 Mon Sep 17 00:00:00 2001
|
||||
From 1df31428c87f08c790c300ba402318378cea8d65 Mon Sep 17 00:00:00 2001
|
||||
From: James Falcon <james.falcon@canonical.com>
|
||||
Date: Thu, 10 Oct 2024 23:19:28 -0500
|
||||
Subject: [PATCH 2/3] fix: Render bridges correctly for v2 on sysconfig with
|
||||
Subject: [PATCH 1/2] fix: Render bridges correctly for v2 on sysconfig with
|
||||
set-name (#5674)
|
||||
|
||||
RH-Author: xiachen <xiachen@redhat.com>
|
||||
RH-MergeRequest: 114: fix: Render bridges correctly for v2 on sysconfig with set-name (#5674)
|
||||
RH-Jira: RHEL-65019
|
||||
RH-MergeRequest: 147: fix: Render bridges correctly for v2 on sysconfig with set-name (#5674)
|
||||
RH-Jira: RHEL-65021
|
||||
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||
RH-Acked-by: Ani Sinha <anisinha@redhat.com>
|
||||
RH-Commit: [1/2] 4171be9d48c4c4f7b8aa8d231cea8591daec9c93 (xiachen/cloud-init-centos)
|
||||
RH-Commit: [1/2] 7f7fce173ee9a3ba719fc36580fbce813c5bfbd0 (xiachen/cloud-init)
|
||||
|
||||
When listing interfaces in v2 format, we should expect to be able to
|
||||
reference other interfaces using the name in the configuration, not
|
||||
@ -31,7 +31,7 @@ Signed-off-by: Amy Chen <xiachen@redhat.com>
|
||||
4 files changed, 128 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/cloudinit/net/eni.py b/cloudinit/net/eni.py
|
||||
index 59dc395f..fa0b47af 100644
|
||||
index 486fa22dc..ac0306d6a 100644
|
||||
--- a/cloudinit/net/eni.py
|
||||
+++ b/cloudinit/net/eni.py
|
||||
@@ -5,6 +5,7 @@ import glob
|
||||
@ -55,7 +55,7 @@ index 59dc395f..fa0b47af 100644
|
||||
subnets = iface.get("subnets", {})
|
||||
accept_ra = iface.pop("accept-ra", None)
|
||||
diff --git a/cloudinit/net/network_state.py b/cloudinit/net/network_state.py
|
||||
index 9f34467b..fb08491f 100644
|
||||
index 14c57cdcc..226421bd0 100644
|
||||
--- a/cloudinit/net/network_state.py
|
||||
+++ b/cloudinit/net/network_state.py
|
||||
@@ -411,6 +411,7 @@ class NetworkStateInterpreter:
|
||||
@ -120,7 +120,7 @@ index 9f34467b..fb08491f 100644
|
||||
|
||||
def _handle_bond_bridge(self, command, cmd_type=None):
|
||||
diff --git a/cloudinit/net/sysconfig.py b/cloudinit/net/sysconfig.py
|
||||
index 503b6993..96652e15 100644
|
||||
index b50a6a8a0..e4a65187f 100644
|
||||
--- a/cloudinit/net/sysconfig.py
|
||||
+++ b/cloudinit/net/sysconfig.py
|
||||
@@ -6,7 +6,7 @@ import io
|
||||
@ -141,7 +141,7 @@ index 503b6993..96652e15 100644
|
||||
iface_subnets = iface.get("subnets", [])
|
||||
iface_cfg = iface_contents[iface_name]
|
||||
route_cfg = iface_cfg.routes
|
||||
@@ -926,7 +926,9 @@ class Renderer(renderer.Renderer):
|
||||
@@ -924,7 +924,9 @@ class Renderer(renderer.Renderer):
|
||||
return out
|
||||
|
||||
@classmethod
|
||||
@ -152,7 +152,7 @@ index 503b6993..96652e15 100644
|
||||
bridge_key_map = {
|
||||
old_k: new_k
|
||||
for old_k, new_k in cls.cfg_key_maps[flavor].items()
|
||||
@@ -1007,23 +1009,29 @@ class Renderer(renderer.Renderer):
|
||||
@@ -1005,23 +1007,29 @@ class Renderer(renderer.Renderer):
|
||||
|
||||
@classmethod
|
||||
def _render_sysconfig(
|
||||
@ -188,7 +188,7 @@ index 503b6993..96652e15 100644
|
||||
cls._render_bond_interfaces(network_state, iface_contents, flavor)
|
||||
cls._render_vlan_interfaces(network_state, iface_contents, flavor)
|
||||
diff --git a/tests/unittests/test_net.py b/tests/unittests/test_net.py
|
||||
index 00198232..41e6fa56 100644
|
||||
index 4673e4eaf..004da81ab 100644
|
||||
--- a/tests/unittests/test_net.py
|
||||
+++ b/tests/unittests/test_net.py
|
||||
@@ -4489,6 +4489,95 @@ iface bond0 inet6 static
|
||||
|
@ -1,15 +1,15 @@
|
||||
From 59079c817ead856135ce40698f4d350a425cd65e Mon Sep 17 00:00:00 2001
|
||||
From 58904df7d689df6e3d1d4ddf47b5cb5a267006da Mon Sep 17 00:00:00 2001
|
||||
From: James Falcon <james.falcon@canonical.com>
|
||||
Date: Fri, 11 Oct 2024 13:58:19 -0500
|
||||
Subject: [PATCH 3/3] fix: Render v2 bridges correctly on network-manager with
|
||||
Subject: [PATCH 2/2] fix: Render v2 bridges correctly on network-manager with
|
||||
set-name (#5740)
|
||||
|
||||
RH-Author: xiachen <xiachen@redhat.com>
|
||||
RH-MergeRequest: 114: fix: Render bridges correctly for v2 on sysconfig with set-name (#5674)
|
||||
RH-Jira: RHEL-65019
|
||||
RH-MergeRequest: 147: fix: Render bridges correctly for v2 on sysconfig with set-name (#5674)
|
||||
RH-Jira: RHEL-65021
|
||||
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||
RH-Acked-by: Ani Sinha <anisinha@redhat.com>
|
||||
RH-Commit: [2/2] a33642f97a8e5cb3816f17ce726187aa33825362 (xiachen/cloud-init-centos)
|
||||
RH-Commit: [2/2] e101d8ff06a379752958a3eb19d209bcb7d1e0ed (xiachen/cloud-init)
|
||||
|
||||
Similar to the recent sysconfig fix, ensure bridges render correctly
|
||||
for configs that contain `set-name`.
|
||||
@ -24,7 +24,7 @@ Signed-off-by: Amy Chen <xiachen@redhat.com>
|
||||
2 files changed, 98 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cloudinit/net/network_manager.py b/cloudinit/net/network_manager.py
|
||||
index a13d4c14..67614399 100644
|
||||
index 0ba210b74..f50fafa39 100644
|
||||
--- a/cloudinit/net/network_manager.py
|
||||
+++ b/cloudinit/net/network_manager.py
|
||||
@@ -464,11 +464,13 @@ class Renderer(renderer.Renderer):
|
||||
@ -44,7 +44,7 @@ index a13d4c14..67614399 100644
|
||||
|
||||
# And finally write the files
|
||||
diff --git a/tests/unittests/test_net.py b/tests/unittests/test_net.py
|
||||
index 41e6fa56..8a75c42b 100644
|
||||
index 004da81ab..ddb45dc69 100644
|
||||
--- a/tests/unittests/test_net.py
|
||||
+++ b/tests/unittests/test_net.py
|
||||
@@ -4577,6 +4577,94 @@ iface bond0 inet6 static
|
||||
|
103
SOURCES/ci-fix-nocloud-smbios-datasource-definition.patch
Normal file
103
SOURCES/ci-fix-nocloud-smbios-datasource-definition.patch
Normal file
@ -0,0 +1,103 @@
|
||||
From 75e658591f6187f73eb0baa3291bde01db62cc5e Mon Sep 17 00:00:00 2001
|
||||
From: Brett Holman <brett.holman@canonical.com>
|
||||
Date: Fri, 23 Feb 2024 11:16:15 -0700
|
||||
Subject: [PATCH] fix(nocloud): smbios datasource definition
|
||||
|
||||
RH-Author: Ani Sinha <anisinha@redhat.com>
|
||||
RH-MergeRequest: 154: fix(nocloud): smbios datasource definition
|
||||
RH-Jira: RHEL-79774
|
||||
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||
RH-Acked-by: Jon Maloy <jmaloy@redhat.com>
|
||||
RH-Commit: [1/1] 3ce501f6167ffafcb6dea7df37589d348039a371
|
||||
|
||||
deprecate nocloud-net name
|
||||
|
||||
(cherry picked from commit 66b5ce9d5f94c0c6625972fdfdca3796d365b069)
|
||||
---
|
||||
cloudinit/sources/DataSourceNoCloud.py | 39 ++++++++++++++++++++++----
|
||||
cloudinit/sources/__init__.py | 11 +++++---
|
||||
2 files changed, 41 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/cloudinit/sources/DataSourceNoCloud.py b/cloudinit/sources/DataSourceNoCloud.py
|
||||
index 55a16638..7581f0a5 100644
|
||||
--- a/cloudinit/sources/DataSourceNoCloud.py
|
||||
+++ b/cloudinit/sources/DataSourceNoCloud.py
|
||||
@@ -11,6 +11,7 @@
|
||||
import errno
|
||||
import logging
|
||||
import os
|
||||
+from functools import partial
|
||||
|
||||
from cloudinit import dmi, sources, util
|
||||
from cloudinit.net import eni
|
||||
@@ -368,12 +369,40 @@ class DataSourceNoCloudNet(DataSourceNoCloud):
|
||||
self.supported_seed_starts = ("http://", "https://")
|
||||
|
||||
def ds_detect(self):
|
||||
- """NoCloud requires "nocloud-net" as the way to specify
|
||||
- seeding from an http(s) address. This diverges from all other
|
||||
- datasources in that it does a kernel commandline match on something
|
||||
- other than the datasource dsname for only DEP_NETWORK.
|
||||
+ """Check dmi and kernel commandline for dsname
|
||||
+
|
||||
+ NoCloud historically used "nocloud-net" as its dsname
|
||||
+ for network timeframe (DEP_NETWORK), which supports http(s) urls.
|
||||
+ For backwards compatiblity, check for that dsname.
|
||||
"""
|
||||
- return "nocloud-net" == sources.parse_cmdline()
|
||||
+ log_deprecated = partial(
|
||||
+ util.deprecate,
|
||||
+ deprecated="The 'nocloud-net' datasource name",
|
||||
+ deprecated_version="24.1",
|
||||
+ extra_message=(
|
||||
+ "Use 'nocloud' instead, which uses the seedfrom protocol"
|
||||
+ "scheme (http// or file://) to decide how to run."
|
||||
+ ),
|
||||
+ )
|
||||
+
|
||||
+ if "nocloud-net" == sources.parse_cmdline():
|
||||
+ log_deprecated()
|
||||
+ return True
|
||||
+
|
||||
+ serial = sources.parse_cmdline_or_dmi(
|
||||
+ dmi.read_dmi_data("system-serial-number") or ""
|
||||
+ ).lower()
|
||||
+
|
||||
+ if serial in (self.dsname.lower(), "nocloud-net"):
|
||||
+ LOG.debug(
|
||||
+ "Machine is configured by dmi serial number to run on "
|
||||
+ "single datasource %s.",
|
||||
+ self,
|
||||
+ )
|
||||
+ if serial == "nocloud-net":
|
||||
+ log_deprecated()
|
||||
+ return True
|
||||
+ return False
|
||||
|
||||
|
||||
# Used to match classes to dependencies
|
||||
diff --git a/cloudinit/sources/__init__.py b/cloudinit/sources/__init__.py
|
||||
index 453801be..e89af3d0 100644
|
||||
--- a/cloudinit/sources/__init__.py
|
||||
+++ b/cloudinit/sources/__init__.py
|
||||
@@ -1198,10 +1198,13 @@ def parse_cmdline() -> str:
|
||||
"""Check if command line argument for this datasource was passed
|
||||
Passing by command line overrides runtime datasource detection
|
||||
"""
|
||||
- cmdline = util.get_cmdline()
|
||||
- ds_parse_0 = re.search(r"ds=([^\s;]+)", cmdline)
|
||||
- ds_parse_1 = re.search(r"ci\.ds=([^\s;]+)", cmdline)
|
||||
- ds_parse_2 = re.search(r"ci\.datasource=([^\s;]+)", cmdline)
|
||||
+ return parse_cmdline_or_dmi(util.get_cmdline())
|
||||
+
|
||||
+
|
||||
+def parse_cmdline_or_dmi(input: str) -> str:
|
||||
+ ds_parse_0 = re.search(r"(?:^|\s)ds=([^\s;]+)", input)
|
||||
+ ds_parse_1 = re.search(r"(?:^|\s)ci\.ds=([^\s;]+)", input)
|
||||
+ ds_parse_2 = re.search(r"(?:^|\s)ci\.datasource=([^\s;]+)", input)
|
||||
ds = ds_parse_0 or ds_parse_1 or ds_parse_2
|
||||
deprecated = ds_parse_1 or ds_parse_2
|
||||
if deprecated:
|
||||
--
|
||||
2.48.1
|
||||
|
@ -0,0 +1,34 @@
|
||||
From e6e7c274235d924fde752b228f68ec5773e39029 Mon Sep 17 00:00:00 2001
|
||||
From: Brett Holman <brett.holman@canonical.com>
|
||||
Date: Tue, 5 Dec 2023 16:40:03 -0700
|
||||
Subject: [PATCH 2/2] fix(python3.13): Fix import error for passlib on Python
|
||||
3.13 (#4669)
|
||||
|
||||
RH-Author: xiachen <xiachen@redhat.com>
|
||||
RH-MergeRequest: 145: Fix metric setting for ifcfg network connections for rhel (#5777)
|
||||
RH-Jira: RHEL-65018
|
||||
RH-Acked-by: Ani Sinha <anisinha@redhat.com>
|
||||
RH-Commit: [2/2] 226ae26a9f903774cb36f8f72b89071ba4545a66 (xiachen/cloud-init)
|
||||
|
||||
(cherry picked from commit 09b70436b3a0aae1fe24fdde6e8cdd7ee98d9c15)
|
||||
Signed-off-by: Amy Chen <xiachen@redhat.com>
|
||||
---
|
||||
cloudinit/sources/DataSourceAzure.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cloudinit/sources/DataSourceAzure.py b/cloudinit/sources/DataSourceAzure.py
|
||||
index eb0304c3d..939210100 100644
|
||||
--- a/cloudinit/sources/DataSourceAzure.py
|
||||
+++ b/cloudinit/sources/DataSourceAzure.py
|
||||
@@ -58,7 +58,7 @@ try:
|
||||
)
|
||||
except (ImportError, AttributeError):
|
||||
try:
|
||||
- import passlib
|
||||
+ import passlib.hash
|
||||
|
||||
blowfish_hash = passlib.hash.sha512_crypt.hash
|
||||
except ImportError:
|
||||
--
|
||||
2.39.3
|
||||
|
@ -1,15 +1,25 @@
|
||||
From 436e6f5ce3fbb8b391a2158538873644058904e6 Mon Sep 17 00:00:00 2001
|
||||
From 9a3c16dc89d2813c90df2e57e71ae5df704083be Mon Sep 17 00:00:00 2001
|
||||
From: James Falcon <james.falcon@canonical.com>
|
||||
Date: Tue, 9 Jan 2024 10:32:12 -0600
|
||||
Subject: [PATCH] refactor: Ensure internal DNS state same for v1 and v2
|
||||
(#4756)
|
||||
|
||||
RH-Author: Ani Sinha <anisinha@redhat.com>
|
||||
RH-MergeRequest: 152: refactor: Ensure internal DNS state same for v1 and v2 (#4756)
|
||||
RH-Jira: RHEL-68409
|
||||
RH-Acked-by: xiachen <xiachen@redhat.com>
|
||||
RH-Acked-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
|
||||
RH-Commit: [1/1] f006996f7b418103ffaf73ff9ded5b5d149bedf6
|
||||
|
||||
When defining interface-level DNS on the network state, v1 uses the
|
||||
"nameservers" key whereas v2 was using an "addresses" key.
|
||||
This commit updates the v2 parsing to set the key as "nameservers".
|
||||
|
||||
Also update networkd renderer as this was only renderer using the v2
|
||||
"addresses" key.
|
||||
|
||||
(cherry picked from commit 436e6f5ce3fbb8b391a2158538873644058904e6)
|
||||
Signed-off-by: Ani Sinha <anisinha@redhat.com>
|
||||
---
|
||||
cloudinit/net/network_state.py | 2 +-
|
||||
cloudinit/net/networkd.py | 13 ++++---------
|
||||
@ -17,7 +27,7 @@ Also update networkd renderer as this was only renderer using the v2
|
||||
3 files changed, 9 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/cloudinit/net/network_state.py b/cloudinit/net/network_state.py
|
||||
index b6851080bba..e35288b46de 100644
|
||||
index 226421bd0..82c3bf894 100644
|
||||
--- a/cloudinit/net/network_state.py
|
||||
+++ b/cloudinit/net/network_state.py
|
||||
@@ -336,7 +336,7 @@ class NetworkStateInterpreter:
|
||||
@ -30,7 +40,7 @@ index b6851080bba..e35288b46de 100644
|
||||
}
|
||||
|
||||
diff --git a/cloudinit/net/networkd.py b/cloudinit/net/networkd.py
|
||||
index 0978849c898..29f466eda54 100644
|
||||
index 0978849c8..29f466eda 100644
|
||||
--- a/cloudinit/net/networkd.py
|
||||
+++ b/cloudinit/net/networkd.py
|
||||
@@ -221,12 +221,6 @@ class Renderer(renderer.Renderer):
|
||||
@ -61,7 +71,7 @@ index 0978849c898..29f466eda54 100644
|
||||
def parse_dhcp_overrides(self, cfg: CfgParser, device, dhcp, version):
|
||||
dhcp_config_maps = {
|
||||
diff --git a/tests/unittests/net/test_network_state.py b/tests/unittests/net/test_network_state.py
|
||||
index 7d304ca3ad5..74a6bb34c88 100644
|
||||
index 7d304ca3a..74a6bb34c 100644
|
||||
--- a/tests/unittests/net/test_network_state.py
|
||||
+++ b/tests/unittests/net/test_network_state.py
|
||||
@@ -258,7 +258,10 @@ class TestNetworkStateParseNameservers:
|
||||
@ -76,3 +86,6 @@ index 7d304ca3ad5..74a6bb34c88 100644
|
||||
assert iface["dns"]["search"] == ["spam.local"]
|
||||
else:
|
||||
assert "dns" not in iface
|
||||
--
|
||||
2.39.3
|
||||
|
@ -1,85 +1,88 @@
|
||||
Name: cloud-init
|
||||
Version: 23.4
|
||||
Release: 19%{?dist}.4.alma.1
|
||||
Summary: Cloud instance init scripts
|
||||
License: ASL 2.0 or GPLv3
|
||||
URL: http://launchpad.net/cloud-init
|
||||
Source0: https://github.com/canonical/cloud-init/archive/refs/tags/%{version}.tar.gz
|
||||
Source1: cloud-init-tmpfiles.conf
|
||||
Name: cloud-init
|
||||
Version: 23.4
|
||||
Release: 19%{?dist}.5.alma.1
|
||||
Summary: Cloud instance init scripts
|
||||
License: ASL 2.0 or GPLv3
|
||||
URL: http://launchpad.net/cloud-init
|
||||
Source0: https://github.com/canonical/cloud-init/archive/refs/tags/%{version}.tar.gz
|
||||
Source1: cloud-init-tmpfiles.conf
|
||||
|
||||
# Source-git patches
|
||||
Patch1: 0001-Add-initial-redhat-changes.patch
|
||||
Patch2: 0002-Do-not-write-NM_CONTROLLED-no-in-generated-interface.patch
|
||||
Patch3: 0003-Setting-autoconnect-priority-setting-for-network-scr.patch
|
||||
Patch4: 0004-net-network_manager-do-not-set-may-fail-to-False-for.patch
|
||||
Patch5: 0005-net-allow-dhcp6-configuration-from-generate_fallback.patch
|
||||
Patch6: 0006-net-nm-check-for-presence-of-ifcfg-files-when-nm-con.patch
|
||||
Patch7: 0007-test-jsonschema-Pin-jsonschema-version-4781.patch
|
||||
Patch8: 0008-fix-clean-stop-warning-when-running-clean-command-47.patch
|
||||
Patch1: 0001-Add-initial-redhat-changes.patch
|
||||
Patch2: 0002-Do-not-write-NM_CONTROLLED-no-in-generated-interface.patch
|
||||
Patch3: 0003-Setting-autoconnect-priority-setting-for-network-scr.patch
|
||||
Patch4: 0004-net-network_manager-do-not-set-may-fail-to-False-for.patch
|
||||
Patch5: 0005-net-allow-dhcp6-configuration-from-generate_fallback.patch
|
||||
Patch6: 0006-net-nm-check-for-presence-of-ifcfg-files-when-nm-con.patch
|
||||
Patch7: 0007-test-jsonschema-Pin-jsonschema-version-4781.patch
|
||||
Patch8: 0008-fix-clean-stop-warning-when-running-clean-command-47.patch
|
||||
# For RHEL-22255 - [Azure][RHEL-9] cloud-init-23.4 cannot read "- Azure" datasource_list format
|
||||
Patch9: ci-Revert-Use-grep-for-faster-parsing-of-cloud-config-i.patch
|
||||
Patch10: ci-Pin-pythes-8.0.0.patch
|
||||
Patch9: ci-Revert-Use-grep-for-faster-parsing-of-cloud-config-i.patch
|
||||
Patch10: ci-Pin-pythes-8.0.0.patch
|
||||
# For RHEL-21324 - [rhel-9] The schema WARNING info for network-config.json is not suitable in cloud-init-23.4
|
||||
Patch11: ci-fix-Add-types-to-network-v1-schema-4841.patch
|
||||
Patch11: ci-fix-Add-types-to-network-v1-schema-4841.patch
|
||||
# For RHEL-28549 - [RHEL 9.4] cloud-init 23.4 returns 2 on recoverable errors instead of 0
|
||||
Patch12: ci-Retain-exit-code-in-cloud-init-status-for-recoverabl.patch
|
||||
Patch12: ci-Retain-exit-code-in-cloud-init-status-for-recoverabl.patch
|
||||
# For RHEL-20964 - [rhel-9]cloud-init fails to configure DNS/search domains for network-config v1
|
||||
Patch13: ci-fix-Correct-v2-NetworkManager-route-rendering-4637.patch
|
||||
Patch13: ci-fix-Correct-v2-NetworkManager-route-rendering-4637.patch
|
||||
# For RHEL-20964 - [rhel-9]cloud-init fails to configure DNS/search domains for network-config v1
|
||||
Patch14: ci-feat-apply-global-DNS-to-interfaces-in-network-manag.patch
|
||||
Patch14: ci-feat-apply-global-DNS-to-interfaces-in-network-manag.patch
|
||||
# For RHEL-29709 - Suggest to backport patch ff40d1a to undeprecate 'network' in schema route definition
|
||||
Patch15: ci-fix-Undeprecate-network-in-schema-route-definition-5.patch
|
||||
Patch15: ci-fix-Undeprecate-network-in-schema-route-definition-5.patch
|
||||
# For RHEL-32846 - [cloud-init][ESXi]VMware datasource resets on every boot causing it to lose network configuration [rhel-9]
|
||||
Patch16: ci-fix-Fall-back-to-cached-local-ds-if-no-valid-ds-foun.patch
|
||||
Patch16: ci-fix-Fall-back-to-cached-local-ds-if-no-valid-ds-foun.patch
|
||||
# For RHEL-36255 - [rhel-9.5] DataSourceNoCloudNet not configurable via config files
|
||||
Patch17: ci-fix-Always-use-single-datasource-if-specified-5098.patch
|
||||
Patch17: ci-fix-Always-use-single-datasource-if-specified-5098.patch
|
||||
# For RHEL-40217 - [Cloud-init] CloudstackDataSource cannot work with NetworkManager
|
||||
Patch18: ci-fix-cloudstack-Use-parsed-lease-file-for-virtual-rou.patch
|
||||
Patch18: ci-fix-cloudstack-Use-parsed-lease-file-for-virtual-rou.patch
|
||||
# For RHEL-17961 - [RHEL-9] cloud-init fails to configure DNS search domains
|
||||
Patch19: ci-feat-sysconfig-Add-DNS-from-interface-config-to-reso.patch
|
||||
Patch19: ci-feat-sysconfig-Add-DNS-from-interface-config-to-reso.patch
|
||||
# For RHEL-44337 - [rhel-9] fix `SUDO` configuration schema for users and groups
|
||||
Patch20: ci-fix-jsonschema-Add-missing-sudo-definition-5418.patch
|
||||
Patch20: ci-fix-jsonschema-Add-missing-sudo-definition-5418.patch
|
||||
# For RHEL-44337 - [rhel-9] fix `SUDO` configuration schema for users and groups
|
||||
Patch21: ci-doc-update-examples-to-reflect-alternative-ways-to-p.patch
|
||||
Patch21: ci-doc-update-examples-to-reflect-alternative-ways-to-p.patch
|
||||
# For RHEL-44598 - fix pylint error and support python 3.12
|
||||
Patch22: ci-fix-dhcp-Guard-against-FileNotFoundError-and-NameErr.patch
|
||||
Patch22: ci-fix-dhcp-Guard-against-FileNotFoundError-and-NameErr.patch
|
||||
# For RHEL-44598 - fix pylint error and support python 3.12
|
||||
Patch23: ci-fix-Address-TIOBE-abstract-interpretation-issues-486.patch
|
||||
Patch23: ci-fix-Address-TIOBE-abstract-interpretation-issues-486.patch
|
||||
# For RHEL-44598 - fix pylint error and support python 3.12
|
||||
Patch24: ci-Update-pylint-version-to-support-python-3.12-5338.patch
|
||||
Patch24: ci-Update-pylint-version-to-support-python-3.12-5338.patch
|
||||
# For RHEL-45262 - Deprecate the users ssh-authorized-keys property and permit deprecated hyphenated keys under users key
|
||||
Patch25: ci-Deprecate-the-users-ssh-authorized-keys-property-516.patch
|
||||
Patch25: ci-Deprecate-the-users-ssh-authorized-keys-property-516.patch
|
||||
# For RHEL-45262 - Deprecate the users ssh-authorized-keys property and permit deprecated hyphenated keys under users key
|
||||
Patch26: ci-docs-Add-deprecated-system_info-to-schema-5168.patch
|
||||
Patch26: ci-docs-Add-deprecated-system_info-to-schema-5168.patch
|
||||
# For RHEL-45262 - Deprecate the users ssh-authorized-keys property and permit deprecated hyphenated keys under users key
|
||||
Patch27: ci-fix-schema-permit-deprecated-hyphenated-keys-under-u.patch
|
||||
Patch27: ci-fix-schema-permit-deprecated-hyphenated-keys-under-u.patch
|
||||
# For RHEL-44916 - [RFE] Support metalink in yum repository config
|
||||
Patch28: ci-Support-metalink-in-yum-repository-config-5444.patch
|
||||
Patch28: ci-Support-metalink-in-yum-repository-config-5444.patch
|
||||
# For RHEL-46194 - [RHEL-9] It leaves the ipv6 networking config as blank in NM keyfile when config dhcp ipv6 with customization spec
|
||||
Patch29: ci-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-IPv6-ad.patch
|
||||
Patch29: ci-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-IPv6-ad.patch
|
||||
# For RHEL-46873 - Suggest to update schema to support metalink
|
||||
Patch30: ci-fix-add-schema-rules-for-baseurl-and-metalink-in-yum.patch
|
||||
Patch30: ci-fix-add-schema-rules-for-baseurl-and-metalink-in-yum.patch
|
||||
# For RHEL-49736 - [Cloud-init] [RHEL-9] Password reset feature broken with CloudstackDataSource
|
||||
Patch31: ci-fix-Clean-cache-if-no-datasource-fallback-5499.patch
|
||||
Patch31: ci-fix-Clean-cache-if-no-datasource-fallback-5499.patch
|
||||
# For RHEL-49674 - Support setting mirrorlist in yum repository config
|
||||
Patch32: ci-Support-setting-mirrorlist-in-yum-repository-config-.patch
|
||||
Patch32: ci-Support-setting-mirrorlist-in-yum-repository-config-.patch
|
||||
# For RHEL-54373 - [RHEL9]Revert "fix(vmware): Set IPv6 to dhcp when there is no IPv6 addr (#5471)"
|
||||
Patch33: ci-Revert-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-.patch
|
||||
Patch33: ci-Revert-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-.patch
|
||||
# For RHEL-54686 - [RHEL-9.5] cloud-init schema validation fails.
|
||||
Patch34: ci-fix-Add-subnet-ipv4-ipv6-to-network-schema-5191.patch
|
||||
Patch34: ci-fix-Add-subnet-ipv4-ipv6-to-network-schema-5191.patch
|
||||
# For RHEL-65018 - Configuring metric for default gateway is not working [rhel-9.5.z]
|
||||
Patch35: ci-Fix-metric-setting-for-ifcfg-network-connections-for.patch
|
||||
# For RHEL-65018 - Configuring metric for default gateway is not working [rhel-9.5.z]
|
||||
Patch36: ci-fix-python3.13-Fix-import-error-for-passlib-on-Pytho.patch
|
||||
# For RHEL-65021 - NoCloud - network_config bridges incorrectly configured [rhel-9.5.z]
|
||||
Patch37: ci-fix-Render-bridges-correctly-for-v2-on-sysconfig-wit.patch
|
||||
# For RHEL-65021 - NoCloud - network_config bridges incorrectly configured [rhel-9.5.z]
|
||||
Patch38: ci-fix-Render-v2-bridges-correctly-on-network-manager-w.patch
|
||||
# For RHEL-65778 - [RHEL-9] Prevent NM from handling DNS when network interfaces have DNS config [rhel-9.5.z]
|
||||
Patch39: ci-Prevent-NM-from-handling-DNS-when-network-interfaces.patch
|
||||
# For RHEL-68409 - cloud-init fails to configure DNS and search domain [rhel-9.5.z]
|
||||
Patch40: ci-refactor-Ensure-internal-DNS-state-same-for-v1-and-v.patch
|
||||
# For RHEL-79774 - [RHEL 9] Backport support for smbios datasource definition [rhel-9.5.z]
|
||||
Patch41: ci-fix-nocloud-smbios-datasource-definition.patch
|
||||
|
||||
Patch35: ci-Fix-metric-setting-for-ifcfg-network-connections-for.patch
|
||||
Patch36: ci-Prevent-NM-from-handling-DNS-when-network-interfaces.patch
|
||||
Patch37: ci-fix-Render-bridges-correctly-for-v2-on-sysconfig-wit.patch
|
||||
Patch38: ci-fix-Render-v2-bridges-correctly-on-network-manager-w.patch
|
||||
|
||||
# Patches were taken from:
|
||||
# https://github.com/canonical/cloud-init/commit/09b70436b3a0aae1fe24fdde6e8cdd7ee98d9c15.patch
|
||||
Patch39: ci-Fix-import-error-for-passlib-on-Python-3.13.patch
|
||||
# https://github.com/canonical/cloud-init/commit/436e6f5ce3fbb8b391a2158538873644058904e6.patch
|
||||
Patch40: ci-refactor-Ensure-internal-DNS-state-same-for-v1-and-v2.patch
|
||||
|
||||
# AlmaLinux OS patches
|
||||
# AlmaLinux Patch
|
||||
Patch3100: 0031-Improvements-for-AlmaLinux-OS-and-CloudLinux-OS.patch
|
||||
|
||||
BuildArch: noarch
|
||||
@ -90,46 +93,46 @@ BuildRequires: python3-setuptools
|
||||
BuildRequires: systemd
|
||||
|
||||
# For tests
|
||||
BuildRequires: iproute
|
||||
BuildRequires: python3-configobj
|
||||
BuildRequires: iproute
|
||||
BuildRequires: python3-configobj
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1695953
|
||||
BuildRequires: python3-distro
|
||||
BuildRequires: python3-jinja2
|
||||
BuildRequires: python3-jsonpatch
|
||||
BuildRequires: python3-oauthlib
|
||||
BuildRequires: python3-prettytable
|
||||
BuildRequires: python3-pyserial
|
||||
BuildRequires: python3-PyYAML
|
||||
BuildRequires: python3-requests
|
||||
BuildRequires: python3-six
|
||||
BuildRequires: python3-distro
|
||||
BuildRequires: python3-jinja2
|
||||
BuildRequires: python3-jsonpatch
|
||||
BuildRequires: python3-oauthlib
|
||||
BuildRequires: python3-prettytable
|
||||
BuildRequires: python3-pyserial
|
||||
BuildRequires: python3-PyYAML
|
||||
BuildRequires: python3-requests
|
||||
BuildRequires: python3-six
|
||||
# dnf is needed to make cc_ntp unit tests work
|
||||
# https://bugs.launchpad.net/cloud-init/+bug/1721573
|
||||
BuildRequires: /usr/bin/dnf
|
||||
BuildRequires: /usr/bin/dnf
|
||||
|
||||
Requires: e2fsprogs
|
||||
Requires: iproute
|
||||
Requires: libselinux-python3
|
||||
Requires: policycoreutils-python3
|
||||
Requires: procps
|
||||
Requires: python3-configobj
|
||||
Requires: e2fsprogs
|
||||
Requires: iproute
|
||||
Requires: libselinux-python3
|
||||
Requires: policycoreutils-python3
|
||||
Requires: procps
|
||||
Requires: python3-configobj
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1695953
|
||||
Requires: python3-distro
|
||||
Requires: python3-jinja2
|
||||
Requires: python3-jsonpatch
|
||||
Requires: python3-oauthlib
|
||||
Requires: python3-prettytable
|
||||
Requires: python3-pyserial
|
||||
Requires: python3-PyYAML
|
||||
Requires: python3-requests
|
||||
Requires: python3-six
|
||||
Requires: shadow-utils
|
||||
Requires: util-linux
|
||||
Requires: xfsprogs
|
||||
Requires: dhcp-client
|
||||
Requires: python3-distro
|
||||
Requires: python3-jinja2
|
||||
Requires: python3-jsonpatch
|
||||
Requires: python3-oauthlib
|
||||
Requires: python3-prettytable
|
||||
Requires: python3-pyserial
|
||||
Requires: python3-PyYAML
|
||||
Requires: python3-requests
|
||||
Requires: python3-six
|
||||
Requires: shadow-utils
|
||||
Requires: util-linux
|
||||
Requires: xfsprogs
|
||||
Requires: dhcp-client
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2032524
|
||||
Requires: gdisk
|
||||
Requires: openssl
|
||||
Requires: python3-netifaces
|
||||
Requires: gdisk
|
||||
Requires: openssl
|
||||
Requires: python3-netifaces
|
||||
|
||||
%{?systemd_requires}
|
||||
|
||||
@ -295,27 +298,41 @@ fi
|
||||
%config(noreplace) %{_sysconfdir}/rsyslog.d/21-cloudinit.conf
|
||||
|
||||
%changelog
|
||||
* Mon Dec 23 2024 Eduard Abdullin <eabdullin@almalinux.org> - 23.4-19.el9_5.4.alma.1
|
||||
- Fix import error for passlib on Python 3.13
|
||||
(#4669)
|
||||
- Fix metric setting for ifcfg network connections for rhel
|
||||
(#5777)
|
||||
- fix: Render bridges correctly for v2 on sysconfig with
|
||||
set-name (#5674)
|
||||
- fix: Render v2 bridges correctly on network-manager with
|
||||
set-name (#5740)
|
||||
- Prevent NM from handling DNS when network interfaces have DNS
|
||||
config (#5846)
|
||||
- refactor: Ensure internal DNS state same for v1 and v2
|
||||
(#4756)
|
||||
|
||||
* Mon Sep 30 2024 Elkhan Mammadli <elkhan@almalinux.org> - 23.4-19.alma.1
|
||||
* Tue Mar 25 2025 Elkhan Mammadli <elkhan@almalinux.org> - 23.4-19.5.alma.1
|
||||
- 0031-Improvements-for-AlmaLinux-OS-and-CloudLinux-OS.patch
|
||||
|
||||
* Mon Feb 24 2025 Jon Maloy <jmaloy@redhat.com> - 23.4-19.el9_5.5
|
||||
- ci-fix-nocloud-smbios-datasource-definition.patch [RHEL-79774]
|
||||
- Resolves: RHEL-79774
|
||||
([RHEL 9] Backport support for smbios datasource definition [rhel-9.5.z])
|
||||
|
||||
* Wed Nov 27 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-19.el9_5.4
|
||||
- ci-refactor-Ensure-internal-DNS-state-same-for-v1-and-v.patch [RHEL-68409]
|
||||
- Resolves: RHEL-68409
|
||||
(cloud-init fails to configure DNS and search domain [rhel-9.5.z])
|
||||
|
||||
* Mon Nov 18 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-19.el9_5.3
|
||||
- ci-Prevent-NM-from-handling-DNS-when-network-interfaces.patch [RHEL-65778]
|
||||
- Resolves: RHEL-65778
|
||||
([RHEL-9] Prevent NM from handling DNS when network interfaces have DNS config [rhel-9.5.z])
|
||||
|
||||
* Wed Nov 06 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-19.el9_5.2
|
||||
- ci-fix-Render-bridges-correctly-for-v2-on-sysconfig-wit.patch [RHEL-65021]
|
||||
- ci-fix-Render-v2-bridges-correctly-on-network-manager-w.patch [RHEL-65021]
|
||||
- Resolves: RHEL-65021
|
||||
(NoCloud - network_config bridges incorrectly configured [rhel-9.5.z])
|
||||
|
||||
* Thu Oct 31 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-19.el9_5.1
|
||||
- ci-Fix-metric-setting-for-ifcfg-network-connections-for.patch [RHEL-65018]
|
||||
- ci-fix-python3.13-Fix-import-error-for-passlib-on-Pytho.patch [RHEL-65018]
|
||||
- Resolves: RHEL-65018
|
||||
(Configuring metric for default gateway is not working [rhel-9.5.z])
|
||||
|
||||
* Mon Aug 26 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-19
|
||||
- ci-fix-Add-subnet-ipv4-ipv6-to-network-schema-5191.patch [RHEL-54686]
|
||||
- Resolves: RHEL-54686
|
||||
([RHEL-9.5] cloud-init schema validation fails.)
|
||||
|
||||
* Mon Aug 19 2024 Miroslav Rezanina <mrezanin@redhat.com> - 23.4-18
|
||||
- ci-Revert-fix-vmware-Set-IPv6-to-dhcp-when-there-is-no-.patch [RHEL-54373]
|
||||
- Resolves: RHEL-54373
|
||||
@ -805,7 +822,7 @@ fi
|
||||
|
||||
* Thu Apr 13 2017 Charalampos Stratakis <cstratak@redhat.com> 0.7.9-4
|
||||
- Import to RHEL 7
|
||||
Resolves: rhbz#1427280
|
||||
Resolves: rhbz#1427280
|
||||
|
||||
* Tue Mar 07 2017 Lars Kellogg-Stedman <lars@redhat.com> 0.7.9-3
|
||||
- fixes for network config generation
|
||||
|
Loading…
Reference in New Issue
Block a user