** Description changed:

  [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 (for 
instance by adding /etc/systemd/network/20-<interface>.network) 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.
+ 
+ ---
+ 
+ 
+ [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".
  
- [Test case]
+ [Old Test case]
  Write a netplan configuration:
  
  network:
-   version: 2
-   renderer: networkd
-   ethernets:
-     eth0:
-       optional: yes
-       dhcp4: yes
+   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.
  
- [Regression potential]
+ [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)

** Changed in: systemd (Ubuntu)
       Status: Confirmed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
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/maas/+bug/1664844/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to