Reference For: administrators

Backup errors

Causes and remedies for the error codes of the backup repository, of backups and restores by the controller, and of controller state archives.

error.backup.no_repository

Text in the console
No backup repository is configured on the controller.
Meaning for API clients
No backup repository is configured on the controller ([backup] verify_repository or the backup settings).
Code
FAILED_PRECONDITION, HTTP 412

Cause. The controller has no backup repository, so it has no backup points to list, take or restore. The repository is the directory the controller writes its backups into, and that other backup software can write into too (one folder per virtual machine and backup, with a manifest and one raw image per disk).

Remedy.

  1. Set the directory: kyvernon backup settings set --repository /srv/backup-repo, or in the console under backup settings. The setting verify_repository in the section [backup] of the controller configuration is the default.
  2. With more than one controller, use shared storage mounted at the same path on each.
  3. Check the result: kyvernon backup repository.

error.backup.repository_unusable

Text in the console
The repository {repository} cannot be created or written on this controller.
Meaning for API clients
The repository directory cannot be created or written on this controller.
Code
FAILED_PRECONDITION, HTTP 412
ArgumentWhat it holds
repositorythe directory that was refused.

Cause. The repository directory of the backup settings cannot be created, or the controller service may not write in it.

Remedy.

  1. Check that the path exists or that its parent can be written by the controller service, and that the file system is mounted.
  2. Give the controller service write access to the directory, then save the settings again: kyvernon backup settings set --repository <dir>.

error.backup.export_unreachable

Text in the console
The controller cannot reach the export of a disk on the host.
Meaning for API clients
The controller cannot reach the NBD export of a disk on the host.
Code
UNAVAILABLE, HTTP 503

Cause. During a backup the controller reads each disk over the export the host opens for it. The controller reached neither the export's socket on its own machine nor the export's address over the network. Without remote_exports in the section [backup], exports are local sockets on the host, which only a controller on the same machine reaches.

Remedy.

  1. For a controller on another machine than the host, set remote_exports = true in the section [backup] of the controller configuration and restart it; exports then use TCP with TLS and the host's certificate fingerprint.
  2. Check that the host's export port can be reached from the controller.
  3. Start the backup again: kyvernon vm backup <vm>.

error.backup.change_tracking

Text in the console
Change tracking could not be turned on for {vm}.
Meaning for API clients
Change tracking could not be turned on for the virtual machine before its first backup.
Code
FAILED_PRECONDITION, HTTP 412
ArgumentWhat it holds
vmthe virtual machine.

Cause. A backup reads only the changed areas of a disk, and needs change tracking on the virtual machine. The controller turns it on before the first backup, and that change failed.

Remedy.

  1. Look at the failed reconfiguration task of the virtual machine for its reason: kyvernon tasks list --entity <vm>.
  2. Turn change tracking on yourself in the virtual machine settings, then start the backup again.

error.backup.no_disks

Text in the console
{vm} has no disk to back up.
Meaning for API clients
The virtual machine has no disk to back up.
Code
FAILED_PRECONDITION, HTTP 412
ArgumentWhat it holds
vmthe virtual machine.

Cause. The virtual machine has no virtual disk, so there is nothing to back up.

Remedy.

  1. Add a disk to the virtual machine, or leave it out of the backup schedule by choosing a narrower scope.

error.backup.vm_powered_on

Text in the console
{vm} is powered on. Power it off before a restore in place: the restore replaces its disks.
Meaning for API clients
A restore in place replaces the disks of the virtual machine; it must be powered off.
Code
FAILED_PRECONDITION, HTTP 412
ArgumentWhat it holds
vmthe virtual machine.

Cause. A restore in place replaces the disks of the virtual machine the backup point came from. That is only done while the virtual machine is powered off.

Remedy.

  1. Shut the guest down and power the virtual machine off: kyvernon vm shutdown <vm>.
  2. Start the restore again: kyvernon backup restore-point <point> --in-place.
  3. To keep the virtual machine running, restore to a new virtual machine instead (without --in-place).

