diff options
author | Craig Tracey <craigtracey@gmail.com> | 2013-01-27 21:48:03 -0500 |
---|---|---|
committer | Craig Tracey <craigtracey@gmail.com> | 2013-01-27 21:48:03 -0500 |
commit | dc3ebfe2416028b78b6a846e939201d894b2c9b6 (patch) | |
tree | 2bb3ee3e3ffb6be44a66639934815fe6138c66e0 /cloudinit/config/cc_puppet.py | |
parent | cabd9653546586d2370d9c1d81f14e12dd28b94b (diff) | |
download | vyos-cloud-init-dc3ebfe2416028b78b6a846e939201d894b2c9b6.tar.gz vyos-cloud-init-dc3ebfe2416028b78b6a846e939201d894b2c9b6.zip |
Adding package versioning logic to package_command
This change adds the ability to provide specific package versions to
Distro.install_packages and subsequently Distro.package_command. In order
to effectively use Distro.install_packages, one is now able to pass a
variety of formats in order to easily manage package requirements. These
are examples of what can be passed:
- "package"
- ["package1","package2"]
- ("package",)
- ("package", "version")
- [("package1",)("package2",)]
- [("package1", "version1"),("package2","version2")]
This change also adds the option to install a specific version for the
puppet configuration module. This is especially important here as
successful puppet deployments are highly reliant on specific puppet
versions.
Diffstat (limited to 'cloudinit/config/cc_puppet.py')
-rw-r--r-- | cloudinit/config/cc_puppet.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/cloudinit/config/cc_puppet.py b/cloudinit/config/cc_puppet.py index e9a0a0f4..471a1a8a 100644 --- a/cloudinit/config/cc_puppet.py +++ b/cloudinit/config/cc_puppet.py @@ -59,8 +59,14 @@ def handle(name, cfg, cloud, log, _args): # Start by installing the puppet package if necessary... install = util.get_cfg_option_bool(puppet_cfg, 'install', True) - if install: - cloud.distro.install_packages(["puppet"]) + version = util.get_cfg_option_str(puppet_cfg, 'version', None) + if not install and version: + log.warn(("Puppet install set false but version supplied," + " doing nothing.")) + elif install: + log.debug(("Attempting to install puppet %s,"), + version if version else 'latest') + cloud.distro.install_packages(('puppet', version)) # ... and then update the puppet configuration if 'conf' in puppet_cfg: |