Upgrades¶
The controller¶
The controller follows a minor release line, such as 9.7. To pick up the latest patch release in that line, run this on the controller:
It backs up the database first, then pulls the new image, runs any migrations, and restarts the controller. If the backup fails, the upgrade stops before changing anything.
Re-running the installer also upgrades the controller whenever the running image doesn't match the configured one.
To move to a new minor or major release, read that release's notes first. Then set controller_image_tag on the controller in hosts.yml, for example controller_image_tag: "9.8", and re-run the installer. This setting overrides the provisioner's default, so remove it once a provisioner update moves the default to that release or later.
Everything else¶
Every other component the provisioner installs, such as Docker, the ComputeStacks agent, borg, Prometheus, and Loki, is pinned to an exact version, and nothing upgrades on its own. The Docker, agent, HAProxy, and node exporter packages are held so that unattended upgrades can't move them.
To upgrade them, upgrade the provisioner and re-run it:
The installer converges every server to the pinned versions and restarts services as needed. Operating system security updates are installed automatically by unattended upgrades.
Warning
A run reboots any server that has pending updates requiring a reboot. See Automatic reboots.