Bug 1464904 - [RFE] snapshot/rollback support for restoring managed state
[RFE] snapshot/rollback support for restoring managed state
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: NetworkManager (Show other bugs)
7.4
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Beniamino Galvani
Desktop QE
: FutureFeature
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-06-26 04:36 EDT by Vladimir Benes
Modified: 2018-04-10 09:28 EDT (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-04-10 09:27:23 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
[PATCH] checkpoint: better restore device managed state on rollback (1.67 KB, patch)
2017-07-05 07:51 EDT, Beniamino Galvani
no flags Details | Diff
[PATCH v2] checkpoint: better restore device managed state on rollback (2.97 KB, patch)
2017-07-19 08:22 EDT, Beniamino Galvani
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0778 None None None 2018-04-10 09:28 EDT

  None (edit)
Description Vladimir Benes 2017-06-26 04:36:14 EDT
Description of problem:
Now NM can restore unmanaged state but not the other way. 

this works:
    @snapshot_rollback_unmanaged
    Scenario: NM - general - snapshot and rollback unmanaged
    * Execute "nmcli device set eth1 managed off"
    * Snapshot "create" for "eth1" with timeout "10"
    * Execute "nmcli device set eth1 managed on"
    When "unmanaged" is not visible with command "nmcli device show eth1" in "5" seconds
    * Wait for at least "15" seconds
    Then "unmanaged" is visible with command "nmcli device show eth1" in "5" seconds

but this doesn't:
    @snapshot_rollback_unmanaged
    Scenario: NM - general - snapshot and rollback managed
    * Snapshot "create" for "eth1" with timeout "10"
    * Execute "nmcli device set eth1 managed off"
    When "unmanaged" is visible with command "nmcli device show eth1" in "5" seconds
    * Wait for at least "15" seconds
    Then "unmanaged" is not visible with command "nmcli device show eth1" in "5" seconds


Version-Release number of selected component (if applicable):
1.8.0
Comment 1 Beniamino Galvani 2017-07-05 07:51 EDT
Created attachment 1294549 [details]
[PATCH] checkpoint: better restore device managed state on rollback
Comment 2 Thomas Haller 2017-07-07 10:06:33 EDT
(In reply to Beniamino Galvani from comment #1)
> Created attachment 1294549 [details]
> [PATCH] checkpoint: better restore device managed state on rollback

+                         NM_UNMANAGED_USER_EXPLICIT,
+                         NM_UNMAN_FLAG_OP_SET_MANAGED,
+                         NM_DEVICE_STATE_REASON_NOW_UNMANAGED);

the reason seems wrong.

for certain unmanaged flags (especially USER_EXPLICIT), it makes a difference whether the flag is unspecified. See _get_managed_by_flags(). You should only touch the USER_EXPLICIT flag, if nm_device_get_unmanaged_mask() indicates that the flag is already set.
Probably, dev_checkpoint->unmanaged_explicit should not be boolean but tri-state (NMUnmanFlagOp).
Comment 3 Beniamino Galvani 2017-07-19 08:22 EDT
Created attachment 1301079 [details]
[PATCH v2] checkpoint: better restore device managed state on rollback

(In reply to Thomas Haller from comment #2)
> the reason seems wrong.

> Probably, dev_checkpoint->unmanaged_explicit should not be boolean but
> tri-state (NMUnmanFlagOp).

How about v2?
Comment 4 Thomas Haller 2017-08-18 11:39:48 EDT
v2 lgtm
Comment 9 errata-xmlrpc 2018-04-10 09:27:23 EDT
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, 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-2018:0778

Note You need to log in before you can comment on or make changes to this bug.