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
|
||||
SOURCES/nmstate-vendor-1.4.6.tar.xz
|
||||
/nmstate-0.0.2.tar.gz
|
||||
/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