NFS-based remote root hangs when running 'netplan apply'

Bug #1769682 reported by Mathieu Trudel-Lapierre
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
initramfs-tools (Ubuntu)
Fix Released
Undecided
Unassigned
Xenial
Fix Released
Undecided
Unassigned
Artful
Won't Fix
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned
netplan.io (Ubuntu)
Fix Released
Undecided
Unassigned
Xenial
Invalid
Undecided
Unassigned
Artful
Invalid
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned
nplan (Ubuntu)
Invalid
Undecided
Unassigned
Xenial
Fix Released
Undecided
Unassigned
Artful
Fix Released
Undecided
Unassigned
Bionic
Invalid
Undecided
Unassigned

Bug Description

[Impact]
Netboot users with a remote filesystem over NFS (possibly over other networked filesystems).

[Test cases]
1) Boot a system with its root filesystem over NFS.
2) Run 'sudo netplan apply'
3) Validate that the system remains responsive and keeps connectivity over the same IP address as it had.

[Regression potential]
This SRU changes network properties, and enforces that networkd does not release and re-request an IP address from DHCP when it is restarted. Environments relying on the IP release/renew behavior may find themselves staying on the previous IP address, which might negatively impact connectivity. Changes in connectivity on a system running netplan should be investigated as a potential regression from this SRU. Other regression possibilities would include failure to get a new IP address over time (usually seen as losing connectivity) or possible IP conflicts on a network.

---

With a system booted on the network, with its remote root fs on NFS:

Running 'netplan apply' restarts systemd-networkd, which releases the IP received from DHCP. With no IP (and and IP potentially changing), the NFS server can't be reached so the system hangs.

'netplan apply' or restarting systemd-networkd should not affect teh system, it should continue working normally despite "changing" network states, as long as the effective IP remains the same.

description: updated
Changed in nplan (Ubuntu):
status: New → Invalid
Changed in nplan (Ubuntu Bionic):
status: New → Invalid
Changed in netplan.io (Ubuntu Xenial):
status: New → Invalid
Changed in netplan.io (Ubuntu Artful):
status: New → Invalid
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Mathieu, or anyone else affected,

Accepted netplan.io into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/netplan.io/0.36.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in netplan.io (Ubuntu Bionic):
status: New → Fix Committed
tags: added: verification-needed verification-needed-bionic
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Mathieu, or anyone else affected,

Accepted nplan into artful-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/nplan/0.32~17.10.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-artful to verification-done-artful. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-artful. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in nplan (Ubuntu Artful):
status: New → Fix Committed
tags: added: verification-needed-artful
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Mathieu, or anyone else affected,

