diff options
-rw-r--r-- | cloudinit/distros/debian.py | 8 | ||||
-rw-r--r-- | doc/examples/cloud-config.txt | 13 |
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 |