Fix global DNS on second apply
Resolves: RHEL-44623 Signed-off-by: Gris Ge <fge@redhat.com>
This commit is contained in:
parent
69503b6dd6
commit
f4244ca285
70
RHEL-44623-fix-global-dns.patch
Normal file
70
RHEL-44623-fix-global-dns.patch
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
From 364842c0c09f9799a2c48a1bc3ce4debb1a3ddc2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gris Ge <fge@redhat.com>
|
||||||
|
Date: Tue, 18 Jun 2024 13:44:55 +0800
|
||||||
|
Subject: [PATCH] dns: Do not touch iface DNS when apply identical DNS state
|
||||||
|
|
||||||
|
When applying the same DNS only desire state again, nmstate incorrectly
|
||||||
|
purged interface DNS.
|
||||||
|
|
||||||
|
The root cause is we only set `self.use_global_dns` to True when
|
||||||
|
DNS changed. The fix is set `self.use_global_dns` to True always unless
|
||||||
|
iface DNS is required.
|
||||||
|
|
||||||
|
Signed-off-by: Gris Ge <fge@redhat.com>
|
||||||
|
---
|
||||||
|
libnmstate/net_state.py | 12 +++++-------
|
||||||
|
1 file changed, 5 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libnmstate/net_state.py b/libnmstate/net_state.py
|
||||||
|
index 7b208daa..fe6fc31d 100644
|
||||||
|
--- a/libnmstate/net_state.py
|
||||||
|
+++ b/libnmstate/net_state.py
|
||||||
|
@@ -32,7 +32,7 @@ class NetState:
|
||||||
|
gen_conf_mode=False,
|
||||||
|
ignored_dns_ifaces=None,
|
||||||
|
):
|
||||||
|
- self.use_global_dns = False
|
||||||
|
+ self.use_global_dns = True
|
||||||
|
if current_state is None:
|
||||||
|
current_state = {}
|
||||||
|
self._ifaces = Ifaces(
|
||||||
|
@@ -76,17 +76,17 @@ class NetState:
|
||||||
|
"interface profile, using global DNS"
|
||||||
|
)
|
||||||
|
logging.warning(
|
||||||
|
- "Storing DNS to NetworkManager via global dns API, "
|
||||||
|
- "this will cause __all__ interface level DNS settings "
|
||||||
|
- "been ignored"
|
||||||
|
+ "Storing DNS to NetworkManager via global DNS "
|
||||||
|
+ "API, this will cause __all__ interface level "
|
||||||
|
+ "DNS settings been ignored"
|
||||||
|
)
|
||||||
|
- self.use_global_dns = True
|
||||||
|
else:
|
||||||
|
if self.dns.is_purge() or self._is_iface_dns_prefered():
|
||||||
|
try:
|
||||||
|
self._ifaces.gen_dns_metadata(
|
||||||
|
self._dns, self._route, ignored_dns_ifaces
|
||||||
|
)
|
||||||
|
+ self.use_global_dns = False
|
||||||
|
except NmstateValueError as e:
|
||||||
|
if (
|
||||||
|
gen_conf_mode
|
||||||
|
@@ -99,14 +99,12 @@ class NetState:
|
||||||
|
"API, this will cause __all__ interface level "
|
||||||
|
"DNS settings been ignored"
|
||||||
|
)
|
||||||
|
- self.use_global_dns = True
|
||||||
|
elif self.dns.config_changed:
|
||||||
|
logging.warning(
|
||||||
|
"Storing DNS to NetworkManager via global DNS "
|
||||||
|
"API, this will cause __all__ interface level "
|
||||||
|
"DNS settings been ignored"
|
||||||
|
)
|
||||||
|
- self.use_global_dns = True
|
||||||
|
|
||||||
|
self._ifaces.gen_route_metadata(self._route)
|
||||||
|
self._ifaces.gen_route_rule_metadata(self._route_rule, self._route)
|
||||||
|
--
|
||||||
|
2.45.2
|
||||||
|
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
Name: nmstate
|
Name: nmstate
|
||||||
Version: 1.4.6
|
Version: 1.4.6
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: Declarative network manager API
|
Summary: Declarative network manager API
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
URL: https://github.com/%{srcname}/%{srcname}
|
URL: https://github.com/%{srcname}/%{srcname}
|
||||||
@ -15,6 +15,7 @@ Source3: %{url}/releases/download/v%{version}/%{srcname}-vendor-%{version
|
|||||||
# Patches 0X are reserved to downstream only
|
# Patches 0X are reserved to downstream only
|
||||||
Patch0: BZ_2132570-nm-reverse-IPv6-order-before-adding-them-to-setting.patch
|
Patch0: BZ_2132570-nm-reverse-IPv6-order-before-adding-them-to-setting.patch
|
||||||
Patch10: 0001-clib-Use-build.rs-to-fix-SONAME.patch
|
Patch10: 0001-clib-Use-build.rs-to-fix-SONAME.patch
|
||||||
|
Patch11: RHEL-44623-fix-global-dns.patch
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
BuildRequires: python3-setuptools
|
BuildRequires: python3-setuptools
|
||||||
BuildRequires: gnupg2
|
BuildRequires: gnupg2
|
||||||
@ -142,6 +143,9 @@ popd
|
|||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jun 26 2024 Gris Ge <fge@redhat.com> - 1.4.6-3
|
||||||
|
- Fix global DNS on second apply. RHEL-44623
|
||||||
|
|
||||||
* Fri May 17 2024 Gris Ge <fge@redhat.com> - 1.4.6-2
|
* Fri May 17 2024 Gris Ge <fge@redhat.com> - 1.4.6-2
|
||||||
- Fix clib SONAME. RHEL-32218
|
- Fix clib SONAME. RHEL-32218
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user