← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1813399] [NEW] [improvement] no easy way to add packages required by apt before apt stage

 

Public bug reported:

I am running cloud-init on a libvirt/virsh with this image:
https://cdimage.debian.org/cdimage/openstack/archive/9.6.5-20190122/debian-9.6.5-20190122
-openstack-amd64.qcow2

This is not really a bug, because I believe it is rather a packaging
problem of many distros. So please close this asap if you do not feel
responsible ;)

This is why I also posted this problem on the debian-cloud mailing list,
but maybe this can be fixed also in cloud-init.

If apt-transport-https or dirmngr are not installed (they are no
dependencies of cloud-init).

apt:
  sources:
   docker:
     source: 'deb [arch=amd64] https://download.docker.com/linux/debian stretch stable'
     keyserver: keyserver.ubuntu.com
     keyid: 0EBFCD88

you will run into problems like:

[   14.011339] cloud-init[469]: E: The method driver /usr/lib/apt/methods/https could not be found.
[   14.013524] cloud-init[469]: Cloud-init v. 0.7.9 running 'modules:config' at Wed, 23 Jan 2019 16:28:06 +0000. Up 10.01 seconds.
[   14.016921] cloud-init[469]: 2019-01-23 16:28:10,921 - util.py[WARNING]: Running module apt-configure (<module 'cloudinit.config.cc_apt_configure' from '/usr/lib/python3/dist-packages/cloudinit/config/cc_apt_configure.py'>) failed

and

[   14.460293] cloud-init[448]: Command: ['gpg', '--keyserver', 'keyserver.ubuntu.com', '--recv', '0EBFCD88']
[   14.463206] cloud-init[448]: Stderr: gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory


Unfortunatedly I could not find a way to call anything to add those
packages before apt is run so that I had to patch the images.


One solution would be to allow multistage apt install in one way or the
other (I know it adds complexity), so that one could install the
relevant packages before the package list is modified and updated.
Actually checking if a line contains https or a keyid and installing the
appropriate dependencies could also work.

 Probably it would be much easier to fix the package dependency on
cloud-init itself for the relevant distros. The downside of this is that
it adds a bunch of packages as further dependencies, so I guess distros
are not really willing to do that...


Thanks in advance,

Till

PS: I can live with having written some scripts patching the images
after download...

** 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/1813399

Title:
  [improvement] no easy way to add packages required by apt before apt
  stage

Status in cloud-init:
  New

Bug description:
  I am running cloud-init on a libvirt/virsh with this image:
  https://cdimage.debian.org/cdimage/openstack/archive/9.6.5-20190122/debian-9.6.5-20190122
  -openstack-amd64.qcow2

  This is not really a bug, because I believe it is rather a packaging
  problem of many distros. So please close this asap if you do not feel
  responsible ;)

  This is why I also posted this problem on the debian-cloud mailing
  list, but maybe this can be fixed also in cloud-init.

  If apt-transport-https or dirmngr are not installed (they are no
  dependencies of cloud-init).

  apt:
    sources:
     docker:
       source: 'deb [arch=amd64] https://download.docker.com/linux/debian stretch stable'
       keyserver: keyserver.ubuntu.com
       keyid: 0EBFCD88

  you will run into problems like:

  [   14.011339] cloud-init[469]: E: The method driver /usr/lib/apt/methods/https could not be found.
  [   14.013524] cloud-init[469]: Cloud-init v. 0.7.9 running 'modules:config' at Wed, 23 Jan 2019 16:28:06 +0000. Up 10.01 seconds.
  [   14.016921] cloud-init[469]: 2019-01-23 16:28:10,921 - util.py[WARNING]: Running module apt-configure (<module 'cloudinit.config.cc_apt_configure' from '/usr/lib/python3/dist-packages/cloudinit/config/cc_apt_configure.py'>) failed

  and

  [   14.460293] cloud-init[448]: Command: ['gpg', '--keyserver', 'keyserver.ubuntu.com', '--recv', '0EBFCD88']
  [   14.463206] cloud-init[448]: Stderr: gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory


  Unfortunatedly I could not find a way to call anything to add those
  packages before apt is run so that I had to patch the images.


  One solution would be to allow multistage apt install in one way or
  the other (I know it adds complexity), so that one could install the
  relevant packages before the package list is modified and updated.
  Actually checking if a line contains https or a keyid and installing
  the appropriate dependencies could also work.

   Probably it would be much easier to fix the package dependency on
  cloud-init itself for the relevant distros. The downside of this is
  that it adds a bunch of packages as further dependencies, so I guess
  distros are not really willing to do that...

  
  Thanks in advance,

  Till

  PS: I can live with having written some scripts patching the images
  after download...

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


Follow ups