Compare commits
No commits in common. "c8" and "c10s" have entirely different histories.
142
.gitignore
vendored
142
.gitignore
vendored
@ -1,2 +1,140 @@
|
|||||||
SOURCES/nmstate-1.4.6.tar.gz
|
/nmstate-0.0.2.tar.gz
|
||||||
SOURCES/nmstate-vendor-1.4.6.tar.xz
|
/nmstate-0.0.3.tar.gz
|
||||||
|
/nmstate-0.0.3.tar.gz.asc
|
||||||
|
/gpgkey-F7910D93CA83D77348595C0E899014C0463C12BB.gpg
|
||||||
|
/nmstate-0.0.4.tar.gz.asc
|
||||||
|
/nmstate-0.0.4.tar.gz
|
||||||
|
/nmstate-0.0.5.tar.gz
|
||||||
|
/nmstate-0.0.5.tar.gz.asc
|
||||||
|
/nmstate-0.0.6.tar.gz.asc
|
||||||
|
/nmstate-0.0.6.tar.gz
|
||||||
|
/nmstate-0.0.7.tar.gz
|
||||||
|
/nmstate-0.0.7.tar.gz.asc
|
||||||
|
/nmstate-0.0.8.tar.gz.asc
|
||||||
|
/nmstate-0.0.8.tar.gz
|
||||||
|
/nmstate-0.1.1.tar.gz
|
||||||
|
/nmstate-0.1.1.tar.gz.asc
|
||||||
|
/nmstate-0.2.0.tar.gz
|
||||||
|
/nmstate-0.2.0.tar.gz.asc
|
||||||
|
/nmstate-0.2.1.tar.gz
|
||||||
|
/nmstate-0.2.1.tar.gz.asc
|
||||||
|
/nmstate-0.2.2.tar.gz
|
||||||
|
/nmstate-0.2.2.tar.gz.asc
|
||||||
|
/nmstate-0.2.3.tar.gz
|
||||||
|
/nmstate-0.2.3.tar.gz.asc
|
||||||
|
/nmstate-0.2.4.tar.gz
|
||||||
|
/nmstate-0.2.4.tar.gz.asc
|
||||||
|
/nmstate-0.2.5.tar.gz
|
||||||
|
/nmstate-0.2.5.tar.gz.asc
|
||||||
|
/nmstate-0.2.6.tar.gz
|
||||||
|
/nmstate-0.2.6.tar.gz.asc
|
||||||
|
/nmstate-0.2.7.tar.gz
|
||||||
|
/nmstate-0.2.7.tar.gz.asc
|
||||||
|
/nmstate-0.2.8.tar.gz
|
||||||
|
/nmstate-0.2.8.tar.gz.asc
|
||||||
|
/nmstate-0.2.9.tar.gz
|
||||||
|
/nmstate-0.2.9.tar.gz.asc
|
||||||
|
/nmstate-0.2.10.tar.gz
|
||||||
|
/nmstate-0.2.10.tar.gz.asc
|
||||||
|
/nmstate-0.3.0.tar.gz
|
||||||
|
/nmstate-0.3.0.tar.gz.asc
|
||||||
|
/nmstate.gpg
|
||||||
|
/nmstate-0.3.1.tar.gz
|
||||||
|
/nmstate-0.3.1.tar.gz.asc
|
||||||
|
/nmstate-0.3.2.tar.gz
|
||||||
|
/nmstate-0.3.2.tar.gz.asc
|
||||||
|
/nmstate-0.3.3.tar.gz
|
||||||
|
/nmstate-0.3.3.tar.gz.asc
|
||||||
|
/nmstate-0.3.4.tar.gz
|
||||||
|
/nmstate-0.3.4.tar.gz.asc
|
||||||
|
/nmstate-0.3.5.tar.gz
|
||||||
|
/nmstate-0.3.5.tar.gz.asc
|
||||||
|
/nmstate-0.4.0.tar.gz
|
||||||
|
/nmstate-0.4.0.tar.gz.asc
|
||||||
|
/nmstate-0.4.1.tar.gz
|
||||||
|
/nmstate-0.4.1.tar.gz.asc
|
||||||
|
/nmstate-1.0.0.tar.gz
|
||||||
|
/nmstate-1.0.0.tar.gz.asc
|
||||||
|
/nmstate-1.0.1.tar.gz
|
||||||
|
/nmstate-1.0.1.tar.gz.asc
|
||||||
|
/nmstate-1.0.2.tar.gz.asc
|
||||||
|
/nmstate-1.0.2.tar.gz
|
||||||
|
/nmstate-1.0.3.tar.gz
|
||||||
|
/nmstate-1.0.3.tar.gz.asc
|
||||||
|
/nmstate-1.1.0.tar.gz
|
||||||
|
/nmstate-1.1.0.tar.gz.asc
|
||||||
|
/nmstate-1.2.0.tar.gz.asc
|
||||||
|
/nmstate-1.2.0.tar.gz
|
||||||
|
/nmstate-2.0.0.tar.gz
|
||||||
|
/nmstate-2.0.0.tar.gz.asc
|
||||||
|
/nmstate-2.1.0-alpha1.tar.gz
|
||||||
|
/nmstate-2.1.0-alpha1.tar.gz.asc
|
||||||
|
/nmstate-2.1.0-alpha2.tar.gz
|
||||||
|
/nmstate-2.1.0-alpha2.tar.gz.asc
|
||||||
|
/nmstate-2.1.0.tar.gz
|
||||||
|
/nmstate-2.1.0.tar.gz.asc
|
||||||
|
/nmstate-2.1.2.tar.gz
|
||||||
|
/nmstate-2.1.2.tar.gz.asc
|
||||||
|
/nmstate-2.1.4.tar.gz
|
||||||
|
/nmstate-2.1.4.tar.gz.asc
|
||||||
|
/nmstate-2.2.0.tar.gz
|
||||||
|
/nmstate-2.2.0.tar.gz.asc
|
||||||
|
/nmstate-2.2.2.tar.gz
|
||||||
|
/nmstate-2.2.2.tar.gz.asc
|
||||||
|
/nmstate-2.2.3.tar.gz.asc
|
||||||
|
/nmstate-2.2.3.tar.gz
|
||||||
|
/nmstate-2.2.4.tar.gz
|
||||||
|
/nmstate-2.2.4.tar.gz.asc
|
||||||
|
/nmstate-2.2.5.tar.gz
|
||||||
|
/nmstate-2.2.5.tar.gz.asc
|
||||||
|
/nmstate-2.2.8.tar.gz
|
||||||
|
/nmstate-2.2.8.tar.gz.asc
|
||||||
|
/nmstate-2.2.9.tar.gz
|
||||||
|
/nmstate-2.2.9.tar.gz.asc
|
||||||
|
/nmstate-2.2.10.tar.gz
|
||||||
|
/nmstate-2.2.10.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.10.tar.xz
|
||||||
|
/nmstate-2.2.12.tar.gz
|
||||||
|
/nmstate-2.2.12.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.12.tar.xz
|
||||||
|
/nmstate-2.2.13.tar.gz
|
||||||
|
/nmstate-2.2.13.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.13.tar.xz
|
||||||
|
/nmstate-2.2.14.tar.gz
|
||||||
|
/nmstate-2.2.14.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.14.tar.xz
|
||||||
|
/nmstate-2.2.15.tar.gz
|
||||||
|
/nmstate-2.2.15.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.15.tar.xz
|
||||||
|
/nmstate-2.2.21.tar.gz
|
||||||
|
/nmstate-2.2.21.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.21.tar.xz
|
||||||
|
/nmstate-2.2.26.tar.gz
|
||||||
|
/nmstate-2.2.26.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.26.tar.xz
|
||||||
|
/nmstate-2.2.27.tar.gz
|
||||||
|
/nmstate-2.2.27.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.27.tar.xz
|
||||||
|
/nmstate-2.2.29.tar.gz
|
||||||
|
/nmstate-2.2.29.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.29.tar.xz
|
||||||
|
/nmstate-2.2.30.tar.gz
|
||||||
|
/nmstate-2.2.30.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.30.tar.xz
|
||||||
|
/nmstate-2.2.31.tar.gz
|
||||||
|
/nmstate-2.2.31.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.31.tar.xz
|
||||||
|
/nmstate-2.2.33.tar.gz
|
||||||
|
/nmstate-2.2.33.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.33.tar.xz
|
||||||
|
/nmstate-2.2.34.tar.gz
|
||||||
|
/nmstate-vendor-2.2.34.tar.xz
|
||||||
|
/nmstate-2.2.35.tar.gz
|
||||||
|
/nmstate-2.2.35.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.35.tar.xz
|
||||||
|
/nmstate-2.2.36.tar.gz
|
||||||
|
/nmstate-2.2.36.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.36.tar.xz
|
||||||
|
/nmstate-2.2.38.tar.gz
|
||||||
|
/nmstate-2.2.38.tar.gz.asc
|
||||||
|
/nmstate-vendor-2.2.38.tar.xz
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
2c5d46ae03fe2d836e165aa3562f03386d215fdf SOURCES/nmstate-1.4.6.tar.gz
|
|
||||||
4735ef08c31684624a7844832cc2ba20e67983f6 SOURCES/nmstate-vendor-1.4.6.tar.xz
|
|
29
.packit.yaml
Normal file
29
.packit.yaml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
downstream_package_name: nmstate
|
||||||
|
upstream_project_url: https://github.com/nmstate/nmstate
|
||||||
|
issue_repository: https://github.com/nmstate/nmstate
|
||||||
|
update_release: false
|
||||||
|
upstream_package_name: nmstate
|
||||||
|
upstream_tag_template: v{version}
|
||||||
|
copy_upstream_release_description: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# This is triggered by https://release-monitoring.org/
|
||||||
|
- job: pull_from_upstream
|
||||||
|
trigger: release
|
||||||
|
dist_git_branches:
|
||||||
|
- fedora-all
|
||||||
|
|
||||||
|
# This is triggered at Fedora dist-git for creating koji build after
|
||||||
|
# PR in src.fedoraproject.org been merged.
|
||||||
|
- job: koji_build
|
||||||
|
trigger: commit
|
||||||
|
allowed_pr_authors: ["packit-stg", "packit"]
|
||||||
|
dist_git_branches:
|
||||||
|
- fedora-all
|
||||||
|
|
||||||
|
# This is triggered at Fedora messaging bus about koji build finished.
|
||||||
|
- job: bodhi_update
|
||||||
|
trigger: commit
|
||||||
|
dist_git_branches:
|
||||||
|
- fedora-branched
|
3
README.packit
Normal file
3
README.packit
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
This repository is maintained by packit.
|
||||||
|
https://packit.dev/
|
||||||
|
The file was generated using packit 0.79.0.post2+g93f33d9.
|
@ -1,60 +0,0 @@
|
|||||||
From 0b530d4c8e75f60015d13c225b1c634389fbe798 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Gris Ge <fge@redhat.com>
|
|
||||||
Date: Fri, 17 May 2024 13:12:14 +0800
|
|
||||||
Subject: [PATCH] clib: Use build.rs to fix SONAME
|
|
||||||
|
|
||||||
Use [`cargo:rustc-cdylib-link-arg`][1] to `build.rs` to fix the SONAME issue
|
|
||||||
of cargo.
|
|
||||||
|
|
||||||
Removed workarounds in rpm spec and `.cargo/config.toml`.
|
|
||||||
|
|
||||||
Changed Makefile to place `-lnmstate` after the source file to fix
|
|
||||||
compile issue on ubuntu 20.04 old gcc.
|
|
||||||
|
|
||||||
[1]: https://doc.rust-lang.org/cargo/reference/build-scripts.html#rustc-cdylib-link-arg
|
|
||||||
|
|
||||||
Signed-off-by: Gris Ge <fge@redhat.com>
|
|
||||||
---
|
|
||||||
rust/.cargo/config.toml | 3 ---
|
|
||||||
rust/src/clib/Cargo.toml | 1 +
|
|
||||||
rust/src/clib/build.rs | 6 ++++++
|
|
||||||
3 files changed, 7 insertions(+), 3 deletions(-)
|
|
||||||
create mode 100644 rust/src/clib/build.rs
|
|
||||||
|
|
||||||
diff --git a/rust/.cargo/config.toml b/rust/.cargo/config.toml
|
|
||||||
index 018e59d4..ca6c72f7 100644
|
|
||||||
--- a/rust/.cargo/config.toml
|
|
||||||
+++ b/rust/.cargo/config.toml
|
|
||||||
@@ -1,5 +1,2 @@
|
|
||||||
-[build]
|
|
||||||
-rustflags = "-Clink-arg=-Wl,-soname=libnmstate.so.1"
|
|
||||||
-
|
|
||||||
[target.x86_64-unknown-linux-gnu]
|
|
||||||
runner = 'sudo -E'
|
|
||||||
diff --git a/rust/src/clib/Cargo.toml b/rust/src/clib/Cargo.toml
|
|
||||||
index 462757ca..0eb00922 100644
|
|
||||||
--- a/rust/src/clib/Cargo.toml
|
|
||||||
+++ b/rust/src/clib/Cargo.toml
|
|
||||||
@@ -6,6 +6,7 @@ authors = ["Gris Ge <fge@redhat.com>"]
|
|
||||||
license = "Apache-2.0"
|
|
||||||
edition = "2018"
|
|
||||||
rust-version = "1.58"
|
|
||||||
+build = "build.rs"
|
|
||||||
|
|
||||||
[lib]
|
|
||||||
name = "nmstate"
|
|
||||||
diff --git a/rust/src/clib/build.rs b/rust/src/clib/build.rs
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000..74ad7e48
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/rust/src/clib/build.rs
|
|
||||||
@@ -0,0 +1,6 @@
|
|
||||||
+// SPDX-License-Identifier: Apache-2.0
|
|
||||||
+
|
|
||||||
+fn main() {
|
|
||||||
+ #[cfg(target_os = "linux")]
|
|
||||||
+ println!("cargo:rustc-cdylib-link-arg=-Wl,-soname=libnmstate.so.1");
|
|
||||||
+}
|
|
||||||
--
|
|
||||||
2.45.1
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
|||||||
From 248cd0bff6e3d030ee72b62a8a8b0e37e9f2ef80 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Fernando Fernandez Mancera <ffmancera@riseup.net>
|
|
||||||
Date: Tue, 29 Nov 2022 23:56:13 +0100
|
|
||||||
Subject: [PATCH] nm: reverse IPv6 order before adding them to setting
|
|
||||||
|
|
||||||
This is a downstream patch that needs to be applied before any other
|
|
||||||
patch. Please check:
|
|
||||||
|
|
||||||
https://github.com/nmstate/nmstate/commit/2d0cfd5ad8e049f30cad10d977a5fae8bc4e6b64
|
|
||||||
|
|
||||||
Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>
|
|
||||||
---
|
|
||||||
libnmstate/nm/ipv6.py | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/libnmstate/nm/ipv6.py b/libnmstate/nm/ipv6.py
|
|
||||||
index 8e01fd70..7eb3196c 100644
|
|
||||||
--- a/libnmstate/nm/ipv6.py
|
|
||||||
+++ b/libnmstate/nm/ipv6.py
|
|
||||||
@@ -157,7 +157,7 @@ def _set_dynamic(setting_ip, is_dhcp, is_autoconf):
|
|
||||||
|
|
||||||
|
|
||||||
def _set_static(setting_ip, ip_addresses):
|
|
||||||
- for address in ip_addresses:
|
|
||||||
+ for address in reversed(ip_addresses):
|
|
||||||
if iplib.is_ipv6_link_local_addr(
|
|
||||||
address[InterfaceIPv6.ADDRESS_IP],
|
|
||||||
address[InterfaceIPv6.ADDRESS_PREFIX_LENGTH],
|
|
||||||
--
|
|
||||||
2.38.1
|
|
||||||
|
|
@ -1,184 +0,0 @@
|
|||||||
From daf5e4e2282312a80ade85ac5728babf8b9af8b5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Lubomir Rintel <lkundrak@v3.sk>
|
|
||||||
Date: Mon, 17 Jun 2024 19:25:07 +0200
|
|
||||||
Subject: [PATCH] nm: don't clear connection DNS if global DNS is not specified
|
|
||||||
|
|
||||||
If the global DNS state is not specified, let's not overwrite it in
|
|
||||||
Networkmanager profiles while doing unrelated changes.
|
|
||||||
|
|
||||||
This is consistent with mainline (Rust) version of nmstate.
|
|
||||||
|
|
||||||
Resolves: https://issues.redhat.com/browse/RHEL-31095
|
|
||||||
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
|
|
||||||
Signed-off-by: Gris Ge <fge@redhat.com>
|
|
||||||
---
|
|
||||||
libnmstate/dns.py | 2 +-
|
|
||||||
libnmstate/nm/connection.py | 10 +++++++---
|
|
||||||
libnmstate/nm/ipv4.py | 11 ++++++-----
|
|
||||||
libnmstate/nm/ipv6.py | 11 ++++++-----
|
|
||||||
libnmstate/nm/profile.py | 8 +++++---
|
|
||||||
libnmstate/nm/profiles.py | 7 ++++++-
|
|
||||||
6 files changed, 31 insertions(+), 18 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libnmstate/dns.py b/libnmstate/dns.py
|
|
||||||
index 5bb512e8..f50b9bfd 100644
|
|
||||||
--- a/libnmstate/dns.py
|
|
||||||
+++ b/libnmstate/dns.py
|
|
||||||
@@ -51,7 +51,7 @@ class DnsState:
|
|
||||||
self._config_changed = False
|
|
||||||
self._cur_dns_state = deepcopy(cur_dns_state) if cur_dns_state else {}
|
|
||||||
self._dns_state = merge_dns(des_dns_state, cur_dns_state or {})
|
|
||||||
- if self._dns_state == REMOVE_DNS_CONFIG:
|
|
||||||
+ if des_dns_state is not None and self._dns_state == REMOVE_DNS_CONFIG:
|
|
||||||
self._config_changed = True
|
|
||||||
elif des_dns_state and des_dns_state.get(DNS.CONFIG):
|
|
||||||
if cur_dns_state:
|
|
||||||
diff --git a/libnmstate/nm/connection.py b/libnmstate/nm/connection.py
|
|
||||||
index 6448e372..a6aac82c 100644
|
|
||||||
--- a/libnmstate/nm/connection.py
|
|
||||||
+++ b/libnmstate/nm/connection.py
|
|
||||||
@@ -104,11 +104,15 @@ class _ConnectionSetting:
|
|
||||||
return self._setting
|
|
||||||
|
|
||||||
|
|
||||||
-def create_new_nm_simple_conn(iface, nm_profile):
|
|
||||||
+def create_new_nm_simple_conn(iface, nm_profile, clear_dns=False):
|
|
||||||
nm_iface_type = Api2Nm.get_iface_type(iface.type)
|
|
||||||
iface_info = iface.to_dict()
|
|
||||||
- ipv4_set = create_ipv4_setting(iface_info.get(Interface.IPV4), nm_profile)
|
|
||||||
- ipv6_set = create_ipv6_setting(iface_info.get(Interface.IPV6), nm_profile)
|
|
||||||
+ ipv4_set = create_ipv4_setting(
|
|
||||||
+ iface_info.get(Interface.IPV4), nm_profile, clear_dns
|
|
||||||
+ )
|
|
||||||
+ ipv6_set = create_ipv6_setting(
|
|
||||||
+ iface_info.get(Interface.IPV6), nm_profile, clear_dns
|
|
||||||
+ )
|
|
||||||
set_wait_ip(ipv4_set, ipv6_set, iface_info.get(Interface.WAIT_IP))
|
|
||||||
settings = [ipv4_set, ipv6_set]
|
|
||||||
con_setting = _ConnectionSetting()
|
|
||||||
diff --git a/libnmstate/nm/ipv4.py b/libnmstate/nm/ipv4.py
|
|
||||||
index 32b3428e..3f4de059 100644
|
|
||||||
--- a/libnmstate/nm/ipv4.py
|
|
||||||
+++ b/libnmstate/nm/ipv4.py
|
|
||||||
@@ -13,7 +13,7 @@ from .common import NM
|
|
||||||
INT32_MAX = 2**31 - 1
|
|
||||||
|
|
||||||
|
|
||||||
-def create_setting(config, base_con_profile):
|
|
||||||
+def create_setting(config, base_con_profile, clear_dns=True):
|
|
||||||
setting_ipv4 = None
|
|
||||||
if base_con_profile and config and config.get(InterfaceIPv4.ENABLED):
|
|
||||||
setting_ipv4 = base_con_profile.get_setting_ip4_config()
|
|
||||||
@@ -28,10 +28,11 @@ def create_setting(config, base_con_profile):
|
|
||||||
setting_ipv4.props.route_metric = Route.USE_DEFAULT_METRIC
|
|
||||||
setting_ipv4.clear_routes()
|
|
||||||
setting_ipv4.clear_routing_rules()
|
|
||||||
- setting_ipv4.clear_dns()
|
|
||||||
- setting_ipv4.clear_dns_searches()
|
|
||||||
- setting_ipv4.clear_dns_options(False)
|
|
||||||
- setting_ipv4.props.dns_priority = nm_dns.DEFAULT_DNS_PRIORITY
|
|
||||||
+ if clear_dns:
|
|
||||||
+ setting_ipv4.clear_dns()
|
|
||||||
+ setting_ipv4.clear_dns_searches()
|
|
||||||
+ setting_ipv4.clear_dns_options(False)
|
|
||||||
+ setting_ipv4.props.dns_priority = nm_dns.DEFAULT_DNS_PRIORITY
|
|
||||||
|
|
||||||
if not setting_ipv4:
|
|
||||||
setting_ipv4 = NM.SettingIP4Config.new()
|
|
||||||
diff --git a/libnmstate/nm/ipv6.py b/libnmstate/nm/ipv6.py
|
|
||||||
index f84d895c..fb3cdcf0 100644
|
|
||||||
--- a/libnmstate/nm/ipv6.py
|
|
||||||
+++ b/libnmstate/nm/ipv6.py
|
|
||||||
@@ -67,7 +67,7 @@ def get_info(active_connection, applied_config):
|
|
||||||
return info
|
|
||||||
|
|
||||||
|
|
||||||
-def create_setting(config, base_con_profile):
|
|
||||||
+def create_setting(config, base_con_profile, clear_dns=True):
|
|
||||||
setting_ip = None
|
|
||||||
if base_con_profile and config and config.get(InterfaceIPv6.ENABLED):
|
|
||||||
setting_ip = base_con_profile.get_setting_ip6_config()
|
|
||||||
@@ -82,10 +82,11 @@ def create_setting(config, base_con_profile):
|
|
||||||
setting_ip.props.gateway = None
|
|
||||||
setting_ip.props.route_table = Route.USE_DEFAULT_ROUTE_TABLE
|
|
||||||
setting_ip.props.route_metric = Route.USE_DEFAULT_METRIC
|
|
||||||
- setting_ip.clear_dns()
|
|
||||||
- setting_ip.clear_dns_searches()
|
|
||||||
- setting_ip.clear_dns_options(False)
|
|
||||||
- setting_ip.props.dns_priority = nm_dns.DEFAULT_DNS_PRIORITY
|
|
||||||
+ if clear_dns:
|
|
||||||
+ setting_ip.clear_dns()
|
|
||||||
+ setting_ip.clear_dns_searches()
|
|
||||||
+ setting_ip.clear_dns_options(False)
|
|
||||||
+ setting_ip.props.dns_priority = nm_dns.DEFAULT_DNS_PRIORITY
|
|
||||||
|
|
||||||
if not setting_ip:
|
|
||||||
setting_ip = NM.SettingIP6Config.new()
|
|
||||||
diff --git a/libnmstate/nm/profile.py b/libnmstate/nm/profile.py
|
|
||||||
index a0b1c8f8..acb849b6 100644
|
|
||||||
--- a/libnmstate/nm/profile.py
|
|
||||||
+++ b/libnmstate/nm/profile.py
|
|
||||||
@@ -273,7 +273,9 @@ class NmProfile:
|
|
||||||
self._iface.type == InterfaceType.ETHERNET and self._iface.is_peer
|
|
||||||
)
|
|
||||||
|
|
||||||
- def prepare_config(self, save_to_disk, gen_conf_mode=False):
|
|
||||||
+ def prepare_config(
|
|
||||||
+ self, save_to_disk, gen_conf_mode=False, clear_dns=True
|
|
||||||
+ ):
|
|
||||||
if self._iface.is_absent or (
|
|
||||||
self._iface.is_down
|
|
||||||
and not gen_conf_mode
|
|
||||||
@@ -307,7 +309,7 @@ class NmProfile:
|
|
||||||
# of nmstate should provide full/merged configure.
|
|
||||||
if self._iface.is_changed or self._iface.is_desired:
|
|
||||||
self._nm_simple_conn = create_new_nm_simple_conn(
|
|
||||||
- self._iface, self._nm_profile
|
|
||||||
+ self._iface, self._nm_profile, clear_dns
|
|
||||||
)
|
|
||||||
elif self._nm_profile:
|
|
||||||
self._nm_simple_conn = NM.SimpleConnection.new_clone(
|
|
||||||
@@ -316,7 +318,7 @@ class NmProfile:
|
|
||||||
else:
|
|
||||||
try:
|
|
||||||
self._nm_simple_conn = create_new_nm_simple_conn(
|
|
||||||
- self._iface, self._nm_profile
|
|
||||||
+ self._iface, self._nm_profile, clear_dns
|
|
||||||
)
|
|
||||||
# No error for undesired interface
|
|
||||||
except NmstateError:
|
|
||||||
diff --git a/libnmstate/nm/profiles.py b/libnmstate/nm/profiles.py
|
|
||||||
index e68efdf3..9ce21938 100644
|
|
||||||
--- a/libnmstate/nm/profiles.py
|
|
||||||
+++ b/libnmstate/nm/profiles.py
|
|
||||||
@@ -52,6 +52,7 @@ class NmProfiles:
|
|
||||||
|
|
||||||
def apply_config(self, net_state, save_to_disk):
|
|
||||||
if net_state.dns.config_changed:
|
|
||||||
+ clear_profile_dns = True
|
|
||||||
if net_state.use_global_dns:
|
|
||||||
apply_global_dns(
|
|
||||||
net_state.dns.config_servers,
|
|
||||||
@@ -60,6 +61,8 @@ class NmProfiles:
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
apply_global_dns([], [], [])
|
|
||||||
+ else:
|
|
||||||
+ clear_profile_dns = False
|
|
||||||
|
|
||||||
self._prepare_state_for_profiles(net_state)
|
|
||||||
# The activation order on bridge/bond ports determins their controler's
|
|
||||||
@@ -74,7 +77,9 @@ class NmProfiles:
|
|
||||||
|
|
||||||
for profile in all_profiles:
|
|
||||||
profile.import_current()
|
|
||||||
- profile.prepare_config(save_to_disk, gen_conf_mode=False)
|
|
||||||
+ profile.prepare_config(
|
|
||||||
+ save_to_disk, gen_conf_mode=False, clear_dns=clear_profile_dns
|
|
||||||
+ )
|
|
||||||
_use_uuid_as_controller_and_parent(all_profiles)
|
|
||||||
|
|
||||||
changed_ovs_bridges_and_ifaces = {}
|
|
||||||
--
|
|
||||||
2.45.2
|
|
||||||
|
|
@ -1,70 +0,0 @@
|
|||||||
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
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQIzBAABCAAdFiEESP1vrlFad7SENoIch4lWe4cVzrwFAmZFuTcACgkQh4lWe4cV
|
|
||||||
zrx0Jg/9FaBh+ine42rKdD+vSITPnGMB2pNSgU8RMdb35fpypVE6Fx4zavvlN14r
|
|
||||||
rqO+DA57n2NAQ0Cj+n1HOaCxzbfYG2hAX8NwuFN3iY/KadqUdjdPx9G8vEzZDOFu
|
|
||||||
MCRZxUVIyrHBB9eoTLbhF6hd0XqWminHK43xaLZFBXZAe7DO9QEz+VxM77qsZaE5
|
|
||||||
EhxASs2mUERvjuY61h9lJb41DOxGLZBM5950S9lDM8cE9ZOi7H/8Q/8fhBPdHh5T
|
|
||||||
ubPZxsgEBQPEBPz6lE5g4Wcc8ggiCROEuUqRmOTpkb6smgFDsLtCBTakv1Z2U5Q0
|
|
||||||
YKdnDBfw7T9EV3dhkHR/AHvrLDUZ/bTwe6vO0GQBaSLG/WhvcftzuiDKTcqpAVOm
|
|
||||||
yUdxla1tinB0cDXohGb50VV9aHd9gFisoLGsPE7BJTqSKhCoQL2zToLHNaMnxNtz
|
|
||||||
/fJTOyGq1bBtchjbXjaoQO8sa/cxrllWlBYVjaTH7vqwgActrznos/N1sASrMfTw
|
|
||||||
H1VCKRgwurnomWoIbFNKxPnXNW0Lo31paWhW9wVD78J7Kf9xHrfYiOK2siYgSP7x
|
|
||||||
nVMuMHZ/j9/EOgHZAPZN3Aod0LWK0/WNwTyFB4IQcLWLaBYVhqlFhShtPo8MeIsJ
|
|
||||||
Wy7UQmGhtnP8Mt1DQTsfWCH8lQnWpIb84xHYXSEs+2e39GRDCq8=
|
|
||||||
=lwjx
|
|
||||||
-----END PGP SIGNATURE-----
|
|
@ -1,99 +0,0 @@
|
|||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
||||||
|
|
||||||
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
|
|
||||||
i2QY7dEEs/uMRtq8C8kSWg==
|
|
||||||
=259x
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
@ -1,531 +0,0 @@
|
|||||||
%?python_enable_dependency_generator
|
|
||||||
%define srcname nmstate
|
|
||||||
%define libname libnmstate
|
|
||||||
|
|
||||||
Name: nmstate
|
|
||||||
Version: 1.4.6
|
|
||||||
Release: 4%{?dist}
|
|
||||||
Summary: Declarative network manager API
|
|
||||||
License: LGPLv2+
|
|
||||||
URL: https://github.com/%{srcname}/%{srcname}
|
|
||||||
Source0: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz
|
|
||||||
Source1: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz.asc
|
|
||||||
Source2: https://www.nmstate.io/nmstate.gpg
|
|
||||||
Source3: %{url}/releases/download/v%{version}/%{srcname}-vendor-%{version}.tar.xz
|
|
||||||
# Patches 0X are reserved to downstream only
|
|
||||||
Patch0: BZ_2132570-nm-reverse-IPv6-order-before-adding-them-to-setting.patch
|
|
||||||
Patch10: 0001-clib-Use-build.rs-to-fix-SONAME.patch
|
|
||||||
Patch11: RHEL-44623-fix-global-dns.patch
|
|
||||||
Patch12: RHEL-31095-do-not-clear-iface-dns-when-not-desired.patch
|
|
||||||
BuildRequires: python3-devel
|
|
||||||
BuildRequires: python3-setuptools
|
|
||||||
BuildRequires: gnupg2
|
|
||||||
BuildRequires: rust-toolset
|
|
||||||
BuildRequires: pkg-config
|
|
||||||
Requires: python3-setuptools
|
|
||||||
Requires: python3-%{libname} = %{?epoch:%{epoch}:}%{version}-%{release}
|
|
||||||
|
|
||||||
%description
|
|
||||||
Nmstate is a library with an accompanying command line tool that manages host
|
|
||||||
networking settings in a declarative manner and aimed to satisfy enterprise
|
|
||||||
needs to manage host networking through a northbound declarative API and multi
|
|
||||||
provider support on the southbound.
|
|
||||||
|
|
||||||
|
|
||||||
%package -n python3-%{libname}
|
|
||||||
Summary: nmstate Python 3 API library
|
|
||||||
BuildArch: noarch
|
|
||||||
Requires: NetworkManager-libnm >= 1:1.26.0
|
|
||||||
# Use Recommends for NetworkManager because only access to NM DBus is required,
|
|
||||||
# but NM could be running on a different host
|
|
||||||
Recommends: NetworkManager
|
|
||||||
# Avoid automatically generated profiles
|
|
||||||
Recommends: NetworkManager-config-server
|
|
||||||
# Use Suggests for NetworkManager-ovs and NetworkManager-team since it is only
|
|
||||||
# required for OVS and team support
|
|
||||||
Suggests: NetworkManager-ovs
|
|
||||||
Suggests: NetworkManager-team
|
|
||||||
Requires: nispor
|
|
||||||
Requires: python3dist(varlink)
|
|
||||||
|
|
||||||
%package -n nmstate-plugin-ovsdb
|
|
||||||
Summary: nmstate plugin for OVS database manipulation
|
|
||||||
BuildArch: noarch
|
|
||||||
Requires: python3-%{libname} = %{?epoch:%{epoch}:}%{version}-%{release}
|
|
||||||
# The python-openvswitch rpm pacakge is not in the same repo with nmstate,
|
|
||||||
# hence state it as Recommends, no requires.
|
|
||||||
Recommends: python3dist(ovs)
|
|
||||||
|
|
||||||
|
|
||||||
%package libs
|
|
||||||
Summary: C binding of nmstate
|
|
||||||
License: ASL 2.0
|
|
||||||
|
|
||||||
%package devel
|
|
||||||
Summary: C binding development files of nmstate
|
|
||||||
License: ASL 2.0
|
|
||||||
Requires: nmstate-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
|
||||||
|
|
||||||
%description libs
|
|
||||||
This package contains the C binding of nmstate.
|
|
||||||
|
|
||||||
%description devel
|
|
||||||
This package contains the C binding development files of nmstate.
|
|
||||||
|
|
||||||
%description -n python3-%{libname}
|
|
||||||
This package contains the Python 3 library for nmstate.
|
|
||||||
|
|
||||||
%description -n nmstate-plugin-ovsdb
|
|
||||||
This package contains the nmstate plugin for OVS database manipulation.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
gpg2 --import --import-options import-export,import-minimal %{SOURCE2} > ./gpgkey-mantainers.gpg
|
|
||||||
gpgv2 --keyring ./gpgkey-mantainers.gpg %{SOURCE1} %{SOURCE0}
|
|
||||||
%autosetup -p1
|
|
||||||
|
|
||||||
pushd rust
|
|
||||||
# Source3 is vendored dependencies
|
|
||||||
%cargo_prep -V 3
|
|
||||||
popd
|
|
||||||
|
|
||||||
%build
|
|
||||||
%py3_build
|
|
||||||
|
|
||||||
pushd rust
|
|
||||||
# It is safe to ignore minimum rust version. The main blocker on MSRV is
|
|
||||||
# toml which just increase their MSRV by a robot for no hard reason.
|
|
||||||
%cargo_build --ignore-rust-version
|
|
||||||
popd
|
|
||||||
|
|
||||||
%install
|
|
||||||
%py3_install
|
|
||||||
pushd rust
|
|
||||||
env SKIP_PYTHON_INSTALL=1 \
|
|
||||||
PREFIX=%{_prefix} \
|
|
||||||
LIBDIR=%{_libdir} \
|
|
||||||
%make_install
|
|
||||||
popd
|
|
||||||
|
|
||||||
%files
|
|
||||||
%doc README.md
|
|
||||||
%doc examples/
|
|
||||||
%{_mandir}/man8/nmstatectl.8*
|
|
||||||
%{_mandir}/man8/nmstate-autoconf.8*
|
|
||||||
%{python3_sitelib}/nmstatectl
|
|
||||||
%{_bindir}/nmstatectl
|
|
||||||
%{_bindir}/nmstatectl-rust
|
|
||||||
%{_bindir}/nmstate-autoconf
|
|
||||||
|
|
||||||
%files -n python3-%{libname}
|
|
||||||
%license LICENSE
|
|
||||||
%{python3_sitelib}/%{libname}
|
|
||||||
%{python3_sitelib}/%{srcname}-*.egg-info/
|
|
||||||
%exclude %{python3_sitelib}/%{libname}/plugins/nmstate_plugin_*
|
|
||||||
%exclude %{python3_sitelib}/%{libname}/plugins/__pycache__/nmstate_plugin_*
|
|
||||||
|
|
||||||
%files -n nmstate-plugin-ovsdb
|
|
||||||
%{python3_sitelib}/%{libname}/plugins/nmstate_plugin_ovsdb*
|
|
||||||
%{python3_sitelib}/%{libname}/plugins/__pycache__/nmstate_plugin_ovsdb*
|
|
||||||
|
|
||||||
%files libs
|
|
||||||
%license rust/LICENSE
|
|
||||||
%{_libdir}/libnmstate.so.*
|
|
||||||
|
|
||||||
%files devel
|
|
||||||
%license LICENSE
|
|
||||||
%{_libdir}/libnmstate.so
|
|
||||||
%{_includedir}/nmstate.h
|
|
||||||
%{_libdir}/pkgconfig/nmstate.pc
|
|
||||||
|
|
||||||
%post libs
|
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%postun libs
|
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Sun Jul 14 2024 Gris Ge <fge@redhat.com> - 1.4.6-4
|
|
||||||
- Do not clear iface DNS if not desired. RHEL-31095
|
|
||||||
|
|
||||||
* 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
|
|
||||||
- Fix clib SONAME. RHEL-32218
|
|
||||||
|
|
||||||
* Thu May 16 2024 Gris Ge <fge@redhat.com> - 1.4.6-1
|
|
||||||
- Do not touch interface DNS if global DNS is used. RHEL-32218
|
|
||||||
|
|
||||||
* Wed Nov 15 2023 Gris Ge <fge@redhat.com> - 1.4.5-2
|
|
||||||
- Fix use case on purging DNS option. RHEL-13936
|
|
||||||
|
|
||||||
* Thu Nov 02 2023 Gris Ge <fge@redhat.com> - 1.4.5-1
|
|
||||||
- Support DNS option. RHEL-13936
|
|
||||||
|
|
||||||
* Wed Oct 04 2023 Wen Liang <wenliang@redhat.com> - 1.4.4-5
|
|
||||||
- Support treating string as int for address prefix-length. RHEL-3358
|
|
||||||
|
|
||||||
* Wed Aug 30 2023 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.4.4-4
|
|
||||||
- Fix issue with ovs-bridge and ovs-interface with same name. RHBZ#2231843
|
|
||||||
|
|
||||||
* Tue May 30 2023 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.4.4-3
|
|
||||||
- Support static route with auto-ip. RHBZ#2203277
|
|
||||||
|
|
||||||
* Mon Apr 24 2023 Gris Ge <fge@redhat.com> - 1.4.4-2
|
|
||||||
- Enable CI gating.
|
|
||||||
|
|
||||||
* Sun Apr 23 2023 Gris Ge <fge@redhat.com> - 1.4.4-1
|
|
||||||
- Upgrade to nmstate 1.4.4
|
|
||||||
|
|
||||||
* Wed Mar 29 2023 Gris Ge <fge@redhat.com> - 1.4.3-1
|
|
||||||
- Upgrade to nmstate 1.4.3. RHBZ#2179899
|
|
||||||
|
|
||||||
* Mon Feb 27 2023 Gris Ge <fge@redhat.com> - 1.4.2-4
|
|
||||||
- Ignore undesired iface config. RHBZ#2160416
|
|
||||||
|
|
||||||
* Thu Feb 23 2023 Gris Ge <fge@redhat.com> - 1.4.2-3
|
|
||||||
- Additional patch for SR-IOV. RHBZ#2160416
|
|
||||||
|
|
||||||
* Wed Feb 22 2023 Gris Ge <fge@redhat.com> - 1.4.2-2
|
|
||||||
- Enable YAML API in rust clib.
|
|
||||||
|
|
||||||
* Sat Feb 18 2023 Gris Ge <fge@redhat.com> - 1.4.2-1
|
|
||||||
- Upgrade to nmstate 1.4.2
|
|
||||||
|
|
||||||
* Mon Jan 09 2023 Gris Ge <fge@redhat.com> - 1.4.1-1
|
|
||||||
- Upgrade to nmstate-1.4.1
|
|
||||||
|
|
||||||
* Wed Dec 14 2022 Gris Ge <fge@redhat.com> - 1.4.0-1
|
|
||||||
- Upgrade to nmstate-1.4.0
|
|
||||||
|
|
||||||
* Thu Dec 01 2022 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.4.0.alpha.20221201
|
|
||||||
- Upgrade to nmstate-1.4.0.alpha.20221201
|
|
||||||
|
|
||||||
* Fri Nov 18 2022 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.3.4.alpha.20221118
|
|
||||||
- Upgrade to nmstate-1.3.4.alpha.20221118
|
|
||||||
|
|
||||||
* Mon Oct 24 2022 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.3.4.alpha.20221024
|
|
||||||
- Undo the branching misdone by Fernando.
|
|
||||||
|
|
||||||
* Mon Aug 15 2022 Gris Ge <fge@redhat.com> - 1.3.3-1
|
|
||||||
- Upgrade to nmstate-1.3.3
|
|
||||||
|
|
||||||
* Tue Aug 02 2022 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.3.2-1
|
|
||||||
- Upgrade to nmstate-1.3.2
|
|
||||||
|
|
||||||
* Wed Jul 20 2022 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.3.1-1
|
|
||||||
- Upgrade to nmstate-1.3.1
|
|
||||||
|
|
||||||
* Fri Jul 01 2022 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.3.1-0.alpha.20220701
|
|
||||||
- Upgrade to nmstate-1.3.1-0.alpha.20220701
|
|
||||||
|
|
||||||
* Mon Jun 13 2022 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.3.0-1
|
|
||||||
- Upgrade to nmstate-1.3.0-1
|
|
||||||
|
|
||||||
* Thu May 05 2022 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.3.0-0.alpha.20220505
|
|
||||||
- Upgrade to nmstate-1.3.0.alpha.20220505
|
|
||||||
|
|
||||||
* Thu Apr 07 2022 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.3.0-0.alpha.20220407
|
|
||||||
- Upgrade to nmstate-1.3.0.alpha.20220407
|
|
||||||
|
|
||||||
* Thu Mar 10 2022 Gris Ge <fge@redhat.com> - 1.3.0-0.alpha.20220310
|
|
||||||
Upgrade to nmstate-1.3.0-0.alpha.20220310
|
|
||||||
|
|
||||||
* Mon Feb 14 2022 Gris Ge <fge@redhat.com> - 1.2.1-1
|
|
||||||
- Upgrade to 1.2.1. RHBZ#1996618
|
|
||||||
|
|
||||||
* Thu Jan 27 2022 Gris Ge <ferferna@redhat.com> - 1.2.1-0.2.alpha2
|
|
||||||
- Upgrade to 1.2.1 alpha2. RHBZ#1996618
|
|
||||||
|
|
||||||
* Thu Jan 13 2022 Gris Ge <fge@redhat.com> - 1.2.1-0.1.alpha1
|
|
||||||
- Upgrade to 1.2.1 alpha1. RHBZ#1996618
|
|
||||||
|
|
||||||
* Thu Dec 16 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.2.0-1
|
|
||||||
- Upgrade to 1.2.0. RHBZ#1996618
|
|
||||||
|
|
||||||
* Thu Dec 09 2021 Gris Ge <fge@redhat.com> - 1.2.0-0.1.alpha2
|
|
||||||
- Upgrade to 1.2.0 alpha2. RHBZ#1996618
|
|
||||||
|
|
||||||
* Tue Oct 12 2021 Gris Ge <fge@redhat.com> - 1.2.0-0.1.alpha1
|
|
||||||
- Upgrade to 1.2.0 alpha1.
|
|
||||||
|
|
||||||
* Wed Sep 15 2021 Ana Cabral <acabral@redhat.com> - 1.1.1-0.1.alpha1
|
|
||||||
- Upgrade to 1.1.1 alpha1.
|
|
||||||
- Canonicalize ipv6 addresses for dns nameservers. RHBZ#1911241
|
|
||||||
- Throw better error when peer is missing for veth interfaces. RHBZ#1973973
|
|
||||||
|
|
||||||
* Tue Jul 27 2021 Gris Ge <fge@redhat.com> - 1.1.0-3
|
|
||||||
- Fix state=ignore for OVS interface. RHBZ#1944054
|
|
||||||
- Fix verification for next hop address 0.0.0.0. RHBZ#1985879
|
|
||||||
|
|
||||||
* Fri Jul 23 2021 Gris Ge <fge@redhat.com> - 1.1.0-2
|
|
||||||
- Preserving existing ethtool settings. RHBZ#1984764
|
|
||||||
|
|
||||||
* Thu Jul 15 2021 Gris Ge <fge@redhat.com> - 1.1.0-1
|
|
||||||
- Upgrade to 1.1.0.
|
|
||||||
|
|
||||||
* Fri Jul 09 2021 Gris Ge <fge@redhat.com> - 1.1.0-0.7.alpha7
|
|
||||||
- Upgarde to 1.1.0 alpha7.
|
|
||||||
|
|
||||||
* Thu Jul 01 2021 Gris Ge <fge@redhat.com> - 1.1.0-0.6.alpha6
|
|
||||||
- Upgrade to 1.1.0 alpha6.
|
|
||||||
|
|
||||||
* Mon Jun 21 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.1.0-0.5.alpha4
|
|
||||||
- Upgrade to 1.1.0 alpha4.
|
|
||||||
|
|
||||||
* Wed Jun 16 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.1.0-0.4.alpha3
|
|
||||||
- Rebuild to introduce CI gating tier1 tests. RHBZ#1813357
|
|
||||||
|
|
||||||
* Tue Jun 08 2021 Gris Ge <fge@redhat.com> - 1.1.0-0.3.alpha3
|
|
||||||
- Upgrade to 1.1.0 alpha3.
|
|
||||||
|
|
||||||
* Mon Jun 07 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.1.0-0.2
|
|
||||||
- Upgrade to 1.1.0 alpha2.
|
|
||||||
|
|
||||||
* Wed May 19 2021 Wen Liang <wenliang@redhat.com> - 1.1.0-0.1
|
|
||||||
- Upgrade to 1.1.0 alpha1.
|
|
||||||
|
|
||||||
* Tue Apr 20 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.3-1
|
|
||||||
- Upgrade to 1.0.3. RHBZ#1942458
|
|
||||||
|
|
||||||
* Fri Mar 26 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.2-6
|
|
||||||
- Rebuild for RHEL 8.5. RHBZ#1935710
|
|
||||||
|
|
||||||
* Fri Mar 26 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.2-5
|
|
||||||
- New patch for fixing unmanaged interfaces being managed. RHBZ#1935710
|
|
||||||
|
|
||||||
* Tue Feb 23 2021 Gris Ge <fge@redhat.com> - 1.0.2-4
|
|
||||||
- New patch for SRIOV decrease VF amount. RHBZ#1931355
|
|
||||||
|
|
||||||
* Tue Feb 23 2021 Gris Ge <fge@redhat.com> - 1.0.2-3
|
|
||||||
- Fix actiation failure when decrease VF mount on i40e. RHBZ#1931355
|
|
||||||
|
|
||||||
* Tue Feb 23 2021 Gris Ge <fge@redhat.com> - 1.0.2-2
|
|
||||||
- Fix nmstatectl return code of `set` command. RHBZ#1931751
|
|
||||||
|
|
||||||
* Fri Feb 19 2021 Gris Ge <fge@redhat.com> - 1.0.2-1
|
|
||||||
- Upgrade to 1.0.2.
|
|
||||||
|
|
||||||
* Wed Feb 10 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.2-0.3
|
|
||||||
- Fix sources name
|
|
||||||
|
|
||||||
* Wed Feb 10 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.2-0.2
|
|
||||||
- Upgrade to 1.0.2 alpha 2
|
|
||||||
|
|
||||||
* Tue Jan 26 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.2-0.1
|
|
||||||
- Upgrade to 1.0.2 alpha 1
|
|
||||||
|
|
||||||
* Tue Jan 19 2021 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.1-1
|
|
||||||
- Upgrade to 1.0.1. RHBZ#1881287
|
|
||||||
|
|
||||||
* Tue Jan 05 2021 Gris Ge <fge@redhat.com> - 1.0.1-0.1
|
|
||||||
- Upgrade to 1.0.1 alpha 1
|
|
||||||
|
|
||||||
* Tue Dec 08 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 1.0.0-1
|
|
||||||
- Upgrade to 1.0.0
|
|
||||||
|
|
||||||
* Mon Nov 16 2020 Gris Ge <fge@redhat.com> - 1.0.0-0.1
|
|
||||||
- Upgrade to 1.0.0 alpha 1
|
|
||||||
|
|
||||||
* Wed Oct 28 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.4.1-2
|
|
||||||
- Allow VRF port to hold IP information
|
|
||||||
|
|
||||||
* Thu Oct 22 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.4.1-1
|
|
||||||
- Upgrade to 0.4.1
|
|
||||||
|
|
||||||
* Tue Oct 20 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.4.0-3
|
|
||||||
- Add nispor as a dependency for CI gating
|
|
||||||
|
|
||||||
* Tue Oct 20 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.4.0-2
|
|
||||||
- Rebuild for CI gating
|
|
||||||
- Remove old patches from the repository
|
|
||||||
|
|
||||||
* Mon Sep 14 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.4.0-1
|
|
||||||
- Upgrade to 0.4.0
|
|
||||||
- Sync. up with upstream spec file.
|
|
||||||
|
|
||||||
* Tue Aug 18 2020 Gris Ge <fge@redhat.com> - 0.3.4-12
|
|
||||||
- New patch: OVSDB: Allowing remove all OVS ports. RHBZ#1869345
|
|
||||||
|
|
||||||
* Tue Aug 18 2020 Gris Ge <fge@redhat.com> - 0.3.4-11
|
|
||||||
- OVSDB: Allowing remove all OVS ports. RHBZ#1869345
|
|
||||||
|
|
||||||
* Thu Aug 06 2020 Gris Ge <fge@redhat.com> - 0.3.4-10
|
|
||||||
- OVSDB: Preserv old external_ids. RHBZ#1866269
|
|
||||||
|
|
||||||
* Tue Aug 04 2020 Gris Ge <fge@redhat.com> - 0.3.4-9
|
|
||||||
- Fix converting memory only profile to persistent. RHBZ#1859844
|
|
||||||
|
|
||||||
* Mon Aug 03 2020 Gris Ge <fge@redhat.com> - 0.3.4-8
|
|
||||||
- Fix failure when adding ovs bond to existing bridge. RHBZ#1858758
|
|
||||||
|
|
||||||
* Thu Jul 30 2020 Gris Ge <fge@redhat.com> - 0.3.4-7
|
|
||||||
- Remove existing inactivate NM profiles. RHBZ#1862025
|
|
||||||
|
|
||||||
* Wed Jul 29 2020 Gris Ge <fge@redhat.com> - 0.3.4-6
|
|
||||||
- New build to retrigger the CI gating.
|
|
||||||
|
|
||||||
* Wed Jul 29 2020 Gris Ge <fge@redhat.com> - 0.3.4-5
|
|
||||||
- Use new patch. RHBZ#1861668
|
|
||||||
|
|
||||||
* Wed Jul 29 2020 Gris Ge <fge@redhat.com> - 0.3.4-4
|
|
||||||
- Ignore unknown interface. RHBZ#1861668
|
|
||||||
|
|
||||||
* Tue Jul 28 2020 Gris Ge <fge@redhat.com> - 0.3.4-3
|
|
||||||
- Add support NetworkManaged exteranl managed interface. RHBZ#1861263
|
|
||||||
|
|
||||||
* Tue Jul 28 2020 Gris Ge <fge@redhat.com> - 0.3.4-2
|
|
||||||
- Hide MTU for OVS patch port. RHBZ#1858762
|
|
||||||
|
|
||||||
* Sat Jul 25 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.4-1
|
|
||||||
- Upgrade to 0.3.4
|
|
||||||
|
|
||||||
* Fri Jul 24 2020 Gris Ge <fge@redhat.com> - 0.3.3-3
|
|
||||||
- Allowing child been marked absent. RHBZ#1859148
|
|
||||||
|
|
||||||
* Mon Jul 06 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.3-2
|
|
||||||
- Fix bug 1850698
|
|
||||||
|
|
||||||
* Thu Jul 02 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.3-1
|
|
||||||
- Upgrade to 0.3.3
|
|
||||||
|
|
||||||
* Mon Jun 29 2020 Gris Ge <fge@redhat.com> - 0.3.2-6
|
|
||||||
- Improve performance by remove unneeded calls. RHBZ#1820009
|
|
||||||
|
|
||||||
* Mon Jun 29 2020 Gris Ge <fge@redhat.com> - 0.3.2-5
|
|
||||||
- Sort the pretty state with priority. RHBZ#1806474
|
|
||||||
|
|
||||||
* Mon Jun 29 2020 Gris Ge <fge@redhat.com> - 0.3.2-4
|
|
||||||
- Canonicalize IP address. RHBZ#1816612
|
|
||||||
|
|
||||||
* Mon Jun 29 2020 Gris Ge <fge@redhat.com> - 0.3.2-3
|
|
||||||
- Improve VLAN MTU error message. RHBZ#1788763
|
|
||||||
|
|
||||||
* Mon Jun 29 2020 Gris Ge <fge@redhat.com> - 0.3.2-2
|
|
||||||
- Fix bug 1850698
|
|
||||||
|
|
||||||
* Mon Jun 15 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.2-1
|
|
||||||
- Upgrade to 0.3.2
|
|
||||||
- Sync. up with upstream spec file
|
|
||||||
|
|
||||||
* Thu Jun 11 2020 Gris Ge <fge@redhat.com> - 0.3.1-1
|
|
||||||
- Upgrade to 0.3.1
|
|
||||||
|
|
||||||
* Wed May 13 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.3.0-1
|
|
||||||
- Upgrade to 0.3.0
|
|
||||||
- Sync. up with upstream spec file.
|
|
||||||
- Update signature verification.
|
|
||||||
|
|
||||||
* Tue Mar 31 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.9-1
|
|
||||||
- Upgrade to 0.2.9
|
|
||||||
|
|
||||||
* Wed Mar 25 2020 Gris Ge <fge@redhat.com> - 0.2.6-6
|
|
||||||
- Support 3+ DNS name server(IPv4 only or IPv6 only). RHBZ #1816043
|
|
||||||
|
|
||||||
* Fri Mar 20 2020 Gris Ge <fge@redhat.com> - 0.2.6-5
|
|
||||||
- Support static DNS with DHCP. RHBZ #1815112
|
|
||||||
|
|
||||||
* Thu Mar 12 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.6-4.8
|
|
||||||
- Fix bond mac and options regression. RHBZ #1809330
|
|
||||||
|
|
||||||
* Mon Mar 09 2020 Gris Ge <fge@redhat.com> - 0.2.6-3.8
|
|
||||||
- Fix change bond mode. RHBZ #1809330
|
|
||||||
|
|
||||||
* Mon Mar 02 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.6-2.7
|
|
||||||
- Fix cmd stuck when trying to create ovs-bond. RHBZ #1806249.
|
|
||||||
|
|
||||||
* Tue Feb 25 2020 Gris Ge <fge@redhat.com> - 0.2.6-1
|
|
||||||
- Upgrade to 0.2.6
|
|
||||||
|
|
||||||
* Thu Feb 20 2020 Gris Ge <fge@redhat.com> - 0.2.5-1
|
|
||||||
- Upgrade to 0.2.5
|
|
||||||
|
|
||||||
* Thu Feb 13 2020 Gris Ge <fge@redhat.com> - 0.2.4-2
|
|
||||||
- Fix failure when editing existing OVS interface. RHBZ #1786935
|
|
||||||
|
|
||||||
* Thu Feb 13 2020 Gris Ge <fge@redhat.com> - 0.2.4-1
|
|
||||||
- Upgrade to 0.2.4
|
|
||||||
|
|
||||||
* Wed Feb 05 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.3-1
|
|
||||||
- Upgrade to 0.2.3
|
|
||||||
|
|
||||||
* Tue Feb 04 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.2-3
|
|
||||||
- Fix the incorrect source
|
|
||||||
|
|
||||||
* Tue Feb 04 2020 Fernando Fernandez Mancera <ferferna@redhat.com> - 0.2.2-2
|
|
||||||
- Upgrade to 0.2.2
|
|
||||||
|
|
||||||
* Wed Jan 22 2020 Gris Ge <fge@redhat.com> - 0.2.0-3.1
|
|
||||||
- Fix the memeory leak of NM.Client. RHBZ #1784707
|
|
||||||
|
|
||||||
* Mon Dec 02 2019 Gris Ge <fge@redhat.com> - 0.2.0-2
|
|
||||||
- Fix the incorrect source tarbal.
|
|
||||||
|
|
||||||
* Mon Dec 02 2019 Gris Ge <fge@redhat.com> - 0.2.0-1
|
|
||||||
- Upgrade to nmstate 0.2.0
|
|
||||||
|
|
||||||
* Mon Dec 02 2019 Gris Ge <fge@redhat.com> - 0.1.1-4
|
|
||||||
- Fix the problem found by CI gating.
|
|
||||||
|
|
||||||
* Mon Dec 02 2019 Gris Ge <fge@redhat.com> - 0.1.1-3
|
|
||||||
- Bump dist number as RHEL 8.1.1 took 0.1.1-2.
|
|
||||||
|
|
||||||
* Mon Dec 02 2019 Gris Ge <fge@redhat.com> - 0.1.1-2
|
|
||||||
- Upgrade to nmstate 0.1.1.
|
|
||||||
|
|
||||||
* Tue Sep 10 2019 Gris Ge <fge@redhat.com> - 0.0.8-15
|
|
||||||
- Detach slaves without deleting them: RHBZ #1749632
|
|
||||||
|
|
||||||
* Fri Sep 06 2019 Gris Ge <fge@redhat.com> - 0.0.8-14
|
|
||||||
- Preserve (dynamic) IPv6 address base on MAC address: RHBZ #1748825
|
|
||||||
|
|
||||||
* Fri Sep 06 2019 Gris Ge <fge@redhat.com> - 0.0.8-13
|
|
||||||
- Prioritize master interfaces activaction: RHBZ #1749314
|
|
||||||
|
|
||||||
* Mon Sep 02 2019 Gris Ge <fge@redhat.com> - 0.0.8-12
|
|
||||||
- Fix slave activatoin race: RHBZ #1741440
|
|
||||||
|
|
||||||
* Mon Sep 02 2019 Gris Ge <fge@redhat.com - 0.0.8-11
|
|
||||||
- Add NetworkManager-config-server dependency: Fix RHBZ #1740085
|
|
||||||
|
|
||||||
* Thu Aug 15 2019 Gris Ge <fge@redhat.com> - 0.0.8-10
|
|
||||||
- Fix RHBZ #1740125
|
|
||||||
|
|
||||||
* Wed Aug 14 2019 Gris Ge <fge@redhat.com> - 0.0.8-9
|
|
||||||
- Fix RHBZ #1741049
|
|
||||||
|
|
||||||
* Wed Aug 14 2019 Gris Ge <fge@redhat.com> - 0.0.8-8
|
|
||||||
- Fix RHBZ #1740584
|
|
||||||
|
|
||||||
* Tue Aug 13 2019 Gris Ge <fge@redhat.com> - 0.0.8-7
|
|
||||||
- Fix RHBZ #1740554
|
|
||||||
|
|
||||||
* Tue Aug 13 2019 Gris Ge <fge@redhat.com> - 0.0.8-6
|
|
||||||
- Bump release tag as CNV took the -5.
|
|
||||||
|
|
||||||
* Tue Aug 13 2019 Gris Ge <fge@redhat.com> - 0.0.8-5
|
|
||||||
- Bump release tag as CNV took the -4.
|
|
||||||
|
|
||||||
* Tue Aug 13 2019 Gris Ge <fge@redhat.com> - 0.0.8-4
|
|
||||||
- Disable reapply on ipv6 to fix bug 1738101.
|
|
||||||
|
|
||||||
* Fri Jul 26 2019 Gris Ge <fge@redhat.com> - 0.0.8-3
|
|
||||||
- Fix the license to meet Fedora/RHEL guideline.
|
|
||||||
|
|
||||||
* Fri Jul 26 2019 Gris Ge <fge@redhat.com> - 0.0.8-2
|
|
||||||
- Relicense to LGPL2.1+.
|
|
||||||
|
|
||||||
* Fri Jul 26 2019 Gris Ge <fge@redhat.com> - 0.0.8-1
|
|
||||||
- Upgrade to 0.0.8.
|
|
||||||
|
|
||||||
* Fri Jun 14 2019 Gris Ge <fge@redhat.com> - 0.0.7-1
|
|
||||||
- Upgrade to 0.0.7.
|
|
||||||
|
|
||||||
* Mon Apr 22 2019 Gris Ge <fge@redhat.com> - 0.0.5-3
|
|
||||||
- Add missing runtime dependency.
|
|
||||||
|
|
||||||
* Thu Mar 21 2019 Gris Ge <fge@redhat.com> - 0.0.5-2
|
|
||||||
- Rebuild to enable CI testing.
|
|
||||||
|
|
||||||
* Mon Mar 18 2019 Gris Ge <fge@redhat.com> - 0.0.5-1
|
|
||||||
- Initial release
|
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-10
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
153
nmstate.spec
Normal file
153
nmstate.spec
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
%define srcname nmstate
|
||||||
|
%define libname libnmstate
|
||||||
|
|
||||||
|
Name: nmstate
|
||||||
|
Version: 2.2.38
|
||||||
|
Release: %autorelease
|
||||||
|
Summary: Declarative network manager API
|
||||||
|
License: Apache-2.0 AND LGPL-2.1-or-later
|
||||||
|
URL: https://github.com/%{srcname}/%{srcname}
|
||||||
|
Source0: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz
|
||||||
|
Source1: %{url}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz.asc
|
||||||
|
Source2: https://nmstate.io/nmstate.gpg
|
||||||
|
Source3: %{url}/releases/download/v%{version}/%{srcname}-vendor-%{version}.tar.xz
|
||||||
|
Requires: (nmstate-libs%{?_isa} = %{version}-%{release} if nmstate-libs)
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-setuptools
|
||||||
|
BuildRequires: gnupg2
|
||||||
|
BuildRequires: systemd-devel
|
||||||
|
BuildRequires: systemd-rpm-macros
|
||||||
|
BuildRequires: rust-toolset
|
||||||
|
|
||||||
|
%description
|
||||||
|
Nmstate is a library with an accompanying command line tool that manages host
|
||||||
|
networking settings in a declarative manner and aimed to satisfy enterprise
|
||||||
|
needs to manage host networking through a northbound declarative API and multi
|
||||||
|
provider support on the southbound.
|
||||||
|
|
||||||
|
|
||||||
|
%package libs
|
||||||
|
Summary: C binding of nmstate
|
||||||
|
# Use Recommends for NetworkManager because only access to NM DBus is required,
|
||||||
|
# but NM could be running on a different host
|
||||||
|
Recommends: NetworkManager
|
||||||
|
# Avoid automatically generated profiles
|
||||||
|
Recommends: NetworkManager-config-server
|
||||||
|
License: Apache-2.0
|
||||||
|
|
||||||
|
%description libs
|
||||||
|
C binding of nmstate.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for nmstate
|
||||||
|
Group: Development/Libraries
|
||||||
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
License: Apache-2.0
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Development files of nmstate C binding.
|
||||||
|
|
||||||
|
%package static
|
||||||
|
Summary: Static development files for nmstate
|
||||||
|
Group: Development/Libraries
|
||||||
|
License: Apache-2.0
|
||||||
|
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description static
|
||||||
|
Static C library bindings for nmstate.
|
||||||
|
|
||||||
|
%package -n python3-%{libname}
|
||||||
|
Summary: nmstate Python 3 API library
|
||||||
|
# Use Recommends for NetworkManager because only access to NM DBus is required,
|
||||||
|
# but NM could be running on a different host
|
||||||
|
Recommends: NetworkManager
|
||||||
|
# Avoid automatically generated profiles
|
||||||
|
Recommends: NetworkManager-config-server
|
||||||
|
Recommends: (nmstate-plugin-ovsdb if openvswitch)
|
||||||
|
# Use Suggests for NetworkManager-ovs and NetworkManager-team since it is only
|
||||||
|
# required for OVS and team support
|
||||||
|
Suggests: NetworkManager-ovs
|
||||||
|
Suggests: NetworkManager-team
|
||||||
|
Provides: nmstate-plugin-ovsdb = %{version}-%{release}
|
||||||
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
Obsoletes: nmstate-plugin-ovsdb < 2.0-1
|
||||||
|
License: Apache-2.0
|
||||||
|
|
||||||
|
%description -n python3-%{libname}
|
||||||
|
This package contains the Python 3 library for Nmstate.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
gpg2 --import --import-options import-export,import-minimal \
|
||||||
|
%{SOURCE2} > ./gpgkey-mantainers.gpg
|
||||||
|
gpgv2 --keyring ./gpgkey-mantainers.gpg %{SOURCE1} %{SOURCE0}
|
||||||
|
|
||||||
|
%autosetup -n %{name}-%{version_no_tilde} -p1 %{?rhel:-a3}
|
||||||
|
|
||||||
|
pushd rust
|
||||||
|
%if 0%{?rhel}
|
||||||
|
mv ../vendor ./
|
||||||
|
%cargo_prep -v vendor
|
||||||
|
%else
|
||||||
|
%cargo_prep
|
||||||
|
%endif
|
||||||
|
popd
|
||||||
|
|
||||||
|
%build
|
||||||
|
pushd rust
|
||||||
|
%cargo_build
|
||||||
|
%cargo_license_summary
|
||||||
|
%{cargo_license} > ../LICENSE.dependencies
|
||||||
|
%if 0%{?rhel}
|
||||||
|
%cargo_vendor_manifest
|
||||||
|
%endif
|
||||||
|
popd
|
||||||
|
|
||||||
|
pushd rust/src/python
|
||||||
|
%py3_build
|
||||||
|
popd
|
||||||
|
|
||||||
|
%install
|
||||||
|
env SKIP_PYTHON_INSTALL=1 \
|
||||||
|
PREFIX=%{_prefix} \
|
||||||
|
LIBDIR=%{_libdir} \
|
||||||
|
SYSCONFDIR=%{_sysconfdir} \
|
||||||
|
%make_install
|
||||||
|
|
||||||
|
pushd rust/src/python
|
||||||
|
%py3_install
|
||||||
|
popd
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc README.md
|
||||||
|
%license LICENSE.dependencies
|
||||||
|
%if 0%{?rhel}
|
||||||
|
%license rust/cargo-vendor.txt
|
||||||
|
%endif
|
||||||
|
%doc examples/
|
||||||
|
%{_mandir}/man8/nmstatectl.8*
|
||||||
|
%{_mandir}/man8/nmstate-autoconf.8*
|
||||||
|
%{_mandir}/man8/nmstate.service.8*
|
||||||
|
%{_bindir}/nmstatectl
|
||||||
|
%{_bindir}/nmstate-autoconf
|
||||||
|
%{_unitdir}/nmstate.service
|
||||||
|
%dir %{_sysconfdir}/%{name}
|
||||||
|
%{_sysconfdir}/%{name}/README
|
||||||
|
|
||||||
|
%files libs
|
||||||
|
%{_libdir}/libnmstate.so.*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_libdir}/libnmstate.so
|
||||||
|
%{_includedir}/nmstate.h
|
||||||
|
%{_libdir}/pkgconfig/nmstate.pc
|
||||||
|
|
||||||
|
%files -n python3-%{libname}
|
||||||
|
%license LICENSE
|
||||||
|
%{python3_sitelib}/%{libname}
|
||||||
|
%{python3_sitelib}/%{srcname}-*.egg-info/
|
||||||
|
|
||||||
|
%files static
|
||||||
|
%{_libdir}/libnmstate.a
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
%autochangelog
|
4
sources
Normal file
4
sources
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
SHA512 (nmstate-2.2.38.tar.gz) = 3842eaa4815a565d2639386f2e23cbfe63abe0be40a42e053c32fc63798749912c943adc89ac8b476383aa8b5f558f4bd9d5c443dcf98502c9af07c1c79dac51
|
||||||
|
SHA512 (nmstate-2.2.38.tar.gz.asc) = 18e5ed47b598ac912a9a891045e83c60eadfdf36f72638bab22b934423079f5d5cb9db028e26f4fe227e4ca5f40b613dfb98229250cc97d3ded9cfa4e5704f15
|
||||||
|
SHA512 (nmstate-vendor-2.2.38.tar.xz) = 846530768b30d199d619a976c75946411a0d931b03ffac28d30a45e975937d48d43ef94f5db7d8abb30b4166237e111d0990b8bbf244ae63e0e2338ec2da9035
|
||||||
|
SHA512 (nmstate.gpg) = 37452e2588d036ab3042d2d06503d678108b2f01c2320b1a5d641c0ba3396cd38971a583d3fac939ebb80d9fa90a62208c9d8b4f6199cd861e9107ff6ddb4f20
|
7
tests/cli_query_reapply.sh
Executable file
7
tests/cli_query_reapply.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash -ex
|
||||||
|
|
||||||
|
TMP_FILE=$(mktemp /tmp/nmstate.XXXXXX.yaml)
|
||||||
|
|
||||||
|
nmstatectl show > $TMP_FILE 2>/dev/null
|
||||||
|
|
||||||
|
nmstatectl set $TMP_FILE 2>/dev/null
|
12
tests/tests.yml
Normal file
12
tests/tests.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
- hosts: localhost
|
||||||
|
roles:
|
||||||
|
- role: standard-test-basic
|
||||||
|
tags:
|
||||||
|
- classic
|
||||||
|
remote_user: root
|
||||||
|
tests:
|
||||||
|
- cli_query_reapply:
|
||||||
|
dir: .
|
||||||
|
run: ./cli_query_reapply.sh
|
||||||
|
required_packages:
|
||||||
|
- nmstate
|
Loading…
Reference in New Issue
Block a user