Troubleshoot backup and restore
Resolve common flightctl-backup and flightctl-restore failures by matching the symptom to the recommended action. Exact messages can vary by release; compare CLI output to flightctl-backup --help and flightctl-restore --help for your version.
| Symptom | Likely cause | What to do |
|---|---|---|
|
|
Corrupt or partial archive copy |
Re-copy the archive from the source; re-run backup if the source file is damaged |
|
Restore reports checksum mismatch before extraction |
Archive or |
Do not restore; obtain a known-good archive from backup storage |
|
Restore reports deployment type mismatch |
Archive from Podman host restored on Red Hat OpenShift Container Platform, or the reverse |
Take a new backup on the target deployment type, or rebuild the environment to match the archive metadata |
|
Backup fails: |
Client tools not installed on the backup execution host |
Install PostgreSQL client packages so |
|
Backup or restore fails: database connection error |
Wrong credentials, database not running, or network policy blocking access |
Verify database pod or container is running; confirm passwords from Secrets or Podman secrets; on Red Hat OpenShift Container Platform, check port-forward and namespace |
|
Backup completes but |
External PostgreSQL configured |
Follow printed instructions and your DBA runbook. For more information about external PostgreSQL databases, see Additional resources. |
|
Restore fails: version mismatch |
|
Install or replace mismatched binaries from the same Red Hat Edge Manager release as the server. For more information about prerequisites for backup and restore, see Additional resources. |
|
Devices do not reconnect after restore |
PKI not restored, wrong archive, or network/DNS change |
Verify |
|
|
Expected after point-in-time restore |
For more information about post-restore device status changes, see Additional resources. |
|
|
Archive restore, database import, PKI restore, or device preparation stopped before completion |
Keep application services stopped or workloads scaled to zero. Read the command output and logs. Fix the reported error (credentials, connectivity, permissions, disk space). Re-run |
|
Restore command finished but logs show device or KV key errors |
Device preparation is not transactional: the KV store can be cleared and database device rows updated even when later steps fail; per-device awaiting-reconnection KV keys can fail individually while the command still exits successfully |
Keep services stopped. Re-run |
Recovering from a failed or partial restore Copy linkLink copied!
flightctl-restore does not roll back automatically. If the command fails or stops mid-run, assess what completed before you bring application services back online.
What device preparation changes
When the command reaches device preparation (with or without an archive), it typically performs these steps in order:
- Clears the KV store (removes cached control-plane data).
- Updates enrolled devices in PostgreSQL (sets the
device-controller/awaitingReconnectannotation, clearslast_seen, and sets summary status toAwaitingReconnectfor affected devices). - Updates non-approved enrollment requests for restore.
- Adds per-device awaiting-reconnection keys in the KV store.
If step 1 succeeds and a later step fails, the command exits with an error but the KV store can already be empty. If step 4 reports errors for individual devices, the command can still exit successfully; check the logs for Failed to add awaiting reconnection key or similar messages.
Archive-based restore can also fail earlier while importing the database dump, PKI, or configuration. In that case, the replacement host or cluster might be inconsistent until you complete a successful restore.
Recovery steps
- Keep Red Hat Edge Manager application services stopped on Red Hat Enterprise Linux, or keep API and worker deployments scaled to zero on Red Hat OpenShift Container Platform. Do not start the control plane for production use until restore completes successfully.
- Collect the
flightctl-restoreoutput and logs. Note whether the failure occurred during archive import or during device preparation. - Fix the root cause (for example, database or KV connectivity, wrong
DB_PASSWORDorKV_PASSWORD, port-forward dropped, or insufficient permissions). - Re-run restore:
- Full archive restore not yet complete: Run
flightctl-restoreagain with the same archive path and credentials while services remain stopped. - Database and PKI already restored; only device preparation incomplete: Run
flightctl-restorewithout an archive argument (same credentials and connectivity as your manual restore procedure) to retry device preparation.
- Full archive restore not yet complete: Run
- Review the completion log line for counts of devices and awaiting-reconnection keys updated. Investigate any devices that remain offline or lack
AwaitingReconnectstatus after services are running. For more information about post-restore device status changes, see Additional resources.
If repeated restore attempts fail or the instance remains inconsistent, reinstall Red Hat Edge Manager at the target release from a clean state. Then run flightctl-restore again from a known-good archive, following your tested disaster-recovery runbook.
If problems persist, collect flightctl-backup or flightctl-restore logs, archive metadata.json, and deployment type, and open a support case with your Red Hat Edge Manager support channel.