← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2014226] [NEW] cloud-init crashes with IPv6 routes

 

Public bug reported:


I have static routes specified for two networks, and during cloud-init an error occurs as it tries to make use of NETMASK1.

  # Network 2
  eth1:
    addresses: # List of IP[v4,v6] addresses to assign to this interface
      - 2001:db8:abcd:abce:fe::1000/96

    routes: # List of static routes for this interface
      - to: 2001:db8:abcd:abce:fe::0/96
        via: 2001:db8:abcd:bbce:fe::2

  # Network 3
  eth2:
    addresses: # List of IP[v4,v6] addresses to assign to this interface
      - 2001:db8:abcd:abcf:fe::1000/96

    routes: # List of static routes for this interface
      - to: 2001:db8:abcd:abcf:fe::0/96
        via: 2001:db8:abcd:bbcf:fe::2

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 761, in status_wrapper
    ret = functor(name, args)
  File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 433, in main_init
    init.apply_network_config(bring_up=bring_up_interfaces)
  File "/usr/lib/python3.6/site-packages/cloudinit/stages.py", line 926, in apply_network_config
    netcfg, bring_up=bring_up
  File "/usr/lib/python3.6/site-packages/cloudinit/distros/__init__.py", line 233, in apply_network_config
    self._write_network_state(network_state)
  File "/usr/lib/python3.6/site-packages/cloudinit/distros/__init__.py", line 129, in _write_network_state
    renderer.render_network_state(network_state)
  File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 1011, in render_network_state
    base_sysconf_dir, network_state, self.flavor, templates=templates
  File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 1002, in _render_sysconfig
    contents[cpath] = iface_cfg.routes.to_string(proto)
  File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 199, in to_string
    netmask_value = str(self._conf["NETMASK" + index])
KeyError: 'NETMASK1'

Additional Info:
1. Using KVM on a private server
2. See above configuration details that cause an issue. Note in the documentation I could only find an example of an ipv4 route, so maybe you could enhance the documentation with an example for ipv6 if possible.

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

** Attachment added: "cloud-init.tar.gz"
   https://bugs.launchpad.net/bugs/2014226/+attachment/5659716/+files/cloud-init.tar.gz

-- 
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/2014226

Title:
  cloud-init crashes with IPv6 routes

Status in cloud-init:
  New

Bug description:
  
  I have static routes specified for two networks, and during cloud-init an error occurs as it tries to make use of NETMASK1.

    # Network 2
    eth1:
      addresses: # List of IP[v4,v6] addresses to assign to this interface
        - 2001:db8:abcd:abce:fe::1000/96

      routes: # List of static routes for this interface
        - to: 2001:db8:abcd:abce:fe::0/96
          via: 2001:db8:abcd:bbce:fe::2

    # Network 3
    eth2:
      addresses: # List of IP[v4,v6] addresses to assign to this interface
        - 2001:db8:abcd:abcf:fe::1000/96

      routes: # List of static routes for this interface
        - to: 2001:db8:abcd:abcf:fe::0/96
          via: 2001:db8:abcd:bbcf:fe::2

  Traceback (most recent call last):
    File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 761, in status_wrapper
      ret = functor(name, args)
    File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 433, in main_init
      init.apply_network_config(bring_up=bring_up_interfaces)
    File "/usr/lib/python3.6/site-packages/cloudinit/stages.py", line 926, in apply_network_config
      netcfg, bring_up=bring_up
    File "/usr/lib/python3.6/site-packages/cloudinit/distros/__init__.py", line 233, in apply_network_config
      self._write_network_state(network_state)
    File "/usr/lib/python3.6/site-packages/cloudinit/distros/__init__.py", line 129, in _write_network_state
      renderer.render_network_state(network_state)
    File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 1011, in render_network_state
      base_sysconf_dir, network_state, self.flavor, templates=templates
    File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 1002, in _render_sysconfig
      contents[cpath] = iface_cfg.routes.to_string(proto)
    File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 199, in to_string
      netmask_value = str(self._conf["NETMASK" + index])
  KeyError: 'NETMASK1'

  Additional Info:
  1. Using KVM on a private server
  2. See above configuration details that cause an issue. Note in the documentation I could only find an example of an ipv4 route, so maybe you could enhance the documentation with an example for ipv6 if possible.

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



Follow ups