import OL nmstate-1.4.4-2.el8_8
This commit is contained in:
parent
cf6f3cb658
commit
45536aa446
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,2 @@
|
|||||||
SOURCES/nmstate-1.4.4.tar.gz
|
SOURCES/nmstate-1.4.4.tar.gz
|
||||||
SOURCES/nmstate-vendor-1.4.4.tar.xz
|
SOURCES/nmstate-vendor-1.4.4.tar.xz
|
||||||
SOURCES/nmstate.gpg
|
|
||||||
|
@ -1,3 +1,2 @@
|
|||||||
17340fe66e024e69e4c051e6a1bbd3d1974ca4ed SOURCES/nmstate-1.4.4.tar.gz
|
17340fe66e024e69e4c051e6a1bbd3d1974ca4ed SOURCES/nmstate-1.4.4.tar.gz
|
||||||
91a01d73ca8db5e882defaabc7529e97f4dd596a SOURCES/nmstate-vendor-1.4.4.tar.xz
|
91a01d73ca8db5e882defaabc7529e97f4dd596a SOURCES/nmstate-vendor-1.4.4.tar.xz
|
||||||
b01a236c478366b0248688f02d299cb29168a080 SOURCES/nmstate.gpg
|
|
||||||
|
184
SOURCES/BZ_2203277-ip-Support-static-route-with-auto-ip.patch
Normal file
184
SOURCES/BZ_2203277-ip-Support-static-route-with-auto-ip.patch
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
0001-covscan-Remove-dead-code.patch
|
||||||
|
0002-Run-cargo-clippy.patch
|
||||||
|
0003-ip-Support-static-route-with-auto-ip.patch
|
||||||
|
0004-test-Refresh-the-expired-CA-keys.patch
|
||||||
|
From 6ea4790a368260b43c207d19f20c728698ac2184 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gris Ge <fge@redhat.com>
|
||||||
|
Date: Tue, 25 Apr 2023 14:52:59 +0800
|
||||||
|
Subject: [PATCH 1/4] covscan: Remove dead code
|
||||||
|
|
||||||
|
Removing the dead code found by covscan.
|
||||||
|
|
||||||
|
Signed-off-by: Gris Ge <fge@redhat.com>
|
||||||
|
Signed-off-by: Akshata Konala <akshata.konala@oracle.com>
|
||||||
|
---
|
||||||
|
libnmstate/dns.py | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libnmstate/dns.py b/libnmstate/dns.py
|
||||||
|
index 853ece80..043c74a5 100644
|
||||||
|
--- a/libnmstate/dns.py
|
||||||
|
+++ b/libnmstate/dns.py
|
||||||
|
@@ -173,7 +173,6 @@ class DnsState:
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
- return {}
|
||||||
|
|
||||||
|
def _find_ifaces_for_name_servers(
|
||||||
|
self, ifaces, route_state, ignored_dns_ifaces
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
||||||
|
|
||||||
|
From 0329b87b7856e244a4a2d34864a6e6eefa49b226 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gris Ge <fge@redhat.com>
|
||||||
|
Date: Fri, 19 May 2023 17:57:51 +0800
|
||||||
|
Subject: [PATCH 2/4] Run cargo clippy
|
||||||
|
|
||||||
|
Signed-off-by: Gris Ge <fge@redhat.com>
|
||||||
|
---
|
||||||
|
rust/src/lib/nispor/linux_bridge.rs | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/rust/src/lib/nispor/linux_bridge.rs b/rust/src/lib/nispor/linux_bridge.rs
|
||||||
|
index c03f03d6..c4cd104b 100644
|
||||||
|
--- a/rust/src/lib/nispor/linux_bridge.rs
|
||||||
|
+++ b/rust/src/lib/nispor/linux_bridge.rs
|
||||||
|
@@ -63,7 +63,7 @@ pub(crate) fn append_bridge_port_config(
|
||||||
|
port_confs.push(port_conf);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if let Some(mut br_conf) = br_iface.bridge.as_mut() {
|
||||||
|
+ if let Some(br_conf) = br_iface.bridge.as_mut() {
|
||||||
|
br_conf.port = Some(port_confs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
||||||
|
|
||||||
|
From 7c80a3acdb67eb09c3dcbeee7138315b3f855c7f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gris Ge <fge@redhat.com>
|
||||||
|
Date: Fri, 19 May 2023 18:12:54 +0800
|
||||||
|
Subject: [PATCH 3/4] ip: Support static route with auto ip
|
||||||
|
|
||||||
|
Supporting assigning static route to interface with auto ip. For
|
||||||
|
example:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
---
|
||||||
|
interfaces:
|
||||||
|
- name: eth1
|
||||||
|
type: ethernet
|
||||||
|
state: up
|
||||||
|
ipv4:
|
||||||
|
dhcp: true
|
||||||
|
enabled: true
|
||||||
|
ipv6:
|
||||||
|
dhcp: true
|
||||||
|
autoconf: true
|
||||||
|
enabled: true
|
||||||
|
routes:
|
||||||
|
config:
|
||||||
|
- destination: 198.51.100.0/24
|
||||||
|
metric: 150
|
||||||
|
next-hop-address: 192.0.2.1
|
||||||
|
next-hop-interface: eth1
|
||||||
|
table-id: 254
|
||||||
|
- destination: 2001:db8:2::/64
|
||||||
|
metric: 151
|
||||||
|
next-hop-address: 2001:db8:1::2
|
||||||
|
next-hop-interface: eth1
|
||||||
|
```
|
||||||
|
|
||||||
|
Integration test case included and been marked as tier1.
|
||||||
|
|
||||||
|
Signed-off-by: Gris Ge <fge@redhat.com>
|
||||||
|
---
|
||||||
|
libnmstate/route.py | 52 ++++++-------
|
||||||
|
tests/integration/dynamic_ip_test.py | 105 +++++++++++++++++++--------
|
||||||
|
tests/lib/route_test.py | 28 +------
|
||||||
|
3 files changed, 105 insertions(+), 80 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libnmstate/route.py b/libnmstate/route.py
|
||||||
|
index d3734279..c92cbbb6 100644
|
||||||
|
--- a/libnmstate/route.py
|
||||||
|
+++ b/libnmstate/route.py
|
||||||
|
@@ -1,21 +1,4 @@
|
||||||
|
-#
|
||||||
|
-# Copyright (c) 2020 Red Hat, Inc.
|
||||||
|
-#
|
||||||
|
-# This file is part of nmstate
|
||||||
|
-#
|
||||||
|
-# This program is free software: you can redistribute it and/or modify
|
||||||
|
-# it under the terms of the GNU Lesser General Public License as published by
|
||||||
|
-# the Free Software Foundation, either version 2.1 of the License, or
|
||||||
|
-# (at your option) any later version.
|
||||||
|
-#
|
||||||
|
-# This program is distributed in the hope that it will be useful,
|
||||||
|
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
-# GNU Lesser General Public License for more details.
|
||||||
|
-#
|
||||||
|
-# You should have received a copy of the GNU Lesser General Public License
|
||||||
|
-# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
-#
|
||||||
|
+# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
|
||||||
|
from collections import defaultdict
|
||||||
|
import logging
|
||||||
|
@@ -146,13 +129,6 @@ class RouteEntry(StateEntry):
|
||||||
|
f"Route {self.to_dict()} next hop to down/absent interface"
|
||||||
|
)
|
||||||
|
return False
|
||||||
|
- if iface.is_dynamic(
|
||||||
|
- Interface.IPV6 if self.is_ipv6 else Interface.IPV4
|
||||||
|
- ):
|
||||||
|
- self._invalid_reason = (
|
||||||
|
- f"Route {self.to_dict()} next hop to interface with dynamic IP"
|
||||||
|
- )
|
||||||
|
- return False
|
||||||
|
if self.is_ipv6:
|
||||||
|
if not iface.is_ipv6_enabled():
|
||||||
|
self._invalid_reason = (
|
||||||
|
@@ -194,7 +170,10 @@ class RouteState:
|
||||||
|
rt = RouteEntry(entry)
|
||||||
|
self._cur_routes[rt.next_hop_interface].add(rt)
|
||||||
|
if not ifaces or rt.is_valid(ifaces):
|
||||||
|
- self._routes[rt.next_hop_interface].add(rt)
|
||||||
|
+ # When user converting static IP to auto IP, we should
|
||||||
|
+ # not merge current static routes besides desired ones.
|
||||||
|
+ if not iface_switch_from_static_to_auto_ip(ifaces, rt):
|
||||||
|
+ self._routes[rt.next_hop_interface].add(rt)
|
||||||
|
else:
|
||||||
|
logging.debug(
|
||||||
|
f"The current route {entry} has been discarded due"
|
||||||
|
@@ -299,3 +278,24 @@ class RouteState:
|
||||||
|
{Route.KEY: {Route.CONFIG: cur_routes_info}},
|
||||||
|
)
|
||||||
|
)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+def iface_switch_from_static_to_auto_ip(ifaces, rt):
|
||||||
|
+ iface_name = rt.next_hop_interface
|
||||||
|
+ if not iface_name or not ifaces:
|
||||||
|
+ return False
|
||||||
|
+
|
||||||
|
+ if is_ipv6_address(rt.destination):
|
||||||
|
+ family = Interface.IPV6
|
||||||
|
+ else:
|
||||||
|
+ family = Interface.IPV4
|
||||||
|
+
|
||||||
|
+ cur_iface = ifaces.get_cur_iface(iface_name, None)
|
||||||
|
+ des_iface = ifaces.get_iface(iface_name, None)
|
||||||
|
+ if (
|
||||||
|
+ cur_iface
|
||||||
|
+ and des_iface
|
||||||
|
+ and not cur_iface.is_dynamic(family)
|
||||||
|
+ and des_iface.is_dynamic(family)
|
||||||
|
+ ):
|
||||||
|
+ return True
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
51
SOURCES/nmstate.gpg
Normal file
51
SOURCES/nmstate.gpg
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
=PdCG
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
Name: nmstate
|
Name: nmstate
|
||||||
Version: 1.4.4
|
Version: 1.4.4
|
||||||
Release: 1%{?dist}
|
Release: 2%{?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}
|
||||||
@ -14,6 +14,7 @@ Source2: https://www.nmstate.io/nmstate.gpg
|
|||||||
Source3: %{url}/releases/download/v%{version}/%{srcname}-vendor-%{version}.tar.xz
|
Source3: %{url}/releases/download/v%{version}/%{srcname}-vendor-%{version}.tar.xz
|
||||||
# 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
|
||||||
|
Patch1: BZ_2203277-ip-Support-static-route-with-auto-ip.patch
|
||||||
BuildRequires: python3-devel
|
BuildRequires: python3-devel
|
||||||
BuildRequires: python3-setuptools
|
BuildRequires: python3-setuptools
|
||||||
BuildRequires: gnupg2
|
BuildRequires: gnupg2
|
||||||
@ -148,6 +149,9 @@ popd
|
|||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jul 04 2023 Akshata Konala <akshata.konala@oracle.com> - 1.4.4-2
|
||||||
|
- Support static route with auto-ip.
|
||||||
|
|
||||||
* Mon Apr 24 2023 Gris Ge <fge@redhat.com> - 1.4.4-1
|
* Mon Apr 24 2023 Gris Ge <fge@redhat.com> - 1.4.4-1
|
||||||
- Upgrade to 1.4.4. RHBZ#2186178
|
- Upgrade to 1.4.4. RHBZ#2186178
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user