Bug 2098591

Summary: setting "running" and "config" with different values failed but actually comes into force
Product: Red Hat Enterprise Linux 9 Reporter: Mingyu Shi <mshi>
Component: nmstateAssignee: Gris Ge <fge>
Status: CLOSED ERRATA QA Contact: Mingyu Shi <mshi>
Severity: low Docs Contact:
Priority: low    
Version: 9.1CC: ferferna, jiji, jishi, network-qe, till
Target Milestone: rcKeywords: Triaged
Target Release: ---Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-11-15 10:01:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mingyu Shi 2022-06-20 07:33:33 UTC
Description of problem:
echo "
hostname:
    running: a
    config: b
" | nmstatectl apply

It reports failed, but hostname "b" has been configured and running.

Version-Release number of selected component (if applicable):
nmstate-2.1.1-0.alpha.20220602.5accbd1.el9.x86_64

How reproducible:
100%

Steps to Reproduce:
echo "
hostname:
    running: a
    config: b
" | nmstatectl apply


Actual results:
[15:25:27@muflon-3 ~]0# hostname
muflon-3.lab.eng.brq.redhat.com
[15:25:44@muflon-3 ~]0# cat hostname.yaml 
hostname:
  running: muflon-3.lab.eng.brq.redhat.com
  config: test.name
[15:26:21@muflon-3 ~]0# nmstatectl set hostname.yaml 
Using 'set' is deprecated, use 'apply' instead.
[2022-06-20T07:26:27Z INFO  nmstate::nispor::show] Got unsupported interface lo type Loopback
[2022-06-20T07:26:27Z INFO  nmstate::nm::show] Got unsupported interface type generic: lo, ignoring
[2022-06-20T07:26:27Z INFO  nmstate::net_state] Ignoring kernel interface lo
[2022-06-20T07:26:27Z INFO  nmstate::net_state] Created checkpoint /org/freedesktop/NetworkManager/Checkpoint/1
[2022-06-20T07:26:28Z INFO  nmstate::nispor::show] Got unsupported interface lo type Loopback
[2022-06-20T07:26:28Z INFO  nmstate::nm::show] Got unsupported interface type generic: lo, ignoring
[2022-06-20T07:26:28Z ERROR nmstate::hostname] VerificationError: Verification fail, desire hostname.running: muflon-3.lab.eng.brq.redhat.com, current: Some("test.name")
[2022-06-20T07:26:28Z INFO  nmstate::net_state] Retrying on verification failure: VerificationError: Verification fail, desire hostname.running: muflon-3.lab.eng.brq.redhat.com, current: Some("test.name")
[2022-06-20T07:26:29Z INFO  nmstate::nispor::show] Got unsupported interface lo type Loopback
[2022-06-20T07:26:29Z INFO  nmstate::nm::show] Got unsupported interface type generic: lo, ignoring
[2022-06-20T07:26:29Z ERROR nmstate::hostname] VerificationError: Verification fail, desire hostname.running: muflon-3.lab.eng.brq.redhat.com, current: Some("test.name")
[2022-06-20T07:26:29Z INFO  nmstate::net_state] Retrying on verification failure: VerificationError: Verification fail, desire hostname.running: muflon-3.lab.eng.brq.redhat.com, current: Some("test.name")
[2022-06-20T07:26:30Z INFO  nmstate::nispor::show] Got unsupported interface lo type Loopback
[2022-06-20T07:26:30Z INFO  nmstate::nm::show] Got unsupported interface type generic: lo, ignoring
[2022-06-20T07:26:30Z ERROR nmstate::hostname] VerificationError: Verification fail, desire hostname.running: muflon-3.lab.eng.brq.redhat.com, current: Some("test.name")
[2022-06-20T07:26:30Z INFO  nmstate::net_state] Retrying on verification failure: VerificationError: Verification fail, desire hostname.running: muflon-3.lab.eng.brq.redhat.com, current: Some("test.name")
[2022-06-20T07:26:31Z INFO  nmstate::nispor::show] Got unsupported interface lo type Loopback
[2022-06-20T07:26:31Z INFO  nmstate::nm::show] Got unsupported interface type generic: lo, ignoring
[2022-06-20T07:26:31Z ERROR nmstate::hostname] VerificationError: Verification fail, desire hostname.running: muflon-3.lab.eng.brq.redhat.com, current: Some("test.name")
[2022-06-20T07:26:31Z INFO  nmstate::net_state] Retrying on verification failure: VerificationError: Verification fail, desire hostname.running: muflon-3.lab.eng.brq.redhat.com, current: Some("test.name")
[2022-06-20T07:26:32Z INFO  nmstate::nispor::show] Got unsupported interface lo type Loopback
[2022-06-20T07:26:32Z INFO  nmstate::nm::show] Got unsupported interface type generic: lo, ignoring
[2022-06-20T07:26:32Z ERROR nmstate::hostname] VerificationError: Verification fail, desire hostname.running: muflon-3.lab.eng.brq.redhat.com, current: Some("test.name")
[2022-06-20T07:26:32Z INFO  nmstate::net_state] Rollbacked to checkpoint /org/freedesktop/NetworkManager/Checkpoint/1
NmstateError: VerificationError: Verification fail, desire hostname.running: muflon-3.lab.eng.brq.redhat.com, current: Some("test.name")
[15:26:32@muflon-3 ~]65# hostname
test.name
[15:26:38@muflon-3 ~]0# nmstatectl show | head
[2022-06-20T07:26:55Z INFO  nmstate::nispor::show] Got unsupported interface lo type Loopback
[2022-06-20T07:26:55Z INFO  nmstate::nm::show] Got unsupported interface type generic: lo, ignoring
---
hostname:
  running: test.name
  config: test.name

Expected results:
If failed, nmstate should change nothing 

Additional info:

Comment 3 Mingyu Shi 2022-08-05 07:09:02 UTC
Verified with:
nmstate-2.1.3-1.el9.x86_64
NetworkManager-1.39.10-1.el9.x86_64

If both `running` and `config` are set, show the running one(hostname, uname -a, etc)
After rebooting, the `running` before rebooting is cleaned up, show the `config` value(also mapped to `running`)

Comment 5 errata-xmlrpc 2022-11-15 10:01:25 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (nmstate bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:7991