No distinction between link-up and link-down interfaces

Bug #1664844 reported by Mike Pontillo on 2017-02-15
46
This bug affects 5 people
Affects Status Importance Assigned to Milestone
MAAS
Wishlist
Unassigned
netplan
High
Łukasz Zemczak
netplan.io (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Unassigned
Zesty
Undecided
Unassigned
Artful
Undecided
Unassigned
Focal
Undecided
Unassigned
Groovy
Undecided
Unassigned
Hirsute
Undecided
Unassigned
systemd (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Unassigned
Zesty
Undecided
Unassigned
Focal
Undecided
Unassigned
Groovy
Undecided
Unassigned
Hirsute
Undecided
Unassigned

Bug Description

[Impact]

Since very long, we had a feature request in netplan to determine the activation mode of a given network interface. We got requests to enable marking some interfaces as 'manual', meaning that networkd (or any other backend) would not control its state in any way, requiring the administrator to bring the interface up or down manually. The other request was to mark a interface as 'off', that is: forcing the network interface to always be down until the configuration option isn't changed.

This was mainly requested for the networkd backend and requires the new feature of specifying ActivationPolicy= for interfaces, alongside the required netplan changes.

This feature is present in systemd 248 - for netplan supported stable series we have decided to cherry-pick and backport this feature on top of current systemd. The networkd feature basically adds the following 5 ActivationPolicy modes: always-down, down, manual, up, always-up. For netplan purposes we only use 'always-down' and 'manual'.

The netplan feature, hopefully landing as part of 0.103, is called 'activation-mode' and supports two values: 'manual' and 'off'.

[Test Case]

For the systemd part:

 * Bring up a VM test environment with either a dummy interface or an interface that can be safely manipulated.
 * Upgrade systemd to the -proposed version
 * For the target interface, create/modify the networkd configuration to include the ActivationPolicy= setting in [Link], for instance:

[Match]
Name=dummy0

[Network]
Address=192.168.10.30/24
Gateway=192.168.10.1

[Link]
ActivationPolicy=manual

 * Try all 5 combinations of ActivationPolicy values: always-down, down, manual, up, always-up - doing `sudo networkctl reload` everytime and checking if the interface behaves as expected.

[Where problems could occur]

The patchset modifies quite a lot of code in the networkd link handling code paths, so regressions could appear in how networkd manages links - maybe by suddenly certain interfaces not getting brought up as they were before. By code inspection, the implementation defaults to ACTIVATION_POLICY_UP as the default, equivalent to the current behavior, so this risk is small.

---

[Original Description]

[Old Impact]
Users need to write valid configuration, especially for new features that are approved by not yet implemented, such as marking a link "optional".

[Old Test case]
Write a netplan configuration:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      optional: yes
      dhcp4: yes

And run 'netplan apply'. Netplan should write configuration for the link and not error out with a syntax error.

[Old Regression potential]
This has a minimal potential for regression: the new keyword was added to be supported already by consumers of netplan (users, cloud-init) so that they could start writing config with the new key and that configuration to be seen as valid by netplan before the backend is implemented. There is no functional change besides allowing for the value to exist in a netplan configuation.

---

If I define an interface in netplan (even one which has no DHCP type and no addresses), it's not possible to determine if its adminStatus should be enabled (link up) or disabled (link down).

I can completely exclude an interface from the netplan configuration, but I think that implies that not only its adminStatus is "disabled" by default, but also netplan will not be able to do anything "nice" for the interface, such as rename it to what the user specified in MAAS.

If I include the interface but don't specify any addresses or DHCP, it isn't clear if it will be link up (my current assumption) or link down.

There should be a way to allow an interface to be recognized by netplan (and even partially configured, waiting for the user to run something like 'ifup <interface>' on a manual but not auto-started interface in ifupdown), but marked administratively disabled. (adminStatus down)

summary: - No distinction between link-up and link-down unconfigured interfaces
+ No distinction between link-up and link-down interfaces
description: updated
Revision history for this message
Ryan Harper (raharper) wrote :

IIUC, we're looking for an equivalent of 'manual' control?

Revision history for this message
Mike Pontillo (mpontillo) wrote :

In ifupdown, 'manual' mode does accomplish this, yes. The side effect of this is that systemd does not block booting if the interface hasn't been enabled yet.

So the two relevant configuration knobs are:

(1) Should this interface be brought online at boot time? (default adminStatus)
(2) Should this interface be required to be up (and configured with an IP address) before the machine continues to boot? (lack of this requirement is implied by manual mode plus "auto <ifname>" in ifupdown)

We have seen MAAS bugs where these use cases have been problematic, such as users configuring a "backup bond" which is not (yet) online. (See also #1553617.)

Revision history for this message
Mike Pontillo (mpontillo) wrote :

By the way, to add to (2) above, in order to create a link-down DHCP interface which does not block the boot process if DHCP fails, you also need another workaround involving a post-up/pre-down script to launch the DHCP client and release the address, respectively.

Revision history for this message
Ryan Harper (raharper) wrote : Re: [Bug 1664844] Re: No distinction between link-up and link-down interfaces

On Wed, Feb 15, 2017 at 12:16 PM, Mike Pontillo <<email address hidden>
> wrote:

> By the way, to add to (2) above, in order to create a link-down DHCP
> interface which does not block the boot process if DHCP fails, you also
> need another workaround involving a post-up/pre-down script to launch
> the DHCP client and release the address, respectively.
>

That doesn't seem right; either you want/need the interface to dhcp
(mode=auto)
and then of course you block the boot waiting on DHCP and mark that it
failed
Or it's manual, in which case it;s not blocking boot as it won't be
required "up"
to continue.

>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1664844
>
> Title:
> No distinction between link-up and link-down interfaces
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/netplan/+bug/1664844/+subscriptions
>

Revision history for this message
Mike Pontillo (mpontillo) wrote :

I respectfully disagree. Think of deploying a simple router, such as a home NAT gateway. You would likely want wan0 to be in a mode like I described, "link-up interface with DHCP enabled, but don't block boot if you can't DHCP".

 - If wan0 is not link up, I wouldn't want that to block boot. Maybe my ISP is having trouble. Maybe the dog chewed through the cable. I don't know. But I don't to block the boot process (and thus the other functions of the router) because of it. If I block boot, I can't even SSH into the box to figure out what went wrong.

 - If I can't get a DHCP address, that's a problem, but I still don't want to block the boot process. Hopefully my ISP's problem. But I don't want it to block boot. I want the normal DHCP client behavior of exponential-backoff-and-retry until it works. I want the router to be up and running, and properly sending "destination host unreachable" ICMP messages back to clients, not stuck waiting for systemd to confirm what I already know.

Revision history for this message
Ryan Harper (raharper) wrote :

On Wed, Feb 15, 2017 at 12:51 PM, Mike Pontillo <<email address hidden>
> wrote:

> I respectfully disagree. Think of deploying a simple router, such as a
> home NAT gateway. You would likely want wan0 to be in a mode like I
> described, "link-up interface with DHCP enabled, but don't block boot if
> you can't DHCP".
>

I certainly agree that there's a need for dynamic configuration of
interfaces.
Networkd doesn't currently provide a complete solution here. And it
certainly
does not provide any link-state monitoring either; but we didn't have one
in
ifupdown either; collection of additional hooks/scripts/tools providing
this function not-with-standing.

I don't think it's clear that not blocking or blocking is the right or
expected
behavior; it's certainly possible that not getting an IP via DHCP might be
equivalent to not booting if that's the only ingress to the box remotely.

> - If I can't get a DHCP address, that's a problem, but I still don't
> want to block the boot process. Hopefully my ISP's problem. But I don't
> want it to block boot. I want the normal DHCP client behavior of
> exponential-backoff-and-retry until it works. I want the router to be up
> and running, and properly sending "destination host unreachable" ICMP
> messages back to clients, not stuck waiting for systemd to confirm what
> I already know.
>

There's clearly a need for this feature, but I don't believe we want to
replicate
a collection of hooks/scripts to deliver this but rather examine what might
be
needed to deliver netlink monitoring/policy application as a first-class
feature.

I briefly looked at https://en.opensuse.org/Portal:Wicked which has a nanny
daemon listening to netlink and the network daemon to handle hotplug events
but can be extended to listen to link status and build actions based on
information.

>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1664844
>
> Title:
> No distinction between link-up and link-down interfaces
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/netplan/+bug/1664844/+subscriptions
>

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

Sounds to me like before we can implement something like this, we'd need a way to specify this to the renderer themselves. There will need bugs opened for NetworkManager and networkd to understand "administratively down" states -- ie. we configured this already but we want to keep the device down for now.

Also, as far as I know, systemd/networkd will follow their own rules, which likely currently enforce that interfaces defined as DHCP will attempt configuration even if there is no carrier. This should be tested carefully, and a bug opened if it's indeed an issue. We'll focus on just adminsitrative status for the bug report here.

Changed in netplan:
status: New → Incomplete
importance: Undecided → High
assignee: nobody → Mathieu Trudel-Lapierre (cyphermox)
Revision history for this message
Mike Pontillo (mpontillo) wrote :

This is a gray area but I want to say it impacts MAAS -- currently, we represent "link down" by leaving the interface out of the YAML. This is less than ideal.

If this gets fixed we will need to generate a cleaner Netplan YAML in MAAS.

tags: added: maas
Changed in maas:
status: New → Triaged
importance: Undecided → Wishlist
Changed in netplan:
importance: High → Wishlist
status: Incomplete → Triaged
Revision history for this message
Steve Langasek (vorlon) wrote :

> - If wan0 is not link up, I wouldn't want that to block
> boot. Maybe my ISP is having trouble. Maybe the dog chewed
> through the cable. I don't know. But I don't to block the
> boot process (and thus the other functions of the router)
> because of it. If I block boot, I can't even SSH into the
> box to figure out what went wrong.

I think this concern is based on an outdated concept of the boot process. Under systemd (which is the only init system for which netplan will be enabled), there is a distinction between 'network' and 'network-online' and only a small number of services will require 'network-online'. ssh is absolutely not one of them.

I think you're still describing a valid bug, in that it is likely useful to distinguish between required and optional interfaces for network-online. But the impact is much less than this.

Revision history for this message
Mike Pontillo (mpontillo) wrote :

This bug was observed with a backport of Netplan running on Xenial with systemd.

But if the systemd configuration files for each service will handle this by not blocking boot in the vast majority of cases, I'm happy with that, too.

Revision history for this message
Mike Pontillo (mpontillo) wrote :

Well, to clarify, I guess I'm not 100% happy with that. ;-)

What you describe will work for the majority of server and cloud use cases. But installing Ubuntu on a router (or L3 switch) will be problematic if nothing happens when links go up or down. Actions need to be taken, such as adding or removing routes, so that the kernel doesn't attempt to route traffic to link-down interfaces.

That is, with a standard ifupdown configuration, I observe that when an interface becomes link-down (assuming it is administratively up per ifupdown) the IP addresses remain configured, the local routes remain in place, and any routes via the interface remain in the kernel. Arguably this is incorrect behavior, and I don't know if networkd handles this in some different way. (If I remember correctly, it behaved similarly to ifupdown, but correct me if I'm wrong.)

Steve Langasek (vorlon) on 2017-05-25
Changed in netplan:
milestone: none → netplan-17.05
importance: Wishlist → High
Revision history for this message
Steve Langasek (vorlon) wrote :

On Thu, May 25, 2017 at 04:00:16AM -0000, Mike Pontillo wrote:
> Well, to clarify, I guess I'm not 100% happy with that. ;-)

Nor should you be! As I said, this is a valid bug.

> What you describe will work for the majority of server and cloud use
> cases. But installing Ubuntu on a router (or L3 switch) will be
> problematic if nothing happens when links go up or down. Actions need to
> be taken, such as adding or removing routes, so that the kernel doesn't
> attempt to route traffic to link-down interfaces.

Of course, but that is not a function of the netplan yaml declaration; it's
a function of the network config renderer. ifupdown has *no* policy daemon
for handling link-up/link-down events, therefore with ifupdown you don't get
any sensible handling. networkd and NetworkManager should both handle
link-down events correctly. If you find that networkd is *not* handling a
link-down event by removing the routes, please file a bug on systemd for
this and reference it here so we can prioritize resolving it.

The original bug report here that is relevant to netplan is not about
handling transitions between link-up/link-down state, it's about being able
to provide configuration for a network interface with the intent that either
a) this interface will not be automatically brought up, or b) this interface
will not be considered towards network-online status.

