import nmstate-2.2.12-1.el9_2

This commit is contained in:
Andrew Lukoshko 2023-06-22 13:46:47 +00:00
parent bff895a97a
commit 03e0189b60
9 changed files with 1428 additions and 155 deletions

5
.gitignore vendored
View File

@ -1,3 +1,2 @@
SOURCES/nmstate-2.2.10.tar.gz
SOURCES/nmstate-vendor-2.2.10.tar.xz
SOURCES/nmstate.gpg
SOURCES/nmstate-2.2.12.tar.gz
SOURCES/nmstate-vendor-2.2.12.tar.xz

View File

@ -1,3 +1,2 @@
8fb04d2537b3a700d9e979ef67b9298c31555723 SOURCES/nmstate-2.2.10.tar.gz
cccaa521f9271fc0acf4196538edf090d747a306 SOURCES/nmstate-vendor-2.2.10.tar.xz
b01a236c478366b0248688f02d299cb29168a080 SOURCES/nmstate.gpg
75ebaa02ce5e065e3d08db282dfb3a0a11ced8e6 SOURCES/nmstate-2.2.12.tar.gz
133597730266540138c8e8d6deb6585132047d49 SOURCES/nmstate-vendor-2.2.12.tar.xz

View File

@ -1,62 +0,0 @@
From c9fd1e80d3c87e1f844edcd86e9d36ae499ce717 Mon Sep 17 00:00:00 2001
From: Gris Ge <fge@redhat.com>
Date: Sun, 23 Apr 2023 16:01:29 +0800
Subject: [PATCH] cli: Do nothing for `persist-nic-names` when got
`net.ifnames=0`
When `net.ifnames=0` is defined in kernel argument, systemd will disable
the predicable network interface name which make no sense for nmstate to
pin the interface names. Hence we do nothing in `persist-nic-names` in
that case.
Manually tested in CentOS stream 9 VM.
Signed-off-by: Gris Ge <fge@redhat.com>
---
rust/src/cli/persist_nic.rs | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/rust/src/cli/persist_nic.rs b/rust/src/cli/persist_nic.rs
index 6b126d58..61b07dbb 100644
--- a/rust/src/cli/persist_nic.rs
+++ b/rust/src/cli/persist_nic.rs
@@ -7,6 +7,8 @@
//!
//! The logic currently is:
//!
+//! - Do nothing if kernel argument contains `net.ifnames=0` which disabled the
+//! predicable network interface name, hence not fit our use case here.
//! - Iterate over all active NICs
//! - Pin every ethernet interface to its MAC address (prefer permanent MAC
//! address)
@@ -70,6 +72,14 @@ pub(crate) fn run_persist_immediately(
PersistAction::CleanUpDryRun => return clean_up(root, true),
};
+ if is_prediable_ifname_disabled() {
+ log::info!(
+ "Systemd predicable network interface name is disabled \
+ by kernel argument `net.ifnames=0`, will do nothing"
+ );
+ return Ok("".to_string());
+ }
+
let stamp_path = Path::new(root)
.join(SYSTEMD_NETWORK_LINK_FOLDER)
.join(NMSTATE_PERSIST_STAMP);
@@ -317,3 +327,12 @@ fn is_nmstate_generated_systemd_link_file(file_path: &PathBuf) -> bool {
.map(|_| buff == PERSIST_GENERATED_BY.as_bytes())
.unwrap_or_default()
}
+
+const KERNEL_CMDLINE_FILE: &str = "/proc/cmdline";
+
+fn is_prediable_ifname_disabled() -> bool {
+ std::fs::read(KERNEL_CMDLINE_FILE)
+ .map(|v| String::from_utf8(v).unwrap_or_default())
+ .map(|c| c.contains("net.ifnames=0"))
+ .unwrap_or_default()
+}
--
2.40.0

View File

