← Back to team overview

cloud-init-dev team mailing list archive

Re: [Merge] lp:~craigtracey/cloud-init/puppet-optional into lp:cloud-init


i think i'll just pull this as it is, but I want to write out some thoughts on this.

I think there are 4 scenarios for package installation by a config module that are currently not really all addressed by 'distro.install_packages()'

a.) package is already installed
b.) package is not installed
c.) package is installed but user wants to make sure they get latest package available, so check archive.
d.) do not install package

Our current system generally covers 'a' and 'b'.
This patch actually adds 'd' specifically for puppet.  It actually somewhat makes sense to not hvae this scenario covered by 'install_packages' because, it best represents the path where the distro/package system is not installing a package, but the package was installed by other means (/usr/local/bin, pip ...)

So 2 things that I think we could work on:
 1.) I'd like to have a consistent language across modules config to indicate which of those cases the user wants.
 2.) I'd like to have install_packages() take a 'no_upgrade' flag that would implement 'c'.  Apt has '--no-upgrade' flag to install that would accomplish this.  I'm not sure about yum.

Your team cloud init development team is requested to review the proposed merge of lp:~craigtracey/cloud-init/puppet-optional into lp:cloud-init.