Resource Status

💡 If you’re not sure what a managed resource is, check out our overview of Managed Delivery first.

Overview

Managed resources always have a status, which describes the current state of the resource from Spinnaker’s perspective. A resource’s status can help you quickly answer questions like:

  • Is Spinnaker taking automatic action on this resource right now?
  • Does the actual state of this resource match the declarative configuration I gave to Spinnaker?
  • Is something wrong with this resource?

How to find a resource’s status

UI

On the Infrastructure views (Clusters, Load Balancers, Firewalls), you’ll see a color-coded “M” logo attached to any resources that are managed by Spinnaker. Hovering over the logo reveals additional context about the current status and what it means.

Example on a cluster:

API

Find the ID of a resource and call the /managed/resources/<resourceId>/status endpoint.

Example request:

curl -X GET --header "X-SPINNAKER-USER: ${SPINNAKER_USER}" "${SPIN_URL}/<resourceId>/status"

Example response:

{ "status": "HAPPY" }

Status Reference

Created

When a resource has a Created status, it means Spinnaker has just received the resource’s declarative configuration and hasn’t taken any action yet.

If the actual state of the resource matches the declarative configuration, the resource will transition to the Happy status the next time Spinnaker checks it.

If Spinnaker detects a drift from the declarative configuration in the future, the resource will change status to Diff. Once Spinnaker starts taking automatic action to correct the drift, the status will change to Actuating.

While Spinnaker is managing a resource, manual changes made via the UI or the API will be automatically reversed (“stomped”) in favor of the declarative configuration.

Diff

When a resource has a Diff status, it means Spinnaker detected a drift from the declarative configuration but hasn’t taken any action yet.

Once Spinnaker starts taking automatic action to correct the drift, the status changes to Actuating.

While Spinnaker is managing a resource, manual changes made via the UI or the API are automatically reversed (“stomped”) in favor of the declarative configuration.

Actuating

When a resource has an Actuating status, it means Spinnaker detected a drift from the declarative configuration and automatic action is in progress to resolve it. You can click on “History” to see details about the detected drift and the specific tasks Spinnaker launched, along with whether they succeeded or failed.

If automatic actions successfully resolve the drift, the status will change to Happy. If automatic actions don’t help to resolve the drift, the status will change to Unhappy.

While Spinnaker is managing a resource, manual changes made via the UI or the API will be automatically reversed (“stomped”) in favor of the declarative configuration.

Happy

When a resource has a Happy status, all is well and the actual state of the resource matches its declarative configuration.

If Spinnaker detects a drift from the declarative configuration in the future, the resource status will change to Diff. Once Spinnaker starts taking automatic action to correct the drift, the status will change to Actuating.

While Spinnaker is managing a resource, manual changes made via the UI or the API will be automatically reversed (“stomped”) in favor of the declarative configuration.

Unhappy

When a resource has an Unhappy status, it means Spinnaker detected a drift from the declarative configuration but hasn’t been able to resolve it through automatic actions. This might mean that the actions Spinnaker has taken are failing, or something else is preventing the actions from having their desired effect.

While a resource is Unhappy, Spinnaker will continue trying to resolve the drift and may eventually succeed. If it does, the resource will transition to the Happy status.

You can click on “History” to see the detected drift along with actions Spinnaker is taking. If you decide manual intervention is needed to remedy any issues you might discover, you can temporarily pause management by clicking “Pause management of this resource” or by pausing the entire application on the Config view for your app.

Paused

When a resource has a Paused status, it means Spinnaker is configured to continuously manage the resource but you’ve chosen to temporarily pause management. While management is paused Spinnaker won’t check for drift from the declarative configuration, and it won’t take any automatic actions. Depending on whether you’ve paused the specific resource or the entire application, you can either click “Resume management of this resource” or go to the Config view in your app to resume management.

When you resume management the status will change to Resumed.

Resumed

When a resource has a Resumed status, it means management was just resumed after being temporarily paused and Spinnaker hasn’t checked for drift from the declarative configuration yet.

If a drift is detected, the status will change to Diff. If no drift is detected, the status will change to Happy.

Error

When a resource has an Error status, it means something went wrong while trying to check the resource for drift from its declarative configuration. Because something went wrong, Spinnaker can’t take automatic actions and drift from the declarative configuration won’t be resolved (until something changes). Some examples of problems that might lead to an error status:

  • A problem retrieving or processing information about the current state of the resource
  • A problem with the declarative configuration (invalid settings, etc.)
  • A bug or issue with Spinnaker itself

After an error, Spinnaker will continue trying to check the resource and may eventually succeed. If it does, the resource will transition to whatever status is applicable at that time.

If you see this status, it’s probably best to investigate the current state of the resource manually and double check that nothing is broken. You can start by clicking “History” to see the details of the error and what else was happening when the error occurred. If you decide manual intervention is needed to remedy any issues you might discover, you can temporarily pause management by clicking “Pause management of this resource”.

Unknown

When a resource has an Unknown status, it means Spinnaker was unable to determine the current status for some reason. Because the status is unknown, it’s tough to tell by the status alone whether something is wrong, or just unexpected.

After encountering this status, Spinnaker will continue trying to check the resource for its status and may eventually succeed. If it does, the resource will transition to whatever status is applicable at that time.

If you see this status, it’s probably best to investigate the current state of the resource manually and double check that nothing is broken. You can start by clicking “History” to see details about what’s been happening with the resource recently. If you decide manual intervention is needed to remedy any issues you might discover, you can temporarily pause management by clicking “Pause management of this resource”.