On Thu, May 25, 2017 at 03:54:17AM -0000, Mike Pontillo wrote:
> This bug was observed with a backport of Netplan running on Xenial with
> systemd.

If you specifically observed that sshd was not running on a system that had
at least one up interface, that is not the designed behavior and I don't see
any way that this would be a result of a netplan or networkd bug. Please
report a bug on systemd if this is reproducible.

--
Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer http://www.debian.org/
<email address hidden> <email address hidden>

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Just to clarify, it's not ever possible to /block/ boot with systemd. Even if all networking is required to complete a boot, but all of them fail, the system will come in "degraded" state. But as much as possible, will be configured.

What one can affect is boot ordering, and what is required to reach certain targets quicker. For example, it sounds like for the systemd-networkd-wait-online.service you may want to extend --ignore= argument with the interfaces that are "semi-managed". They are under networkd control, but one does not care about them during boot.

tags: added: id-59dd420cf831805e3c59b950
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

I think we're conflating two different issues here; marking a device as "optional" and not required for boot is different than specifying configuration for it, but expecting a backend to leave the interface down.

I'm adding "optional" as a valid config for now so we can start generating valid config, even if that won't be doing much until we have an implementation ready.

Revision history for this message
Steve Langasek (vorlon) wrote :

Agreed, these are two separate features, both of which we should support - though optional is the higher priority one, which has bubbled up elsewhere in addition, and having 'optional' is likely a usable workaround for Mike's use case.

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

