yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #56388
[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