summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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