← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1555605] [NEW] distro/arch.py fixes

 

Public bug reported:

I needed to patch a few places in distros/arch.py to get cloud-init to
work on Arch. This is with an OpenNebula-based cloud, but that shouldn't
matter. In /etc/cloud/cloud.cfg I obviously used "arch" for system_info
-> distro.

I checked against current trunk version of distros/arch.py. There's 3
issues in arch.py that this patch fixes (in order of appearance in the
patch):

1. The loopback device is returned as an entry by
net_util.translate_network(), leading to it gettingprocessed to
configure settings like IP address, netmask, etc, but these aren't
available and leads to an exception. I simply removed the "lo" entry
from the dictionary.

2. The netctl command expects its profile files to be named
/etc/netctl/<iface>. The code in arch.py leaves out the last separator,
leading to files like /etc/netctleth0, which doesn't work

3. The function convert_resolv_conf() can't possibly work, as it tries
to iterate over the "list" type instead of the "settings" list.

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

** Attachment added: "cloud-init.patch"
   https://bugs.launchpad.net/bugs/1555605/+attachment/4594951/+files/cloud-init.patch

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

Title:
  distro/arch.py fixes

Status in cloud-init:
  New

Bug description:
  I needed to patch a few places in distros/arch.py to get cloud-init to
  work on Arch. This is with an OpenNebula-based cloud, but that
  shouldn't matter. In /etc/cloud/cloud.cfg I obviously used "arch" for
  system_info -> distro.

  I checked against current trunk version of distros/arch.py. There's 3
  issues in arch.py that this patch fixes (in order of appearance in the
  patch):

  1. The loopback device is returned as an entry by
  net_util.translate_network(), leading to it gettingprocessed to
  configure settings like IP address, netmask, etc, but these aren't
  available and leads to an exception. I simply removed the "lo" entry
  from the dictionary.

  2. The netctl command expects its profile files to be named
  /etc/netctl/<iface>. The code in arch.py leaves out the last
  separator, leading to files like /etc/netctleth0, which doesn't work

  3. The function convert_resolv_conf() can't possibly work, as it tries
  to iterate over the "list" type instead of the "settings" list.

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