Determining the target version
First, determine which version of Armory Spinnaker you want to use. You can get this list by running hal version list
.
The command returns information similar to the following:
+ Get current deployment
Success
+ Get Spinnaker version
Success
+ Get released versions
Success
+ You are on version "1.14.209", and the following are available:
- 1.14.209 (OSS Spinnaker v1.8.6):
Changelog: https://docs.armory.io/release-notes/armoryspinnaker_v1.14.209/
Published: Thu Sep 13 18:42:49 EDT 2018
(Requires Halyard >= 1.0.0)
- 2.0.0 (OSS Release 1.9.5):
Changelog: https://docs.armory.io/release-notes/armoryspinnaker_v2.0.0/
Published: Fri Nov 02 19:42:47 EDT 2018
(Requires Halyard >= 1.2.0)
Performing an upgrade
Once you know what version you want to upgrade (or downgrade) to, run the following command: hal config version edit --version <target_version>
.
The command returns information similar to the following:
+ Get current deployment
Success
+ Edit Spinnaker version
Success
+ Spinnaker has been configured to update/install version
"2.19.6". Deploy this version of Spinnaker with `hal deploy apply`.
Then, apply your upgrade with hal deploy apply
.
Rolling back an upgrade
Rolling an upgrade back is similar to upgrading Spinnaker:
- Select the version you want to rollback to:
hal config edit --version <target_version>
- Apply the rollback:
hal deploy apply
Rolling back an unresponsive Spinnaker deployment
If you deploy a configuration or a change that takes down Spinnaker, rolling Spinnaker back requires modifying the Autoscaling Groups (ASGs) for the current unavailable deployment and the previous working state. The following steps walk you through how to rollback to a good state on AWS:
- In your AWS console, look for an existing deployment with the
armoryspinnaker
prefix. - Find the ASGs of Armory Spinnaker that were deployed. Typically, they should be named
armoryspinnaker-ha-polling-v${VER}
where${VER}
is something like023
. You should see 2 ASGS, one that is active instead and the older version should be disabled: - Edit the older ASG and remove any suspended processes that are listed:
- Increase the number of instances for the
armoryspinnaker-ha-polling
ASG to just 1 and set the other ASGarmoryspinnaker-ha
, the non-polling ASG back to at least 2. - Reduce the latest ASGs down to 0.
- Check the Armory Spinnaker ELB. Make sure all instances are attached to the user-facing and internal-services ELB and are healthy.
- Verify Spinnaker is in a working state.