@ -1,67 +0,0 @@
From 333e82445c048812e3e85fb9f3cb7558dc3f2aeb Mon Sep 17 00:00:00 2001
From: Gris Ge <fge@redhat.com>
Date: Tue, 25 Apr 2023 14:10:34 +0800
Subject: [PATCH] ip: Fix error when DHCP with auto IP address on STP enabled
bridge
When DHCP enabled with auto IP address on STP enabled bridge, nmstate
will fail with verification error:
Verification failure: br0.interface.ipv4.address desire '[]',
current 'null'
The root cause is STP suspended the DHCP action which cause current
state shows null IP address. And nmstate incorrectly treat [] != null
for IP address.
Fixed in `sanitize_current_for_verify()` to set empty array if None.
To reproduce this problem, we just enable DHCP with auto IP address
where no DHCP server exists. Integration test case included.
Signed-off-by: Gris Ge <fge@redhat.com>
---
rust/src/lib/query_apply/ip.rs | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/rust/src/lib/query_apply/ip.rs b/rust/src/lib/query_apply/ip.rs
index b2d6ac49..a6df740b 100644
--- a/rust/src/lib/query_apply/ip.rs
+++ b/rust/src/lib/query_apply/ip.rs
@@ -12,6 +12,11 @@ impl InterfaceIpv4 {
if self.dhcp_custom_hostname.is_none() {
self.dhcp_custom_hostname = Some(String::new());
}
+
+ // No IP address means empty.
+ if self.enabled && self.addresses.is_none() {
+ self.addresses = Some(Vec::new());
+ }
}
// Sort addresses and dedup
@@ -89,6 +94,11 @@ impl InterfaceIpv6 {
if self.dhcp_custom_hostname.is_none() {
self.dhcp_custom_hostname = Some(String::new());
}
+
+ // No IP address means empty.
+ if self.enabled && self.addresses.is_none() {
+ self.addresses = Some(Vec::new());
+ }
}
// Sort addresses and dedup
@@ -96,9 +106,6 @@ impl InterfaceIpv6 {
if let Some(addrs) = self.addresses.as_mut() {
addrs.sort_unstable();
addrs.dedup();
- if addrs.is_empty() {
- self.addresses = None;
- }
}
}
pub(crate) fn update(&mut self, other: &Self) {
--
2.40.0

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEESP1vrlFad7SENoIch4lWe4cVzrwFAmRE9mYACgkQh4lWe4cV
zrw58w/+Jsk4Ot5Pnyif9KaI7WXbZAncUw86CClteu8sThT/TZDWcPd//t7xy6tA
BzLF9blOMrpIBwvMVchfe4fFz8f/t5rRKO8SycymOcLI/IGKCLXAzRP7BdL6wQDm
HD+SCAzF8VFm6u8gZy5hZDE1PVuz2WDkcU/lkPt9EFRzbG8FW1oMEfH+rc48bSQx
thgZlLK7lUU9w4ZWJ6H4uh+AToRlzsvw7xU3ARB056FyRs4pls1BQrDyDZQOfuc9
NmeFdy9lDpITF9zvMTrDhviobVAEO/MmBBinoPf5WEkf59b+JNoBOQU77LsmyJn8
XaFy7DuXyMkQtM+XR9X8jy50eEvDqsOH+Ww2HzHFbzY74nKDff+Ip7iTwmBxPkG0
QM6Py0A6ToROi3nZK3RFacBkVVM2BPYXxBQhhXeO9rI1siig6aEhDaoyvHItnj2b
7MoI7dKXvAtSCKpBt92XVn/vdLaLPx6pXjh0hnb4PblepZx10BVWEdY2LpH6PXav
YBvZ37Xz0JUqJdNPcANG+7Boq3qhfmB2Pei6/IMeoNOxHZsVI7FyPmtXAe2egXSc
iQMYlD8nlYBDAOC0JjGrU5fPxWKKjT9J3Aa2qdKjS3Op7lJoUtT8TUdGB0ePsNmi
LF3FaTxETspZyNLyt7iY8kRvLV4zfVAbE0UOlfnVCbQr2vIsVU0=
=Rr+7
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEK187ICiAHhX1eqowmQbJeqFdmE8FAmR4WHoACgkQmQbJeqFd
mE882A/+JyYYs7f/n7p07nhir2/DNyg+gSM6rK18pVUXjEZ1cDt5qOJ4Vu38XPl2
9pEvX+VHT+Imrxsov+PDJNvTPxJP/w/ED4g+difZjOo/XVqBxiz5IInATNkqrW52
rp2FsTTjQB1oypcpKqiJQQmPhYUg1RvE8TrggU1Q39VnPjy6eyjjCAX5wuuyfHKU
ynznLCRMjhQ+G+XClEk7W/aDVXZChoHcHXD/EOcLYY8fw46pNOE89VAboeflQe4n
e9rg7KgXKYIEPrLF02hKQSJoyTBhwYVIfKKhDRDqG2OY3HdTCqfJ4qLEtv04HiMn
nIV+TaUVA7mSWqp3cknLSHu/SaZb2JkWV0jvgB3oZlyQpJ0+IA9bqWgkjsQgTCc2
FbM2t2ME2gJH/HqUEP70HRA3GLqGeLAX0e2C4UzvarqRlUIG3aCgq2SL5MtUE9KC
DnOf3U0RDE/GuHrITe5d5o4suK2d99biM7/lf4TGP6nT4iANFDXfPIU2ohtficKx
RXDqMlwCI+ZIsadcoYld3fvIiOVzewqX/PXG2kLX0HmuAR6b0v8LZqJ6fl0Bp+Su
/PcgI5Z/cSbUYBpKIUVxMSxBCRY/nT2yw4wmmSxM3RWJmd8fuYQngRD1cszxAYzv
f/d6vN0pt14k2W5Bu66o803fnHB5hgtTVGkRkvm8NVveanFRxqI=
=1ith
-----END PGP SIGNATURE-----

99
SOURCES/nmstate.gpg Normal file
View File

@ -0,0 +1,99 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
i2QY7dEEs/uMRtq8C8kSWg==
=259x
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -3,8 +3,8 @@
%define libname libnmstate
Name: nmstate
Version: 2.2.10
Release: 2%{?dist}
Version: 2.2.12
Release: 1%{?dist}
Summary: Declarative network manager API
License: LGPLv2+
URL: https://github.com/%{srcname}/%{srcname}
@ -12,8 +12,7 @@ Source0: https://github.com/nmstate/nmstate/releases/download/v%{version}
Source1: https://github.com/nmstate/nmstate/releases/download/v%{version}/nmstate-%{version}.tar.gz.asc
Source2: https://nmstate.io/nmstate.gpg
Source3: https://github.com/nmstate/nmstate/releases/download/v%{version}/nmstate-vendor-%{version}.tar.xz
Patch1: 0001-cli-Do-nothing-for-persist-nic-names-when-got-net.if.patch
Patch2: 0002-Fix-error-when-DHCP-with-auto-IP-address-on-STP-enabled.patch
Patch1: Fix_SRIOV_timeout.patch
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: gnupg2
@ -152,6 +151,12 @@ popd
/sbin/ldconfig
%changelog
* Wed Jun 07 2023 Gris Ge <fge@redhat.com> - 2.2.12-1
- Upgrade to 2.2.12. RHBZ#2209894
* Mon May 22 2023 Gris Ge <fge@redhat.com> - 2.2.11-1
- Upgrade to 2.2.11. RHBZ#2196434
* Tue Apr 25 2023 Gris Ge <fge@redhat.com> - 2.2.10-2
- Fix error when DHCP enabled with auto ip on STP bridge. RHBZ#2180508