Debugging Restores


When Heptio Ark finishes a Restore, its status changes to “Completed” regardless of whether or not there are issues during the process. The number of warnings and errors are indicated in the output columns from ark restore get:

NAME                          BACKUP          STATUS      WARNINGS   ERRORS    CREATED                         SELECTOR
backup-test-20170726180512    backup-test     Completed   155        76        2017-07-26 11:41:14 -0400 EDT   <none>
backup-test-20170726180513    backup-test     Completed   121        14        2017-07-26 11:48:24 -0400 EDT   <none>
backup-test-2-20170726180514  backup-test-2   Completed   0          0         2017-07-26 13:31:21 -0400 EDT   <none>
backup-test-2-20170726180515  backup-test-2   Completed   0          1         2017-07-26 13:32:59 -0400 EDT   <none>

To delve into the warnings and errors into more detail, you can use the -o option:

kubectl restore get backup-test-20170726180512 -o yaml

The output YAML has a status field which may look like the following:

    ark: null
    cluster: null
    namespaces: null 
  phase: Completed
  validationErrors: null
    ark: null
    cluster: null
      - secrets "default-token-t0slk" already exists


The status field in a Restore’s YAML has subfields for errors and warnings. errors appear for incomplete or partial restores. warnings appear for non-blocking issues (e.g. the restore looks “normal” and all resources referenced in the backup exist in some form, although some of them may have been pre-existing).

Both errors and warnings are structured in the same way:

  • ark: A list of system-related issues encountered by the Ark server (e.g. couldn’t read directory).

  • cluster: A list of issues related to the restore of cluster-scoped resources.

  • namespaces: A map of namespaces to the list of issues related to the restore of their respective resources.

Getting Started

To help you get started, see the documentation.