Bug 1347958 - 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 NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: initscripts
Version: 24
Hardware: x86_64
OS: Other
urgent
high
Target Milestone: ---
Assignee: Lukáš Nykrýn
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1345919
Blocks: 1304509 vdsm_config_NetworkMgr_to_be_passive 1344411 1346947
TreeView+ depends on / blocked
 
Reported: 2016-06-19 07:09 UTC by Dan Kenigsberg
Modified: 2016-07-11 08:56 UTC (History)
18 users (show)

Fixed In Version:
Clone Of: 1345919
Environment:
Last Closed: 2016-06-22 13:19:56 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Dan Kenigsberg 2016-06-19 07:09:11 UTC
+++ This bug was initially created as a clone of Bug #1345919 +++

+++ 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

--- Additional comment from Lukáš Nykrýn on 2016-06-13 15:48:42 IDT ---

Change looks sane to me -> devel_ack.

--- Additional comment from Thomas Haller on 2016-06-13 15:59:33 IDT ---

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 1 Lukáš Nykrýn 2016-06-22 13:19:56 UTC
Fixed in upstream https://git.fedorahosted.org/cgit/initscripts.git/commit/?id=61fb1cb4efd62120ffbc021d7fdee1cd25059c08 will ne in next version of initscripts.

Comment 2 Dan Kenigsberg 2016-06-22 14:37:26 UTC
I'm requesting to have it in currently-supported Fedora versions. Would it be available in f24?

Comment 3 Lukáš Nykrýn 2016-07-11 08:56:38 UTC
Just one more patch and I will do a new release of initscripts and include it in fedora.


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