Accepted nplan into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/nplan/0.32~16.04.5 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in nplan (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-needed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package netplan.io - 0.37.1

---------------
netplan.io (0.37.1) cosmic; urgency=medium

  * tests/integration.py: fix autopkgtests to be less flaky, especially given
    changes in systemd-networkd's behavior regarding Router Advertisements.

 -- Mathieu Trudel-Lapierre <email address hidden> Fri, 11 May 2018 09:58:19 -0400

Changed in netplan.io (Ubuntu):
status: New → Fix Released
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

This is fixed in cosmic; there a new version of initramfs-tools (0.130ubuntu6).

Changed in initramfs-tools (Ubuntu):
status: New → Fix Released
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Verification-doen for xenial: nplan 0.32~16.04.5

Verified that booting a NFS-based remote root system works correctly when /run/netplan/ens3.yaml is written; 'critical: true' is recognized as a valid option in the YAML.

tags: added: verification-done-xenial
removed: verification-needed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in initramfs-tools (Ubuntu Artful):
status: New → Confirmed
Changed in initramfs-tools (Ubuntu Bionic):
status: New → Confirmed
Changed in initramfs-tools (Ubuntu Xenial):
status: New → Confirmed
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Verification-done for bionic with netplan.io 0.36.2:

Verified that critical: true is now recognized as a valid option and the NFS connectivity is maintained when running 'netplan apply' when it is set in config.

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Verification-done for artful with nplan 0.32~17.10.4:

Verified behavior for 'critical: true'; when set the IPs are correcly not released on systemd-networkd restart, which maintains connectivity to the server.

tags: added: verification-done-artful verification-done-bionic
removed: verification-needed verification-needed-artful verification-needed-bionic
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nplan - 0.32~17.10.4

---------------
nplan (0.32~17.10.4) artful; urgency=medium

  * bond/bridge: Support suffixes for time-based values so things like
    "mii-monitor-interval" can support milliseconds. (LP: #1745597)
  * debian/postinst: Write breadcrumbs on disk in /etc/network/interfaces to
    denote the migration to using netplan. (LP: #1756742)
  * DHCPv4: add a "dhcp-identifier: mac" field that can be set to fix interop
    with Windows Server-based DHCP servers which don't support RFC 4361.
    (LP: #1738998)
  * IPv6: accept-ra should default to being unset, so that the kernel default
    can be used. (LP: #1732002)
  * doc/netplan.md: Clarify the behavior for time-based values for bonds
    and bridges. (LP: #1756587)
  * critical: provide a way to set "CriticalConnection=true" on a networkd
    connection, especially for remote-fs scenarios. (LP: #1769682)
  * networkd: don't wipe out /run/netplan on generate: we do want to keep any
    YAML configurations in that directory, we just need to remove generated
    wpasupplicant configs. (LP: #1764869)

 -- Mathieu Trudel-Lapierre <email address hidden> Tue, 08 May 2018 11:04:30 -0400

Changed in nplan (Ubuntu Artful):
status: Fix Committed → Fix Released
Revision history for this message
Chris Halse Rogers (raof) wrote : Update Released

The verification of the Stable Release Update for nplan has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package nplan - 0.32~16.04.5

---------------
nplan (0.32~16.04.5) xenial; urgency=medium

  * bond/bridge: Support suffixes for time-based values so things like
    "mii-monitor-interval" can support milliseconds. (LP: #1745597)
  * Do not attempt to rebind driver 'qeth'. (LP: #1756322)
  * Allow setting ClientIdentifier=mac for networkd-renderered devices
    (LP: #1738998)
  * IPv6: accept-ra should default to being unset, so that the kernel default
    can be used. (LP: #1732002)
  * doc/netplan.md: Clarify the behavior for time-based values for bonds
    and bridges. (LP: #1756587)
  * critical: provide a way to set "CriticalConnection=true" on a networkd
    connection, especially for remote-fs scenarios. (LP: #1769682)
  * networkd: don't wipe out /run/netplan on generate: we do want to keep any
    YAML configurations in that directory, we just need to remove generated
    wpasupplicant configs. (LP: #1764869)

 -- Mathieu Trudel-Lapierre <email address hidden> Tue, 08 May 2018 10:36:24 -0400

Changed in nplan (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package netplan.io - 0.36.2

---------------
netplan.io (0.36.2) bionic; urgency=medium

  * doc/netplan.md: Clarify the behavior for time-based values for bonds
    and bridges. (LP: #1756587)
  * critical: provide a way to set "CriticalConnection=true" on a networkd
    connection, especially for remote-fs scenarios. (LP: #1769682)

 -- Mathieu Trudel-Lapierre <email address hidden> Tue, 08 May 2018 15:33:48 -0400

Changed in netplan.io (Ubuntu Bionic):
status: Fix Committed → Fix Released
tags: removed: verification-done-artful verification-done-bionic verification-done-xenial
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Mathieu, or anyone else affected,

Accepted initramfs-tools into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/initramfs-tools/0.130ubuntu3.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in initramfs-tools (Ubuntu Bionic):
status: Confirmed → Fix Committed
tags: added: verification-needed verification-needed-bionic
Revision history for this message
Frank Steinberg (steinberg-9) wrote :

Today, I can confirm that with netplan.io 0.36.2 and initramfs-tools 0.130ubuntu3.2 the bug (initially supplied by me as duplicate #1767359) is fixed.

I simply added the -proposed repo, ran apt update&upgrade, reactivated a minimal netplan config, and rebooted the virtual machine which uses an nfsroot filesystem. It booted straight, and I could confirm from syslog that systemd-network took the DHCP client role, as configured by my netplan config.

Thanks a lot for your efforts!

Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Mathieu, or anyone else affected,

Accepted initramfs-tools into artful-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/initramfs-tools/0.125ubuntu12.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-artful to verification-done-artful. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-artful. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in initramfs-tools (Ubuntu Artful):
status: Confirmed → Fix Committed
tags: added: verification-needed-artful
Changed in initramfs-tools (Ubuntu Xenial):
status: Confirmed → Fix Committed
tags: added: verification-needed-xenial
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Mathieu, or anyone else affected,

Accepted initramfs-tools into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/initramfs-tools/0.122ubuntu8.12 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Verification-done for xenial with initramfs-tools/0.122ubuntu8.12:

critical: true is correctly written into /run/netplan/$interface.yaml; which makes networkd not bring down the interface when restarting, which avoids crashing the system.

tags: added: verification-done-xenial
removed: verification-needed-xenial
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

What are the plans for getting this fixed in bionic? Since I see an upload for this bug in bionic-proposed but it was released along with the fix for another bug that seems to be marked as verification-failed. I would prefer not to release xenial before bionic, if possible.

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

We need to clarify whether the other bug really is a verification-failed. I don't think it actually fails, it's just an incomplete fix given that there's existing config that we can't easily change post-install.

Changed in initramfs-tools (Ubuntu Artful):
status: Fix Committed → Won't Fix
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

In case the other fix is not really a verification-failed but simply an incomplete fix as you say, let's mark it as verification-done. But we'll also need someone to verify this bugfix here for bionic.

Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Mathieu, or anyone else affected,

Accepted initramfs-tools into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/initramfs-tools/0.130ubuntu3.3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Verification-done for bionic with initramfs-tools 0.130ubuntu3.3:

Verified that at boot the system does get the additional config for netplan in /run/netplan and that it forces systemd-networkd not to release the IP lease.

tags: added: verification-done-bionic
removed: verification-needed verification-needed-artful verification-needed-bionic
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package initramfs-tools - 0.130ubuntu3.3

---------------
initramfs-tools (0.130ubuntu3.3) bionic; urgency=medium

  [ Scott Moser ]
  * scripts/functions: write netplan config files to /run/netplan for
    network devices configured with configure_networking. (LP: #1769682)

  [ Mathieu Trudel-Lapierre ]
  * scripts/functions: add 'critical: true' parameter; requires netplan
    0.36.2. (LP: #1769682)
  * debian/rules: skip tests on non-x86 architectures, where they then to be
    false negatives (extra macaddress matching makes the tests fail to match
    expected values).

  [ John Gallagher ]
  * Work out the kernel modules required to support ZFS filesystems and add
    them as necessary. (LP: #1661629)

 -- Mathieu Trudel-Lapierre <email address hidden> Mon, 20 Aug 2018 11:01:52 -0400

Changed in initramfs-tools (Ubuntu Bionic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package initramfs-tools - 0.122ubuntu8.12

---------------
initramfs-tools (0.122ubuntu8.12) xenial; urgency=medium

  [ Scott Moser ]
  * scripts/functions: write netplan config files to /run/netplan for
    network devices configured with configure_networking. (LP: #1769682)

  [ Mathieu Trudel-Lapierre ]
  * scripts/functions: add 'critical: true' parameter; requires netplan
    0.32~16.04.5. (LP: #1769682)
  * debian/rules: skip tests on non-x86 architectures, where they then to be
    false negatives (extra macaddress matching makes the tests fail to match
    expected values).

 -- Mathieu Trudel-Lapierre <email address hidden> Wed, 16 May 2018 16:10:19 -0400

Changed in initramfs-tools (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Mathieu, or anyone else affected,

Accepted netplan.io into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/netplan.io/0.40~18.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in netplan.io (Ubuntu Bionic):
status: Fix Released → Fix Committed
tags: added: verification-needed verification-needed-bionic
removed: verification-done-bionic
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Verification done with netplan.io 0.40.1~18.04.1:

I have verified that when using ip=dhcp / ip6=dhcp on the kernel cmdline to boot to a remote filesystem; initramfs's scripts correctly write "critical: true" in /run/netplan/<interface>.yaml, and that config is correctly interpreted by netplan as being entirely valid, and generates a configuration for systemd-networkd that avoids releasing IP from DHCP on 'netplan apply'.

In such an environment, running 'netplan apply' correctly leaves IP addresses coming from DHCP untouched. "CriticalConnection=true" is present in the generated config for networkd.

tags: added: verification-done-bionic
removed: verification-needed verification-needed-bionic
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package netplan.io - 0.40.1~18.04.2

---------------
netplan.io (0.40.1~18.04.2) bionic; urgency=medium

  * Fix typo breaking rename on 'netplan apply'. (LP: #1770082)

netplan.io (0.40.1~18.04.1) bionic; urgency=medium

  * Backport netplan 0.40.1 to 18.04. (LP: #1793309)

netplan.io (0.40.1) cosmic; urgency=medium

  * tests/generate.py: use random.sample() instead of random.choices() to
    better support older pythons.
  * Deal gracefully with empty files on 'netplan apply' (LP: #1795343)

netplan.io (0.40) cosmic; urgency=medium

  * New upstream release:
    - networkd: route source is PreferredSource= not From=
    - Improve NetworkManager error reporting on unrenderable routes.
    - Don't render ipv4 dns-search unless we have an ipv4 address.
      (LP: #1786726)
    - Set permissive umask on networkd .network, .link and .netdev files
      (LP: #1736965, LP: #1768560)
    - Fix support for link-scope routes. (LP: #1747455)
    - Update man pages for deletion of replug code.
    - Spell Gratuitous ARP correctly and make it work. (LP: #1756701)
    - Many typo fixes for documentation. (LP: #1783940)
    - Various build system fixes.
    - Fix integration tests:
      - iproute2 output changes for link-scope routes
      - fix stability of networkd igmp-resend test
      - fix manual_addresses test now that networkd lists ~. domain
    - Deduplicate code for parsing interface options
    - Add support for optional-addresses.

netplan.io (0.39) cosmic; urgency=medium

  * New upstream release:
    - Allow link-local addresses to be configured. (LP: #1771704)
    - Forces bridges with no addresses to be brought online. (LP: #1736975)

netplan.io (0.38) cosmic; urgency=medium

  * New upstream release:
    - Write udev .rules files to /run/udev/rules.d to enforce interface
      renaming. (LP: #1770082)
    - Don't traceback for 'netplan ip leases' when iface is not managed or
      doesn't DHCP (LP: #1768823)
    - Fix duplicate "/" path separator in error messages (LP: #1771440)
    - Fix incorrect terminal reset in 'netplan try' on Ctrl-C. (LP: #1768798)
    - Updated doc entries: mtu, fix fwmark->mark, cleanup optional.
      (LP: #1768783)
    - Added documentation validation at build.
    - Added configuration example for multi-ip interfaces.
  * tests/integration.py: fix test_eth_and_bridge autopkg test harder.
  * debian/control:
    - Add iproute2 to Depends.
    - Add python3-netifaces to Depends, Build-Depends.

 -- Mathieu Trudel-Lapierre <email address hidden> Mon, 22 Oct 2018 15:02:30 -0400

Changed in netplan.io (Ubuntu Bionic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.