← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1616831] Re: cloud-init doesn't prefer new APT config format when old and new are provided

 

** Also affects: cloud-init (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Changed in: cloud-init (Ubuntu Xenial)
       Status: New => In Progress

** Changed in: cloud-init (Ubuntu Xenial)
   Importance: Undecided => Medium

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

Title:
  cloud-init doesn't prefer new APT config format when old and new are
  provided

Status in cloud-init:
  Fix Released
Status in cloud-init package in Ubuntu:
  Fix Released
Status in cloud-init source package in Xenial:
  In Progress

Bug description:
  Trying to use the new configuration format of APT configuration while
  still providing the OLD format, causes cloud-init fails to configure
  APT.

  cloud-init should be ignoring the old format if the new format is
  provided to ensure backwards compat.

  This is a problem for MAAS provided that we cannot safely
  differentiate / determine what cloud-init version we are using for a
  specific release we are deploying, and as such, we still need to send
  the old config while still providing the new one because:

  1. Yakkety uses newer cloud-init with new format above
  2. Xenial, Trusty, Precise use older cloud-init that doesn't support new format.

  And this is a problem because:

  1. MAAS won't be able to use derived repositories in Xenial, Trusty, Precise until this gets backported into cloud-init.
  2. Commission is done in Xenial, while deployment in Yakkety, but both may require the same config, but it is only supported in Yakkety's cloud-init.
  3. Users may be using old images that may not contain new cloud-init at all, and even though the release already supports it, the image they are using doesn't and they have to continue to use the old format.
  4. MAAS cannot differentiate/identify which cloud-init version its being used, as such, needs to sends both old and new config.

  Aug 25 09:44:17 node02 [CLOUDINIT] cc_apt_configure.py[ERROR]: Error
  in apt configuration: old and new format of apt features are mutually
  exclusive ('apt':'{'primary': [{'arches': ['default'], 'uri':
  'http://us.archive.ubuntu.com/ubuntu'}], 'preserve_sources_list':
  True, 'security': [{'arches': ['default'], 'uri':
  'http://us.archive.ubuntu.com/ubuntu'}], 'sources': {'launchpad_3':
  {'source': 'deb http://ppa.launchpad.net/maas/next/ubuntu yakkety
  main'}}}' vs 'apt_proxy' key)

  
  Aug 25 09:51:58 node02 [CLOUDINIT] util.py[DEBUG]: Running module apt-configure (<module 'cloudinit.config.cc_apt_configure' from '/usr/lib/python3/dist-packages/cloudinit/config/cc_apt_configure.py'>) failed#012Traceback (most recent call last):#012  File "/usr/lib/python3/dist-packages/cloudinit/stages.py", line 785, in _run_modules#012    freq=freq)#012  File "/usr/lib/python3/dist-packages/cloudinit/cloud.py", line 70, in run#012    return self._runners.run(name, functor, args, freq, clear_on_fail)#012  File "/usr/lib/python3/dist-packages/cloudinit/helpers.py", line 199, in run#012    results = functor(*args)#012  File "/usr/lib/python3/dist-packages/cloudinit/config/cc_apt_configure.py", line 77, in handle#012    ocfg = convert_to_v3_apt_format(ocfg)#012  File "/usr/lib/python3/dist-packages/cloudinit/config/cc_apt_configure.py", line 527, in convert_to_v3_apt_format#012    cfg = convert_v2_to_v3_apt_format(cfg)#012  File "/usr/lib/python3/dist-packages/cloudinit/config/cc_apt_configure.py", line 489, in convert_v2_to_v3_apt_format#012    raise ValueError(msg)#012ValueError: Error in apt configuration: old and new format of apt features are mutually exclusive ('apt':'{'preserve_sources_list': True, 'primary': [{'uri': 'http://us.archive.ubuntu.com/ubuntu', 'arches': ['default']}], 'security': [{'uri': 'http://us.archive.ubuntu.com/ubuntu', 'arches': ['default']}], 'sources': {'launchpad_3': {'source': 'deb http://ppa.launchpad.net/maas/next/ubuntu yakkety main'}}}' vs 'apt_proxy, apt_preserve_sources_list' key)

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


References