I'll let him comment, but I don't think it is. 'optional' doesn't mean "please know about this config but also don't bring up the interface".

nplan 0.30 is in artful unapproved now, it adds the 'optional' key as something valid for config files.

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

Can we get the description follow https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template ? Thank you!

description: updated
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Please test proposed package

Hello Mike, or anyone else affected,

Accepted nplan into zesty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/nplan/0.32~17.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-zesty to verification-done-zesty. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-zesty. In either case, details of your testing will help us make a better decision.

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

Changed in nplan (Ubuntu Zesty):
status: New → Fix Committed
tags: added: verification-needed verification-needed-zesty
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Mike, 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.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-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, details of your testing will help us make a better decision.

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
tags: added: verification-failed-xenial
removed: verification-needed-xenial
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

nplan 0.32~16.04.2 fails to build because I mismerged 0.32 and broke the code skipping the test_routes_v6 test in the NetworkManager case. Therefore, it can't possibly pass SRU verification.

Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Mike, 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.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-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, details of your testing will help us make a better decision.

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

tags: added: verification-needed-xenial
removed: verification-failed-xenial
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Autopktests still failing for xenial; the test is still not being skipped (we know it won't work on Xenial due to the version of NM shipped there). Marking verification-failed-xenial.

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

Hello Mike, 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.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-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, details of your testing will help us make a better decision.

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

tags: added: verification-needed-xenial
removed: verification-failed-xenial
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

verification-done for xenial 0.32~16.04.3, and zesty 0.32~17.04.1:

I verified that the 'optional' keyword is correctly recognized and accepted as valid syntax by netplan.

tags: added: verification-done-xenial verification-done-zesty
removed: verification-needed verification-needed-xenial verification-needed-zesty
Revision history for this message
TomaszChmielewski (mangoo-wpkg) wrote :

I still see the issue on Ubuntu 17.10.

Using USB wifi device.

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

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

Changed in nplan (Ubuntu):
status: New → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.3 KiB)

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

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

  * tests/integration.py: Really fix skipping test_routes_v6 for the NM
    backend.

