Bug 1345919 - initscripts should tell NetworkManger to ifcfg file even for NM_CONTROLLED=no
Summary: initscripts should tell NetworkManger to ifcfg file even for NM_CONTROLLED=no
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: initscripts
Version: 7.3
Hardware: x86_64
OS: Other
urgent
high
Target Milestone: rc
: 7.3
Assignee: initscripts Maintenance Team
QA Contact: Leos Pol
URL:
Whiteboard:
Depends On:
Blocks: 1304509 vdsm_config_NetworkMgr_to_be_passive 1344411 1346947 1347958
TreeView+ depends on / blocked
 
Reported: 2016-06-13 12:45 UTC by Thomas Haller
Modified: 2016-11-25 12:58 UTC (History)
14 users (show)

Fixed In Version: initscripts-9.49.31-1.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1344411
: 1346947 1347958 (view as bug list)
Environment:
Last Closed: 2016-11-04 06:44:16 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2456 0 normal SHIPPED_LIVE initscripts bug fix update 2016-11-03 14:04:56 UTC

Description Thomas Haller 2016-06-13 12:45:42 UTC
+++ This bug was initially created as a clone of Bug #1344411 +++


Scenario:

- NetworkManager is running, with monitor-connection-files=no (which is the default). Currently NetworkManager is managing the interface "eth0", for example because there is no ifcfg file with NM_CONTROLLED=no.

- user creates a new ifcfg-eth0, with NM_CONTROLLED=no

- user calls `ifup eth0`


Result:

NetworkManager does not learn that it should not manage the configuration. Instead, ifup will activate eth0 without using nmcli, and NetworkManager continues to interfere.

That is due to:

    if ! is_false $NM_CONTROLLED && is_nm_running; then
        nmcli con load "/etc/sysconfig/network-scripts/$CONFIG"
        UUID=$(get_uuid_by_config $CONFIG)
        [ -n "$UUID" ] && _use_nm=true
    fi



Expected Behavior:

ifup should notify NetworkManager to reload the file. Like:

    if is_nm_running; then
        nmcli con load "/etc/sysconfig/network-scripts/$CONFIG"
        if ! is_false $NM_CONTROLLED; then
            UUID=$(get_uuid_by_config $CONFIG)
            [ -n "$UUID" ] && _use_nm=true
        fi
    fi

Comment 1 Lukáš Nykrýn 2016-06-13 12:48:42 UTC
Change looks sane to me -> devel_ack.

Comment 2 Thomas Haller 2016-06-13 12:59:33 UTC
Maybe we should also replace

  nmcli con load "/etc/sysconfig/network-scripts/$CONFIG"

with

  dbus-send --system --print-reply \
      --dest=org.freedesktop.NetworkManager \
      /org/freedesktop/NetworkManager/Settings \
      org.freedesktop.NetworkManager.Settings.LoadConnections \
      array:string:"/etc/sysconfig/network-scripts/$CONFIG"




On a quick test (on my particular machine), the dbus-send call takes about 4ms, while the nmcli call takes 215ms.

Comment 3 Lukáš Nykrýn 2016-06-13 13:13:23 UTC
> On a quick test (on my particular machine), the dbus-send call takes about
> 4ms, while the nmcli call takes 215ms.

I think you should fix this in NM :-).

Comment 4 Fabian Deutsch 2016-06-13 13:24:26 UTC
+1

Comment 8 Dan Kenigsberg 2016-06-15 08:15:45 UTC
Would you be kind to release this fix in a quick z-stream, as it affects RHEV-4.0 badly

Comment 9 Bronce McClain 2016-06-15 15:09:13 UTC
Thanks Marcel for the PMApproval for z-stream inclusion. Do we know yet which z-stream it will be included in?

Comment 14 errata-xmlrpc 2016-11-04 06:44:16 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, 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://rhn.redhat.com/errata/RHBA-2016-2456.html


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