← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1980877] [NEW] v1 network render to netplan does not render ipv6_slaac nameserver address

 

Public bug reported:

cloud-init v 22.2:

Example config with subnet `type: ipv6_slaac` doesn't render any
nameserver information in config /etc/netplan/50-cloud-init.yaml when
global nameserver is provided.


Steps to reproduce:

cat > network-config <<EOF
version: 1
config:
    - type: physical
      name: eth0
      mac_address: '06:70:c5:13:04:1e'
      subnets:
      - type: ipv6_slaac
    - type: nameserver
      address:
      - '2a03:7900:2:0:31:3:104:161'
      search:
      - 'demo.de'
EOF
PYTHONPATH=. python3 -m cloudinit.cmd.main devel net-convert --network-data=network-config --kind=yaml -D ubuntu  -O netplan -d    outputd

# ACTUAL OUTPUT - lacks nameserver
$ cat outputd/etc/netplan/50-cloud-init.yaml 
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    ethernets:
        eth0:
            dhcp6: true
            match:
                macaddress: 06:70:c5:13:04:1e
            set-name: eth0


It may be that this isn't a bug because ipv6_slaac doesn't provide DNS
information and requires that the a separate
https://www.networkacademy.io/ccna/ipv6/stateless-dhcpv6 server is
running on the network backplane that the node can separately contact to
get DNS info.


Currently cloud-init netplan renderer only applies global nameserfver information to subnets which contain an "addresses" config directive an no nameserver" directive.
https://github.com/canonical/cloud-init/blob/main/cloudinit/net/netplan.py#L421-L422

** Affects: cloud-init
     Importance: Undecided
         Status: New

** Summary changed:

- v1 network render to netplan does not render IPv6 nameserver address
+ v1 network render to netplan does not render ipv6_slaac nameserver address

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1980877

Title:
  v1 network render to netplan does not render ipv6_slaac nameserver
  address

Status in cloud-init:
  New

Bug description:
  cloud-init v 22.2:

  Example config with subnet `type: ipv6_slaac` doesn't render any
  nameserver information in config /etc/netplan/50-cloud-init.yaml when
  global nameserver is provided.

  
  Steps to reproduce:

  cat > network-config <<EOF
  version: 1
  config:
      - type: physical
        name: eth0
        mac_address: '06:70:c5:13:04:1e'
        subnets:
        - type: ipv6_slaac
      - type: nameserver
        address:
        - '2a03:7900:2:0:31:3:104:161'
        search:
        - 'demo.de'
  EOF
  PYTHONPATH=. python3 -m cloudinit.cmd.main devel net-convert --network-data=network-config --kind=yaml -D ubuntu  -O netplan -d    outputd

  # ACTUAL OUTPUT - lacks nameserver
  $ cat outputd/etc/netplan/50-cloud-init.yaml 
  # This file is generated from information provided by the datasource.  Changes
  # to it will not persist across an instance reboot.  To disable cloud-init's
  # network configuration capabilities, write a file
  # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
  # network: {config: disabled}
  network:
      version: 2
      ethernets:
          eth0:
              dhcp6: true
              match:
                  macaddress: 06:70:c5:13:04:1e
              set-name: eth0


  It may be that this isn't a bug because ipv6_slaac doesn't provide DNS
  information and requires that the a separate
  https://www.networkacademy.io/ccna/ipv6/stateless-dhcpv6 server is
  running on the network backplane that the node can separately contact
  to get DNS info.

  
  Currently cloud-init netplan renderer only applies global nameserfver information to subnets which contain an "addresses" config directive an no nameserver" directive.
  https://github.com/canonical/cloud-init/blob/main/cloudinit/net/netplan.py#L421-L422

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1980877/+subscriptions



Follow ups