nplan (0.32~16.04.2) xenial; urgency=medium

  * tests/integration.py: Fix test_routes_v6 that I clobbered when I re-applied
    the skip rules for 16.04 after merging in 0.32.

nplan (0.32~16.04.1) xenial; urgency=medium

  * Backport netplan 0.32 to 16.04. (LP: #1713142)
  * debian/control: Depend on systemd (>= 229-4ubuntu20) for the PrimarySlave
    feature backported in that revision.
  * tests/integration.py: Skip tests that are still not yet supported in xenial

nplan (0.32) bionic; urgency=medium

  * src/nm.c: better handle the UUID generation; the order of iterating
    through interaces may affect things here. Also make sure the tests catch
    a null UUID.

nplan (0.31) bionic; urgency=medium

  [ Mathieu Trudel-Lapierre ]
  * src/nm.c: generate a UUID for a connection only as needed; when we're
    dealing with NM VLANs. (LP: #1712921)
  * debian/tests/autostart: Make the autostart test more verbose and avoid
    failing right from the start when systemd-networkd is disabled.
    (LP: #1699371)
  * tests/integration.py: bump the NetworkManager timeout for settling to
    120 seconds, autopkgtest infrastructure tends to be a little slow for the
    network device configuration to be applied and noticed by NM.
    (LP: #1699371)

  [ Dimitri John Ledkov ]
  * Reload udevd to invalidate configuration cache of .rules/.link files
    as generate step may have changed them. LP: #1669564

  [ Dan Streetman ]
  * Add another interface driver exception to netplan replug to prevent unbind
    of the Xen VIF interfaces. (LP: #1729573)

nplan (0.30) artful; urgency=medium

  * Add an "optional" syntax node for now to all devices. This is unimplemented
    for now, but intended to allow users to mark some devices as optional: to
    make sure they do not delay boot when configured. (LP: #1664844)

nplan (0.29) artful; urgency=medium

  * Fix autopkgtests in a world where /run/NetworkManager/conf.d already
    exists. nplan is enabled by default, so it might well have the directory
    already created on the filesystem.

nplan (0.28) artful; urgency=medium

  * Revert 56cd3eec which disabled IPv6 Router Advertisements by default. It
    broke default network config in LXD and was contrary to the defaults used
    by the kernel. Reopens LP: 1655440. (LP: #1717404)
  * Add "accept-ra:" key for all device types; this will default to OFF but
    allow users to disable processing Router Advertisements when required by
    their network setup. (LP: #1655440)

nplan (0.27) artful; urgency=medium

  [ Mathieu Trudel-Lapierre ]
  * Fix crash in systemd generator if called by an user on the command-line
  * coverage: fix exclusions to properly not cover our "never reached defaults"

  [ Dimitri John Ledkov ]
  * tests/integration.py: In teardown, stop systemd-networkd.socket.
  * src/networkd.c: Set UseMTU=true by default, whenever DHCP is in use.
    (LP: #1717471)
  * tests/integration.py: fix resolved detection.

nplan (0.26) artful; urgency=medium

 ...

Read more...

Changed in nplan (Ubuntu Xenial):
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 :
Download full text (4.8 KiB)

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

---------------
nplan (0.32~17.04.1) zesty; urgency=medium

  * Backport 0.32 to 17.04. (LP: #1713142)

nplan (0.32) bionic; urgency=medium

  * src/nm.c: better handle the UUID generation; the order of iterating
    through interaces may affect things here. Also make sure the tests catch
    a null UUID.

nplan (0.31) bionic; urgency=medium

  [ Mathieu Trudel-Lapierre ]
  * src/nm.c: generate a UUID for a connection only as needed; when we're
    dealing with NM VLANs. (LP: #1712921)
  * debian/tests/autostart: Make the autostart test more verbose and avoid
    failing right from the start when systemd-networkd is disabled.
    (LP: #1699371)
  * tests/integration.py: bump the NetworkManager timeout for settling to
    120 seconds, autopkgtest infrastructure tends to be a little slow for the
    network device configuration to be applied and noticed by NM.
    (LP: #1699371)

  [ Dimitri John Ledkov ]
  * Reload udevd to invalidate configuration cache of .rules/.link files
    as generate step may have changed them. LP: #1669564

  [ Dan Streetman ]
  * Add another interface driver exception to netplan replug to prevent unbind
    of the Xen VIF interfaces. (LP: #1729573)

nplan (0.30) artful; urgency=medium

  * Add an "optional" syntax node for now to all devices. This is unimplemented
    for now, but intended to allow users to mark some devices as optional: to
    make sure they do not delay boot when configured. (LP: #1664844)

nplan (0.29) artful; urgency=medium

  * Fix autopkgtests in a world where /run/NetworkManager/conf.d already
    exists. nplan is enabled by default, so it might well have the directory
    already created on the filesystem.

nplan (0.28) artful; urgency=medium

  * Revert 56cd3eec which disabled IPv6 Router Advertisements by default. It
    broke default network config in LXD and was contrary to the defaults used
    by the kernel. Reopens LP: 1655440. (LP: #1717404)
  * Add "accept-ra:" key for all device types; this will default to OFF but
    allow users to disable processing Router Advertisements when required by
    their network setup. (LP: #1655440)

nplan (0.27) artful; urgency=medium

  [ Mathieu Trudel-Lapierre ]
  * Fix crash in systemd generator if called by an user on the command-line
  * coverage: fix exclusions to properly not cover our "never reached defaults"

  [ Dimitri John Ledkov ]
  * tests/integration.py: In teardown, stop systemd-networkd.socket.
  * src/networkd.c: Set UseMTU=true by default, whenever DHCP is in use.
    (LP: #1717471)
  * tests/integration.py: fix resolved detection.

nplan (0.26) artful; urgency=medium

  * Bonding:
    - Add support for specifying a primary slave. (LP: #1709135)
  * Rebind:
    - Fix brcmfmac harder. Treat any 'brcmfmac' driver as not supporting
      rebind. (LP: #1712224)
  * Autopkgtests:
    - Add allow-stderr. Systemd now bleats about a the networkd socket still
      being around and enabled when we restart the service; but we don't need
      to care since we're /restarting/ the service to load the new config.
    - Fix the autostart package to be more sensible: we don't really care if
 ...

Read more...

Changed in nplan (Ubuntu Zesty):
status: Fix Committed → Fix Released
Changed in netplan:
status: Triaged → In Progress
Revision history for this message
Chris Halse Rogers (raof) wrote : Please test proposed package

Hello Mike, 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.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 nplan (Ubuntu Artful):
status: New → Fix Committed
tags: added: verification-needed verification-needed-artful
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Hello Mike, 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.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-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!

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

Accepted for xenial-proposed. Please test the package and set the verification-done-xenial on success. Thank you!

Changed in nplan (Ubuntu Xenial):
status: Fix Released → Fix Committed
tags: added: verification-needed-xenial
tags: removed: verification-done-xenial
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Verified nplan 0.32~17.10.3 for artful:
Verified nplan 0.32~16.04.4 for xenial:

nplan behaves as expected when the keyword "optional: yes" is set; device gets ignored by systemd-networkd-wait-online; which will report the correct status based on whether other devices are providing a connection.

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

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

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

  * Don't silently break Bridge Priority by adding port-priority.

nplan (0.32~17.10.2) artful; urgency=medium

  * Fix syntax for IPv6 addresses in doc. (LP: #1735317)
  * doc: routes are not top-level but per-interface. (LP: #1726695)
  * Implement bridge port-priority parameter. (LP: #1735821)
  * Implement "optional: true" to correctly write systemd network definitions
    with "RequiredForOnline=false", such that these networks do not block boot.
    (LP: #1664844)
  * Various documentation fixes. (LP: #1751814)

 -- Mathieu Trudel-Lapierre <email address hidden> Fri, 02 Mar 2018 16:50:47 -0500

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

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

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

  [ Oliver Grawert ]
  * Prevent unbinding ath6kl_sdio, driver does not support it correctly.
    (LP: #1741910)

  [ Mathieu Trudel-Lapierre ]
  * Re-add snap support patch. (LP: #1747714)
  * Fix syntax for IPv6 addresses in doc. (LP: #1735317)
  * doc: routes are not top-level but per-interface. (LP: #1726695)
  * Implement bridge port-priority parameter. (LP: #1735821)
  * Implement "optional: true" to correctly write systemd network definitions
    with "RequiredForOnline=false", such that these networks do not block boot.
    (LP: #1664844)
  * Various documentation fixes. (LP: #1751814)

 -- Mathieu Trudel-Lapierre <email address hidden> Fri, 02 Mar 2018 17:02:03 -0500

Changed in nplan (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Repurposing this bug now to track the feature work for a specific activation mode option in netplan to keep interfaces administratively down (or manually configured)

Changed in nplan (Ubuntu):
status: Confirmed → In Progress
Changed in nplan (Ubuntu Xenial):
status: Fix Released → Fix Committed
status: Fix Committed → In Progress
Changed in nplan (Ubuntu Zesty):
status: Fix Released → In Progress
Changed in nplan (Ubuntu Artful):
status: Fix Released → In Progress
Changed in nplan (Ubuntu Xenial):
status: In Progress → Fix Released
Revision history for this message
Mattias Thidell (mattias.thidell.coloreel) wrote :

Accidentally pressed "Fix Release" for (Ubuntu Xenail)
Didn't even know I had permission to change status to "Fix Release"

Please revert my changes to "In Progress"

Steve Langasek (vorlon) on 2019-02-28
Changed in nplan (Ubuntu Xenial):
status: Fix Released → In Progress
Revision history for this message
Nico Orrù (nigu-orru) wrote :

I need this too. How do I vote?

Changed in nplan (Ubuntu Zesty):
status: In Progress → Won't Fix
Changed in nplan (Ubuntu Artful):
status: In Progress → Won't Fix
tags: removed: verification-done-artful verification-done-xenial verification-done-zesty
Changed in systemd (Ubuntu):
status: New → In Progress
Changed in systemd (Ubuntu Zesty):
status: New → Won't Fix
affects: nplan (Ubuntu) → netplan.io (Ubuntu)
Changed in systemd (Ubuntu Xenial):
status: New → Won't Fix
Changed in netplan.io (Ubuntu Xenial):
status: In Progress → Won't Fix
Dan Streetman (ddstreet) on 2019-12-13
Changed in systemd (Ubuntu):
status: In Progress → Fix Released
Dan Streetman (ddstreet) on 2019-12-13
Changed in systemd (Ubuntu):
status: Fix Released → Confirmed
status: Confirmed → New
Revision history for this message
Mark Shuttleworth (sabdfl) wrote :

Is there an updated target release for the ability to describe configuration for an interface (such as name) but leave the interface down at boot?

Revision history for this message
Lukas Märdian (slyon) wrote :

We are actively working on it for the current 20.10 cycle.

But it needs some changes in systemd-networkd, which are currently blocked due to a discussion upstream: https://github.com/systemd/systemd/pull/15060

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

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

Changed in systemd (Ubuntu):
status: New → Confirmed
Changed in netplan:
assignee: Mathieu Trudel-Lapierre (cyphermox) → Łukasz Zemczak (sil2100)
description: updated
Changed in systemd (Ubuntu):
status: Confirmed → Fix Released
description: updated
Steve Langasek (vorlon) on 2021-05-28
description: updated
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Mike, or anyone else affected,

Accepted systemd into hirsute-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/systemd/247.3-3ubuntu3.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, what testing has been performed on the package and change the tag from verification-needed-hirsute to verification-done-hirsute. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-hirsute. 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 systemd (Ubuntu Hirsute):
status: New → Fix Committed
tags: added: verification-needed verification-needed-hirsute
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Mike, or anyone else affected,

Accepted systemd into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/systemd/246.6-1ubuntu1.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, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. 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 systemd (Ubuntu Groovy):
status: New → Fix Committed
tags: added: verification-needed-groovy
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Mike, or anyone else affected,

Accepted systemd into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/systemd/245.4-4ubuntu3.7 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, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. 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 systemd (Ubuntu Focal):
status: New → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Dan Streetman (ddstreet) wrote :

@sil2100 can you verify this bug please

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (systemd/246.6-1ubuntu1.4)

All autopkgtests for the newly accepted systemd (246.6-1ubuntu1.4) for groovy have finished running.
The following regressions have been reported in tests triggered by the package:

casync/2+20190213-1 (s390x)
udisks2/2.9.1-2ubuntu1 (arm64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/groovy/update_excuses.html#systemd

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

Revision history for this message
Ubuntu SRU Bot (ubuntu-sru-bot) wrote : Autopkgtest regression report (systemd/247.3-3ubuntu3.1)

All autopkgtests for the newly accepted systemd (247.3-3ubuntu3.1) for hirsute have finished running.
The following regressions have been reported in tests triggered by the package:

systemd/247.3-3ubuntu3.1 (armhf)
udisks2/2.9.2-1ubuntu1 (arm64)

Please visit the excuses page listed below and investigate the failures, proceeding afterwards as per the StableReleaseUpdates policy regarding autopkgtest regressions [1].

https://people.canonical.com/~ubuntu-archive/proposed-migration/hirsute/update_excuses.html#systemd

[1] https://wiki.ubuntu.com/StableReleaseUpdates#Autopkgtest_Regressions

Thank you!

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

On it!

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

On a focal multipass instance:

$ apt-cache policy systemd
systemd:
  Installed: 245.4-4ubuntu3.7
  Candidate: 245.4-4ubuntu3.7
  Version table:
 *** 245.4-4ubuntu3.7 500
        500 http://archive.ubuntu.com/ubuntu focal-proposed/main amd64 Packages
        100 /var/lib/dpkg/status

I have tried all 5 combinations of the ActivationPolicy setting for a dummy interface and confirmed that those work as expected.

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

Okay, I think I see an issue that I'm investigating right now, this might be a verification-failed actually. We might need to cherry-pick something more than just the selected patchset.

I have observed that if you set ActivationPolicy to a mode that doesn't default to bringing the interface up on boot (like 'manual', 'down' or 'always-down'), systemd will wait indefinitely for the given interface to become online on reboot. This only happens for the SRUs, impish seems to be fine - which means that we might be missing a later change to make sure there is no wait in this case.

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

Ok, after discussing with Dan, it seems we'll let this through as-is. Actually it's not entirely clear to me why this works differently with 248.3 on impish. We decided that currently, by design, this is 'expected behavior' and requires explicitly setting RequiredForOnline=no. Dan will propose an upstream patch to change that behavior though.

From the netplan side we'll make sure to do that.

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

In the meantime, continuing on with the verification. On a groovy multipass instance:

$ apt-cache policy systemd
systemd:
  Installed: 246.6-1ubuntu1.4
  Candidate: 246.6-1ubuntu1.4
  Version table:
 *** 246.6-1ubuntu1.4 500
        500 http://archive.ubuntu.com/ubuntu groovy-proposed/main amd64 Packages
        100 /var/lib/dpkg/status

I have tried all 5 combinations of the ActivationPolicy setting for a dummy interface and confirmed that those work as expected. Reboot tested with RequiredForOnline=no set manually - all good.

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

On a hirsute multipass instance:

$ apt-cache policy systemd
systemd:
  Installed: 247.3-3ubuntu3.1
  Candidate: 247.3-3ubuntu3.1
  Version table:
 *** 247.3-3ubuntu3.1 500
        500 http://archive.ubuntu.com/ubuntu hirsute-proposed/main amd64 Packages
        100 /var/lib/dpkg/status

I have tried all 5 combinations of the ActivationPolicy setting for a dummy interface and confirmed that those work as expected. Same as before, I also did a reboot while making sure RequiredForOnline is set to no and things seem to be working as expected. Verified!

tags: added: verification-done verification-done-hirsute
removed: verification-needed verification-needed-hirsute
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers