v2.23.1 Armory Continuous Deployment Release (Spinnaker™ v1.23.3)
2020/12/5 Release Notes
Note: If you’re experiencing production issues after upgrading Spinnaker, rollback to a previous working version and please report issues to http://go.armory.io/support.
Required Halyard or Operator version
To install, upgrade, or configure Armory 2.23.1, use one of the following tools:
- Armory-extended Halyard 1.10.0 or later
- Armory Operator 1.2.1 or later
Security
Armory scans the codebase as we develop and release software. For information about CVE scans for this release, contact your Armory account representative.
Breaking changes
Breaking changes are kept in this list for 3 minor versions from when the change is introduced. For example, a breaking change introduced in 2.21.0 appears in the list up to and including the 2.24.x releases. It would not appear on 2.25.x release notes.
Suffix no longer added to jobs created by Kubernetes Run Job stage
Spinnaker no longer automatically appends a unique suffix to the name of jobs created by the Kubernetes Run Job stage. Prior to this release, if you specified metadata.name: my-job
, Spinnaker updates the name to my-job-[random-string]
before deploying the job to Kubernetes. As of this release, the job’s name will be passed through to Kubernetes exactly as supplied.
To continue having a random suffix added to the job name, set the metadata.generateName
field instead of metadata.name
, which causes the Kubernetes API to append a random suffix to the name.
This change is particularly important for users who are using the preconfigured job stage for Kubernetes or are sharing job stages among different pipelines. In these cases, jobs often running concurrently, and it is important that each job have a unique name. In order to retain the previous behavior, manually update your Kubernetes job manifests to use the generateName
field.
Previously, this behavior was opt-in.
Impact
As of Armory 2.22, this behavior is the default. Users can still opt out of the new behavior by setting kubernetes.jobs.append-suffix: true
in clouddriver-local.yml
. This causes Spinnaker to continue to append a suffix to the name of jobs as in prior releases.
The ability to opt out of the new behavior will be removed in Armory 2.23 (OSS 1.23). The above setting will have no effect, and Spinnaker will no longer append a suffix to job names. We recommended that 2.22 users note which jobs are using the old behavior and prepare to remove the setting before upgrading to Armory 2.23 in the future.
Introduced in: Armory 2.22
ManifestForceCacheRefreshTask removed from Orca
When you upgrade to 2.23.0 or later, you might encounter the following error:
2021-01-29 23:57:19.691 ERROR 1 --- [ scheduler-2] c.netflix.spinnaker.q.redis.RedisQueue : Failed to read message 8f072714f1df6dbf3af93a4f4fe4cae2, requeuing...
com.fasterxml.jackson.databind.JsonMappingException: No task found for 'com.netflix.spinnaker.orca.clouddriver.tasks.manifest.ManifestForceCacheRefreshTask' (through reference chain: com.netflix.spinnaker.orca.q.RunTask["taskType"])
The ManifestForceCacheRefreshTask
task is no longer a required task when deploying a manifest. In earlier releases, forcing the cache to refresh was part of the deployment process for manifests. Because of this change, if a task was running or retried before the upgrade, the error shows up in logs as an exception.
Workaround
Before starting, make sure that you have access to the Redis instance that Orca uses.
To resolve this issue, delete the message from the queue:
-
Verify that there are pipeline execution failure messages that contain
ManifestForceCacheRefreshTask
:Redis
hgetall orca.task.queue.messages
The command returns information similar to the following:
1) "93ac65e03399a4cfd3678e1355936ab2" 2) "{\"kind\":\"runTask\",\"executionType\":\"PIPELINE\",\"executionId\":\"01EVFCCDG3Q2209E0Z1QTNC0FS\", \"application\":\"armoryhellodeploy\",\"stageId\":\"01EVFCCDG3TJ7AFPYEJT1N8RDJ\",\"taskId\":\"5\",\"taskType\":\"com.netflix.spinnaker. orca.clouddriver.tasks.manifest.ManifestForceCacheRefreshTask\",\"attributes\":[{\"kind\":\"attempts\",\"attempts\":1}], \"ackTimeoutMs\":600000}"
-
Delete the message(s):
Redis
hdel orca.task.queue.messages
The command returns information similar to the following:
93ac65e03399a4cfd3678e1355936ab2 (integer) 1
Known issues
Clouddriver resources
There is a known issue with Clouddriver that affects the performance of Armory Continuous Deployment, causing it to consume more resources. This can lead to a situation where pods do not have enough resources to start.
Pipelines-as-Code Slack notifications
There is a known issue where Slack notifications do not work for Pipelines-as-Code (Dinghy).
Spinnaker UI
An old version of Deck, the Spinnaker UI, exists in this release.
Lambda UI issue
There is a UI bug related to the caching agent that prevents Lambda functions from being displayed in the UI when there are no other clusters associated with the Application. In other words, in order for the function to show up in “Functions” tab, there needs to be a cluster (such as an AWS ASG/EC2 instance) deployed for that application.
Affected versions: 2.23.0 (1.23.0) - 2.26.2 Fixed version: 2.26.3
Highlighted updates
Clouddriver
Automatic Canary Analysis
Cloudwatch Integration
Armory now supports Cloudwatch as a metrics provider for Automatic Canary Analysis. For more information, Using Canary Analysis with AWS CloudWatch.
Deployment targets
Pivotal Cloud Foundry
This release includes the following improvements to the PCF provider:
- Fixes a regression that caused deployments to fail if routes were specified in a manifest.
Spinnaker Community Contributions
There have also been numerous enhancements, fixes, and features across all of Spinnaker’s other services. See the Spinnaker v1.23.3 changelog for details.
Detailed updates
Bill Of Materials (BOM)
Here’s the BOM for this version.
Expand
version: 2.23.1
timestamp: "2020-12-02 17:23:41"
services:
clouddriver:
commit: dc4839bf
version: 2.23.25
deck:
commit: 7fa4d3d1
version: 2.23.10
dinghy:
commit: b05c28f9
version: 2.23.5
echo:
commit: 0be27822
version: 2.23.4
fiat:
commit: 6ef30d9d
version: 2.23.3
front50:
commit: 9cd8f0e4
version: 2.23.4
gate:
commit: d25c8e6e
version: 2.23.3
igor:
commit: 215616fa
version: 2.23.2
kayenta:
commit: 55ab67c5
version: 2.23.4
monitoring-daemon:
version: 2.23.0
monitoring-third-party:
version: 2.23.0
orca:
commit: "19346318"
version: 2.23.10
rosco:
commit: d7012b41
version: 2.23.5
terraformer:
commit: da937fcf
version: 2.23.2
dependencies:
redis:
version: 2:2.8.4-2
artifactSources:
dockerRegistry: docker.io/armory
Armory
Armory Deck - 2.23.8…2.23.10
- feat(kayenta): add cloudwatch UI (#686) (#687)
Armory Front50 - 2.23.3…2.23.4
Armory Echo - 2.23.3…2.23.4
Armory Rosco - 2.23.4…2.23.5
Terraformer™ - 2.23.1…2.23.2
Armory Gate - 2.23.2…2.23.3
Armory Igor - 2.23.1…2.23.2
Armory Kayenta - 2.23.2…2.23.4
- feat(cloudwatch): adding cloudwatch config and integration test (#142) (#147)
Armory Fiat - 2.23.2…2.23.3
Dinghy™ - 2.23.4…2.23.5
Armory Orca - 2.23.9…2.23.10
Armory Clouddriver - 2.23.24…2.23.25
Feedback
Was this page helpful?
Thank you for letting us know!
Sorry to hear that. Please tell us how we can improve.
Last modified May 26, 2023: (a7d5a9eb)