summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Moser <smoser@brickies.net>2013-04-03 16:06:43 -0500
committerScott Moser <smoser@brickies.net>2013-04-03 16:06:43 -0500
commit05c22e4f202332332de051e6849bbf5210aa19f6 (patch)
treea028e93ad32cae6d6e59ded67e08dfd97e42cb09
parent7dac7bbd48bb56971c2fddfcf13d439d577740c1 (diff)
downloadvyos-cloud-init-05c22e4f202332332de051e6849bbf5210aa19f6.tar.gz
vyos-cloud-init-05c22e4f202332332de051e6849bbf5210aa19f6.zip
invoke 'dist-upgrade' instead of 'upgrade' on for upgrades.
In general, dist-upgrade is the correct behavior here. It will get a new kernel, though, which could be annoying. So, allow a way to turn it off (by setting 'apt_get_upgrade_subcommand: upgrade'). LP: #1164147
-rw-r--r--cloudinit/distros/debian.py8
-rw-r--r--doc/examples/cloud-config.txt13
2 files changed, 20 insertions, 1 deletions
diff --git a/cloudinit/distros/debian.py b/cloudinit/distros/debian.py
index 4b779d57..a1e28ad5 100644
--- a/cloudinit/distros/debian.py
+++ b/cloudinit/distros/debian.py
@@ -161,7 +161,13 @@ 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..b8abb67a 100644
--- a/doc/examples/cloud-config.txt
+++ b/doc/examples/cloud-config.txt
@@ -125,6 +125,19 @@ apt_sources:
=Y2oI
-----END PGP PUBLIC KEY BLOCK-----
+# apt_get_command: [command, argument, argument]
+# Specify a different 'apt-get' command. must be a list. subcommands are
+# 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 'apt-get upgrade' subcommand. when 'apt_upgrade' or
+# package_upgrade is set to true above, then this subcommand will be invoked.
+# default is 'dist-upgrade'. For example, you could set this to 'upgrade'.
+apt_get_upgrade_subcommand: dist-upgrade
+
+
# Install additional packages on first boot
#
# Default: none