Bug 541410 - Starting NetworkManager kills NFS-mounted root
Summary: Starting NetworkManager kills NFS-mounted root
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: NetworkManager
Version: 12
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Dan Williams
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-11-25 19:30 UTC by Ed Swierk
Modified: 2013-01-28 01:56 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-12-04 02:47:10 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Ed Swierk 2009-11-25 19:30:46 UTC
On a net-booted system with a read-only NFS-mounted root filesystem, NetworkManager tries to take control of the interface that the initrd already set up, killing the NFS mount and hanging the system.

With the old-fashioned network scripts, I could add

  keep_old_ip=yes
  PERSISTENT_DHCLIENT=yes

to ifcfg-eth0 to get dhclient to start without monkeying with the interface.  I can't find a way to achieve the same thing with NetworkManager.

Adding NM_CONTROLLED=no to ifcfg-eth0 doesn't help unless I also add the right HWADDR=...  This is impractical since the root filesystem is shared among many clients and I don't know the MAC address ahead of time, anyway.

There needs to be a way to tell NetworkManager to start dhclient on an interface that's already up and configured, without doing anything that would kill NFS like bringing the interface down.

Comment 1 Ed Swierk 2009-11-25 19:37:46 UTC
Of course not using NetworkManager is an option, but I am hoping to eliminate differences between net-booted and local configurations in our cluster.  And it's nice to be able to use NM for wireless on a laptop that net-booted from a wired interface.

Comment 2 Dan Williams 2010-08-17 16:12:15 UTC
NM will "take over" an existing interface configuration if:

1) the interface's current configuration is reflected in backing system configuration in an ifcfg file in /etc/sysconfig/network-scripts/

2) if the interface uses DHCP, that the current dhclient leasefile exists in /var/lib/dhclient-<uuid>-<iface>.lease where <uuid> is the same as the UUID key in that ifcfg file

this "takeover" stuff was done a year ago exactly for this reason; if there's no backing configuration, the applications have no idea what network connection the interface is actually using, and you can't even "ifdown eth0" because there's no valid ifcfg-eth0 file to take down (or if there is, it almost certainly doesn't match whatever dracut configured the interface with).  If there's no dhclient leasefile in the specific location, then we can't direct dhclient to renew the current least because we can't find it.  We need to launch our own dhclient because the normal dhclient-script is insufficient for NM's purposes, and thus NM uses its own script when launching dhclient.  (and leases are connections specific, not interface specific, since you don't use the same lease at home and at work even though both might use interface eth0, hence the UUID requirement as part of the leasefile name)

I've discussed this issue with network-mounted root at length with Warren when he was still at Red Hat; basically dracut should be creating an ifcfg file using the current interface configuration (adding the UUID key using 'uuidgen'), after switchroot copying the ifcfg file and the dhclient leasefile to the the right places in the normal system.  NM will then seamlessly take over the interface and will not interrupt the existing connection.

If the dracut folks have any questions let me know...

Comment 3 Harald Hoyer 2010-08-17 16:26:26 UTC
(In reply to comment #2)
> I've discussed this issue with network-mounted root at length with Warren when
> he was still at Red Hat; basically dracut should be creating an ifcfg file
> using the current interface configuration (adding the UUID key using
> 'uuidgen'), after switchroot copying the ifcfg file and the dhclient leasefile
> to the the right places in the normal system.  NM will then seamlessly take
> over the interface and will not interrupt the existing connection.
> 
> If the dracut folks have any questions let me know...

there is no UUID used.. everything is in /dev/.initramfs/state/

There is no dracut script taking care of that stuff in post... I thought this was all set and done by Network-Manager?

Comment 4 Harald Hoyer 2010-08-17 16:27:14 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > I've discussed this issue with network-mounted root at length with Warren when
> > he was still at Red Hat; basically dracut should be creating an ifcfg file
> > using the current interface configuration (adding the UUID key using
> > 'uuidgen'), after switchroot copying the ifcfg file and the dhclient leasefile
> > to the the right places in the normal system.  NM will then seamlessly take
> > over the interface and will not interrupt the existing connection.
> > 
> > If the dracut folks have any questions let me know...
> 
> there is no UUID used.. everything is in /dev/.initramfs/state/
> 
> There is no dracut script taking care of that stuff in post... I thought this
> was all set and done by Network-Manager?

does that mean, that this does not work in Fedora 13, 14, RHEL6?

Comment 5 Harald Hoyer 2010-08-17 16:36:46 UTC
reassigning back

Comment 6 Bug Zapper 2010-11-04 05:21:00 UTC
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '12'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 12's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 12 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 7 Bug Zapper 2010-12-04 02:47:10 UTC
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


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