> In this case, cloud-init returns 2 (success with recoverable errors)
rather than '0' (success)

Is this the primary impact of this bug? If so, what are the practical
implications of this?

Does networking not work correctly? Does something else fail because of
a non-zero exit code from cloud-init?

Or, is the purpose of this strictly to clean up the config so that it
does not use deprecated fields?

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to initramfs-tools in Ubuntu.
https://bugs.launchpad.net/bugs/2093164

Title:
  initramfs-tools generates deprecated netplan config gateway4 and
  gateway6

Status in initramfs-tools package in Ubuntu:
  Fix Released
Status in initramfs-tools source package in Focal:
  Triaged
Status in initramfs-tools source package in Jammy:
  Triaged
Status in initramfs-tools source package in Noble:
  In Progress
Status in initramfs-tools source package in Oracular:
  In Progress
Status in initramfs-tools source package in Plucky:
  Fix Released

Bug description:
  [Impact]

  According to netplan doc
  https://netplan.readthedocs.io/en/latest/netplan-yaml

  gateway4/gateway6 are deprecated and the first version deprecates these 
fields is 0.103,
  it should use "routes:" instead.

  In scripts/functions:_render_netplan, it still generates the
  deprecated fields in /run/netplan/xxx.yaml:

   if [ -n "$gateway4" ]; then
    echo "      gateway4: \"$gateway4\""
   fi
   if [ -n "$gateway6" ]; then
    echo "      gateway6: \"$gateway6\""
   fi

  Then casper copies this config to root filesystem and later on used by 
cloud-init:
  
https://git.launchpad.net/ubuntu/+source/casper/tree/scripts/casper-bottom/58server_network?h=applied/ubuntu/noble-updates#n47

  In this case, cloud-init returns 2 (success with recoverable errors)
  rather than '0' (success)

  We should modify these fields to use "routes:" based on netplan doc:
  https://netplan.readthedocs.io/en/latest/netplan-yaml/#default-routes

  [Test Case]

  To verify if it generates the correct netplan config, we can specify
  ip related config in kernel cmdline in grub menu and check the yaml
  file in /run/netplan/

  Steps to reproduce the netplan config:

  1. launch a test VM in lxd
  2. go into grub menu
  3. pass ip related info to kernel cmdline, e.g.
  ip=10.194.146.91::10.194.146.1:255.255.255.0::::10.194.146.1
  4. boot into system and check /run/netplan/xxx.yaml

  Originally, it generates something like:
  cat /run/netplan/enp5s0.yaml
  network:
    version: 2
    ethernets:
      enp5s0:
        addresses:
          - "10.194.146.91/24"
        gateway4: "10.194.146.1"
        nameservers:
          addresses: ["10.194.146.1"]

  After the patch, it generates something like:
  cat /run/netplan/enp5s0.yaml
  network:
    version: 2
    ethernets:
      enp5s0:
        addresses:
          - "10.194.146.91/24"
        routes:
          - to: default
            via: "10.194.146.1"
        nameservers:
          addresses: ["10.194.146.1"]

  [Where problems could occur]

  This patch follows the netplan doc to use "routes:" for default gateway,
  so network connectivity will be impacted on regressions. We should ensure 
that networking and routing works correctly, e.g. with a basic networking smoke 
test.

  [Other Info]
  https://bugs.launchpad.net/cloud-init/+bug/1992512

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/2093164/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to