error.backup.verify_failed

Text in the console
The restore finished, but backup point {point} did not pass the verification in quarantine.
Meaning for API clients
The restore finished, but the verification of the backup point in quarantine failed.
Code
FAILED_PRECONDITION, HTTP 412
ArgumentWhat it holds
pointthe backup point that was verified.

Cause. The restore finished, but the verification asked for with it failed: a separate virtual machine made from the backup point on the quarantine network did not boot an operating system, did not get an address, or did not answer on a requested port in time. The restored virtual machine stays as it is.

Remedy.

  1. Read the verification result in the task, or the report: kyvernon backup verification report. The reason names the evidence that was missing.
  2. Check the restored virtual machine before you use it, or restore an older backup point.
  3. For a guest that boots slowly, verify again with a longer timeout.

error.backup.controller_running

Text in the console
A backup of the controller state is already running.
Meaning for API clients
A backup of the controller state is already running.
Code
CONFLICT, HTTP 409

Cause. An archive of the controller state is being written; one runs at a time.

Remedy.

  1. Wait until it is done: kyvernon system controller-backups shows the last run.

error.backup.controller_target

Text in the console
The folder {target} for the controller archives cannot be created.
Meaning for API clients
The folder for the archives of the controller state cannot be created.
Code
FAILED_PRECONDITION, HTTP 412
ArgumentWhat it holds
targetthe folder.

Cause. The folder for the archives of the controller state cannot be created, or the controller service may not write in it.

Remedy.

  1. Check the folder set as controller_target in the section [backup] of the controller configuration (default: controller-backups next to the state directory).
  2. Give the controller service write access, or choose another folder and restart the controller.

error.backup.controller_changed

Text in the console
{file} changed while it was archived. Run the backup again.
Meaning for API clients
A file of the state directory changed while it was archived.
Code
CONFLICT, HTTP 409
ArgumentWhat it holds
filethe file in the archive.

Cause. A file of the state directory other than the two stores changed while the archive was written, so the archive would not hold the file as it was checked. The stores are copied from one consistent read and are not affected.

Remedy.

  1. Start the backup again: kyvernon system controller-backup --wait.
  2. When it keeps failing on the same file, look at what writes to it (the file is named in the error).

error.backup.controller_unreadable

Text in the console
The archive of the controller state does not read back as written; it was not kept.
Meaning for API clients
The archive that was written does not read back as written.
Code
INTERNAL, HTTP 500

Cause. After writing, the controller reads every archive back and checks each file against its checksum. This archive did not read back as written, so it was removed and the older archives stay. The usual causes are a full or failing disk under the archive folder.

Remedy.

  1. Check the free space and the health of the disk under the archive folder.
  2. Start the backup again: kyvernon system controller-backup --wait.

error.backup.controller_unavailable

Text in the console
This controller keeps its state in memory; there is nothing to archive.
Meaning for API clients
This controller keeps its state in memory; there is nothing to archive.
Code
FAILED_PRECONDITION, HTTP 412

Cause. This controller keeps its store in memory (a test or development setup), so there is no state directory to archive.

Remedy.

  1. Run the controller with its state directory (data_dir of controller.toml) to take archives.

error.backup.source_gone

Text in the console
The virtual machine of this backup point no longer exists; its configuration is needed for a restore.
Meaning for API clients
The virtual machine of the backup point no longer exists; its configuration is needed for a restore.
Code
FAILED_PRECONDITION, HTTP 412

Cause. A backup point is restored with the configuration of its virtual machine (processors, memory, network adapters), and that virtual machine no longer exists.

Remedy.

  1. Create a virtual machine with the configuration you need, then restore the disks of the backup point into it with the backup software.
  2. Keep virtual machines whose backups you may need, or keep a template of their configuration.

Version 0.1. Last changed: 2026-11-14