tests: Increase transfer integration tests coverage - #494
Merged
Dany9966 merged 2 commits intoAug 12, 2026
Merged
Conversation
Adds verify_checksum source_environment flag through the test provider's replicate_disks call (False by default). test_incremental_replica_transfer will now also check the checksum. Adds a "backup_writer_backend" destination-environment option through _create_minion, so a test can request the SSH backend for one transfer. Adds a transfer test using the mentioned SSH backup writer. data_transfer.compression_proxy falls back to in-process gzip / zlib compression when compressor_address is unset (None by default). That means that the external compressor service scenario is not covered. Spins up a unix-socket HTTP service in-process, points compressor_address at it for the duration of one transfer, and asserts it was invoked.
A transfer with more than one instance is considered "clustered". The conductor runs a cross-instance sync barrier and assigns disk owners across instances. In the added tests, each instance in this has its own disk + a disk shared between the (same disk id in both instances' export_info). The conductor will assign the first instance as the shared disk's owner, only its DEPLOY_TRANSFER_DISKS task creates a destination volume and replicates data into it, while the other instance's task records a placeholder volumes_info entry with "replicate_disk_data" False and no "volume_dev". Adds integration test for clustered sync-barrier abort on peer error. If one instance's task errors out while a peer instance's task of the same type is stuck waiting at the cross-instance sync barrier, the stuck peer must be aborted rather than left deadlocked forever. Updates the test providers to support shared disks.
claudiubelu
force-pushed
the
coveragability-increasability-transferability
branch
from
August 11, 2026 12:34
d1630c8 to
c9d6469
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
verify_checksumsource_environmentflag through the test provider'sreplicate_diskscall (False by default).test_incremental_replica_transferwill now also check the checksum.Adds a
backup_writer_backenddestination_environmentoption through_create_minion, so a test can request the SSH backend for one transfer. Adds a transfer test using the mentioned SSH backup writer.data_transfer.compression_proxyfalls back to in-process gzip / zlib compression whencompressor_addressis unset (Noneby default). That means that the external compressor service scenario is not covered. Spins up a unix-socket HTTP service in-process, pointscompressor_addressat it for the duration of one transfer, and asserts it was invoked.A transfer with more than one instance is considered "clustered". The conductor runs a cross-instance sync barrier and assigns disk owners across instances.
In the added tests, each instance in this has its own disk + a disk shared between the (same disk id in both instances'
export_info). The conductor will assign the first instance as the shared disk's owner, only itsDEPLOY_TRANSFER_DISKStask creates a destination volume and replicates data into it, while the other instance's task records a placeholdervolumes_infoentry withreplicate_disk_dataFalseand novolume_dev.Adds integration test for clustered sync-barrier abort on peer error. If one instance's task errors out while a peer instance's task of the same type is stuck waiting at the cross-instance sync barrier, the stuck peer must be aborted rather than left deadlocked forever.
Updates the test providers to support shared disks.