← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1849378] [NEW] sysconfig renderer not detected on SLE distros

 

Public bug reported:

Not sure why this is showing up now in a number of instances as the code
has been there for quite some time. sysconfig.py contains

def available_sysconfig(target=None):
    expected = ['ifup', 'ifdown']
    search = ['/sbin', '/usr/sbin']
    for p in expected:
        if not util.which(p, search=search, target=target):
            return False

    expected_paths = [
        'etc/sysconfig/network-scripts/network-functions',
        'etc/sysconfig/network-scripts/ifdown-eth']
    for p in expected_paths:
        if not os.path.isfile(util.target_path(target, p)):
            return False
    return True

Meaning after we find ifup and ifdown the code also looks for files in
"/etc/sysconfig/network-scripts" this directory does not exist on SUSE
distros causing "available_sysconfig" to return always return "False".

Question is why is it necessary to check for the additional files? Could
we simply check for "/etc/sysconfig"?

For now I added a patch in the SUSE package that modifies the first
loop:

for p in expected:
   if not util.which(p, search=search, target=target):
       return False
else:
    return True

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

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

Title:
  sysconfig renderer not detected on SLE distros

Status in cloud-init:
  New

Bug description:
  Not sure why this is showing up now in a number of instances as the
  code has been there for quite some time. sysconfig.py contains

  def available_sysconfig(target=None):
      expected = ['ifup', 'ifdown']
      search = ['/sbin', '/usr/sbin']
      for p in expected:
          if not util.which(p, search=search, target=target):
              return False

      expected_paths = [
          'etc/sysconfig/network-scripts/network-functions',
          'etc/sysconfig/network-scripts/ifdown-eth']
      for p in expected_paths:
          if not os.path.isfile(util.target_path(target, p)):
              return False
      return True

  Meaning after we find ifup and ifdown the code also looks for files in
  "/etc/sysconfig/network-scripts" this directory does not exist on SUSE
  distros causing "available_sysconfig" to return always return "False".

  Question is why is it necessary to check for the additional files?
  Could we simply check for "/etc/sysconfig"?

  For now I added a patch in the SUSE package that modifies the first
  loop:

  for p in expected:
     if not util.which(p, search=search, target=target):
         return False
  else:
      return True

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


Follow ups