diff options
author | Scott Moser <smoser@brickies.net> | 2013-04-03 17:29:32 -0500 |
---|---|---|
committer | Scott Moser <smoser@brickies.net> | 2013-04-03 17:29:32 -0500 |
commit | 3ed5f780fed21fb02b2c86b1f54650f92c941f36 (patch) | |
tree | 6d4a5c632726a662a7eea512c99e0d95c162fc69 | |
parent | 7dac7bbd48bb56971c2fddfcf13d439d577740c1 (diff) | |
parent | 05c22e4f202332332de051e6849bbf5210aa19f6 (diff) | |
download | vyos-cloud-init-3ed5f780fed21fb02b2c86b1f54650f92c941f36.tar.gz vyos-cloud-init-3ed5f780fed21fb02b2c86b1f54650f92c941f36.zip |
invoke dist-upgrade instead of upgrade for apt upgrades
dist-upgrade is generally more correct here to get all packages upgraded.
We add the options to change these in system_info. Also, document
the previous apt configuration change (apt_get_command).
LP: #1164147
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | cloudinit/distros/debian.py | 7 | ||||
-rw-r--r-- | doc/examples/cloud-config.txt | 18 |
3 files changed, 26 insertions, 1 deletions
@@ -52,6 +52,8 @@ (LP: #1023179) - use python-requests rather than urllib2. By using recent versions of python-requests, we get https support (LP: #1067888). + - make apt-get invoke 'dist-upgrade' rather than 'upgrade' for + package_upgrade. (LP: #1164147) 0.7.1: - sysvinit: fix missing dependency in cloud-init job for RHEL 5.6 diff --git a/cloudinit/distros/debian.py b/cloudinit/distros/debian.py index 4b779d57..0811eefd 100644 --- a/cloudinit/distros/debian.py +++ b/cloudinit/distros/debian.py @@ -161,7 +161,12 @@ class Distro(distros.Distro): elif args and isinstance(args, list): cmd.extend(args) - cmd.append(command) + subcmd = command + if command == "upgrade": + subcmd = self.get_option("apt_get_upgrade_subcommand", + "dist-upgrade") + + cmd.append(subcmd) pkglist = util.expand_package_list('%s=%s', pkgs) cmd.extend(pkglist) diff --git a/doc/examples/cloud-config.txt b/doc/examples/cloud-config.txt index 09298655..24b4b36c 100644 --- a/doc/examples/cloud-config.txt +++ b/doc/examples/cloud-config.txt @@ -125,6 +125,24 @@ apt_sources: =Y2oI -----END PGP PUBLIC KEY BLOCK----- +## apt config via system_info: +# under the 'system_info', you can further customize cloud-init's interaction +# with apt. +# system_info: +# apt_get_command: [command, argument, argument] +# apt_get_upgrade_subcommand: dist-upgrade +# +# apt_get_command: +# To specify a different 'apt-get' command, set 'apt_get_command'. +# This must be a list, and the subcommand (update, upgrade) is appended to it. +# default is: +# ['apt-get', '--option=Dpkg::Options::=--force-confold', +# '--option=Dpkg::options::=--force-unsafe-io', '--assume-yes', '--quiet'] +# +# apt_get_upgrade_subcommand: +# Specify a different subcommand for 'upgrade. The default is 'dist-upgrade'. +# This is the subcommand that is invoked if package_upgrade is set to true above. + # Install additional packages on first boot # # Default: none |