← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1972969] [NEW] cloud-init error in opensuse

 

Public bug reported:

When running cloud-init (version 21.4-150100.8.58.1) in an openSUSE 15.3
VM using NoCloud as datasource with the following configuration:

I am setting the meta-data file and user-data file in
/var/lib/cloud/seed/nocloud/ directory.

meta-data file:

instance-id: intance-id
local-hostname: localhostname
hostname: hostname
dsmode: local


user-data file:

#cloud-config
write_files:
  - content: |
      "Does cloud-init work?"
    owner: root:root
    permissions: '0644'
    path: /srv/foo
  - content: |
      "IT SURE DOES!"
    owner: root:root
    permissions: '0644'
    path: /srv/bar


And the datasource information in /etc/cloud/cloud.cfg.d/10_datasource.cfg.

10_datasource.cfg file:

datasource_list: [ NoCloud, None ]


I am enabling the cloud-init services, rebooting the system and getting the following error: 

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 689, in status_wrapper
    ret = functor(name, args)
  File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 398, in main_init
    init.apply_network_config(bring_up=bring_up_interfaces)
  File "/usr/lib/python3.6/site-packages/cloudinit/stages.py", line 836, in apply_network_config
    netcfg, bring_up=bring_up)
  File "/usr/lib/python3.6/site-packages/cloudinit/distros/__init__.py", line 222, in apply_network_config
    self._write_network_state(network_state)
  File "/usr/lib/python3.6/site-packages/cloudinit/distros/debian.py", line 116, in _write_network_state
    return super()._write_network_state(network_state)
  File "/usr/lib/python3.6/site-packages/cloudinit/distros/__init__.py", line 125, in _write_network_state
    renderer.render_network_state(network_state)
  File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 915, in render_network_state
    templates=templates).items():
  File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 881, in _render_sysconfig
    iface_cfg = NetInterface(iface_name, base_sysconf_dir, templates)
  File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 234, in __init__
    ipv4_tpl=route_tpl.get('ipv4'),
AttributeError: 'NoneType' object has no attribute 'get'

Not sure why it's using debian.py instead of opensuse.py.

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

** Attachment added: "cloud-init.tar.gz"
   https://bugs.launchpad.net/bugs/1972969/+attachment/5588448/+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/1972969

Title:
  cloud-init error in opensuse

Status in cloud-init:
  New

Bug description:
  When running cloud-init (version 21.4-150100.8.58.1) in an openSUSE
  15.3 VM using NoCloud as datasource with the following configuration:

  I am setting the meta-data file and user-data file in
  /var/lib/cloud/seed/nocloud/ directory.

  meta-data file:

  instance-id: intance-id
  local-hostname: localhostname
  hostname: hostname
  dsmode: local

  
  user-data file:

  #cloud-config
  write_files:
    - content: |
        "Does cloud-init work?"
      owner: root:root
      permissions: '0644'
      path: /srv/foo
    - content: |
        "IT SURE DOES!"
      owner: root:root
      permissions: '0644'
      path: /srv/bar

  
  And the datasource information in /etc/cloud/cloud.cfg.d/10_datasource.cfg.

  10_datasource.cfg file:

  datasource_list: [ NoCloud, None ]

  
  I am enabling the cloud-init services, rebooting the system and getting the following error: 

  Traceback (most recent call last):
    File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 689, in status_wrapper
      ret = functor(name, args)
    File "/usr/lib/python3.6/site-packages/cloudinit/cmd/main.py", line 398, in main_init
      init.apply_network_config(bring_up=bring_up_interfaces)
    File "/usr/lib/python3.6/site-packages/cloudinit/stages.py", line 836, in apply_network_config
      netcfg, bring_up=bring_up)
    File "/usr/lib/python3.6/site-packages/cloudinit/distros/__init__.py", line 222, in apply_network_config
      self._write_network_state(network_state)
    File "/usr/lib/python3.6/site-packages/cloudinit/distros/debian.py", line 116, in _write_network_state
      return super()._write_network_state(network_state)
    File "/usr/lib/python3.6/site-packages/cloudinit/distros/__init__.py", line 125, in _write_network_state
      renderer.render_network_state(network_state)
    File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 915, in render_network_state
      templates=templates).items():
    File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 881, in _render_sysconfig
      iface_cfg = NetInterface(iface_name, base_sysconf_dir, templates)
    File "/usr/lib/python3.6/site-packages/cloudinit/net/sysconfig.py", line 234, in __init__
      ipv4_tpl=route_tpl.get('ipv4'),
  AttributeError: 'NoneType' object has no attribute 'get'

  Not sure why it's using debian.py instead of opensuse.py.

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



Follow ups