TroubleshootingΒΆ

If an ActionSet fails to perform an action, then the failure events can be seen in the respective ActionSet as well as its associated Blueprint by using the following commands:

# Example of failure events in an ActionSet:
$ kubectl --namespace kanister describe actionset <ActionSet Name>
Events:
  Type     Reason                          Age   From                 Message
  ----     ------                          ----  ----                 -------
  Normal   Started Action                  14s   Kanister Controller  Executing action delete
  Normal   Started Phase                   14s   Kanister Controller  Executing phase deleteFromS3
  Warning  ActionSetFailed Action: delete  13s   Kanister Controller  Failed to run phase 0 of action delete: command terminated with exit code 1

# Example of failure events of ActionSet emitted to its associated Blueprint:
$ kubectl --namespace kanister describe blueprint <Blueprint Name>
Events:
  Type     Reason                           Age   From                 Message
  ----     ------                           ----  ----                 -------
  Normal   Added                            4m   Kanister Controller  Added blueprint 'Blueprint Name'
  Warning  ActionSetFailed Action: delete   1m   Kanister Controller  Failed to run phase 0 of action delete: command terminated with exit code 1

If you ever need to debug a live Kanister system and the information available in ActionSets you might have created is not enough, looking at the Kanister controller logs might help. Assuming you have deployed the controller in the Kanister namespace, you can use the following commands to get controller logs.

$ kubectl get pods --namespace kanister
NAME                                           READY     STATUS    RESTARTS   AGE
release-kanister-operator-1484730505-l443d   1/1       Running   0          1m

$ kubectl logs -f <operator-pod-name-from-above> --namespace kanister

If you are not successful in verifying the reason behind the failure, please reach out to us on Slack or file an issue on GitHub. A mailing list is also available if needed.