mirror of
https://github.com/apache/cloudstack
synced 2026-08-02 05:26:35 +00:00
Encrypted Linstor volumes use a LUKS layer inside the DRBD stack, so the storage-layer snapshot device holds ciphertext while the DRBD device CloudStack restores to is the decrypted view. Backing up the raw snapshot and writing it back to the decrypted device corrupted the volume (different data, unbootable root). Back up encrypted snapshots from the decrypted DRBD device (forcing the temporary-resource path) and store them as a LUKS-encrypted qcow2 using the volume passphrase, so snapshots are not kept in clear text on secondary storage. On revert, decrypt the qcow2 and write plaintext to the DRBD device; the LUKS layer re-encrypts it. The qemu-img shrink is skipped for encrypted volumes (the DRBD device is already net-sized). Add an integration test (test_linstor_encrypted_snapshots.py): the encrypted-root snapshot revert round-trip, that create-volume-from-encrypted-snapshot is rejected by CloudStack core, and a best-effort check that the backed-up qcow2 is LUKS-encrypted at rest. |
||
|---|---|---|
| .. | ||
| datera | ||
| ldap | ||
| linstor | ||
| quota | ||
| scaleio | ||
| solidfire | ||
| storpool | ||
| tf | ||
| test_nicira_controller.py | ||
| test_quota_tariff_order.py | ||
| test_quota.py | ||