Skip to content

Add post-transfer disk checksum verification#406

Merged
Dany9966 merged 1 commit intocloudbase:masterfrom
claudiubelu:adds-checksum
Apr 14, 2026
Merged

Add post-transfer disk checksum verification#406
Dany9966 merged 1 commit intocloudbase:masterfrom
claudiubelu:adds-checksum

Conversation

@claudiubelu
Copy link
Copy Markdown
Member

After each disk is written, compare the source (replicator) and destination (writer) checksums to catch any data corruption during transfer. The comparison happens while the writer device is still acquired so the checksum job can run.

  • Client.get_disk_checksum: calls GET /api/v1/dev/{disk}/checksum

  • HTTPBackupWriterImpl:

    • _create_checksum_job: calls POST /api/v2/device/{disk}/checksumJob
    • _delete_checksum_job: calls DELETE /api/v2/device/{disk}/checksumJob/{id}
      - _get_checksum_job_status: calls GET /api/v2/device/{disk}/checksumJob/{id}
    • get_disk_checksum: creates checksum job, waits for it to finish, and returns the checksum value and algorithm.
  • Replicator._verify_disk_checksum: compares both sides, raises on algorithm or value mismatch.

Comment thread coriolis/providers/backup_writers.py Outdated
Comment thread coriolis/providers/replicator.py Outdated
Comment thread coriolis/resources/bin/coriolis-writer
@claudiubelu claudiubelu force-pushed the adds-checksum branch 3 times, most recently from e14d59a to 8bedf10 Compare April 9, 2026 12:56
Comment thread coriolis/providers/backup_writers.py Outdated
Comment thread coriolis/providers/backup_writers.py Outdated
After each disk is written, compare the source (replicator) and
destination (writer) checksums to catch any data corruption during
transfer. The comparison happens while the writer device is still
acquired so the checksum job can run.

- Client.get_disk_checksum: calls GET /api/v1/dev/{disk}/checksum

- HTTPBackupWriterImpl:
  - _create_checksum_job: calls POST /api/v2/device/{disk}/checksumJob
  - _delete_checksum_job: calls DELETE /api/v2/device/{disk}/checksumJob/{id}
  - _get_checksum_job_status: calls GET /api/v2/device/{disk}/checksumJob/{id}
  - get_disk_checksum: creates checksum job, waits for it to finish, and
    returns the checksum value and algorithm.

- Replicator._verify_disk_checksum: compares both sides, raises on
  algorithm or value mismatch.
@Dany9966 Dany9966 merged commit 1a9f913 into cloudbase:master Apr 14, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants