Improved support for triggering release plans for StatefulSet-based services. Release plans for StatefulSet-based services now require an explicit
StatefulSetUpdatedEvent to be received after a
ReleasePlanEvent is received. This is different from the behaviour of release plans for Deployment-based services.
Deployment-based services allow the
DeploymentUpdatedEvent to be received before a
ReleasePlanEvent is received. This decouples the deployment and release life cycles of these services by allowing new versions of Deployment-based services to be deployed ahead of time. This decoupling is not possible for StatefulSet-based services.
Removed the dependency on having Elasticsearch configured as a metrics source. In earlier versions, different metrics sources could be defined but the Release Agent would fail to start if
VAMP_ELASTICSEARCH_URL was not set.
Added a separate implementation of the Vamp Health metric for StatefulSet-based services. In earlier versions, StatefulSet-based services used the same Vamp Health metric as Deployment-based services. This led to the health of StatefulSet-based services being incorrectly reported when Pods could not be updated.
Added a new policy type to support StatefulSet-based services. Since the life cycle of StatefulSets does not support running two stable versions in parallel, StatefulSet-based services cannot be canary released in the way Deployment-based services can.
Validation policies support Blue/Green releases of StatefulSet-based services. The policy monitors a newly released version of a StatefulSet-based service and triggers a rollback if any of the policy conditions are not met.
StatefulSet-based services can still be canary released between applications, in the same way Deployment-based services can.
Added improved support for monitoring of StatefulSets. StatefulSets have a different life cycle to Deployments, so we've added new events specifically for StatefulSet changes.