Summary
Indirect PVC transfer to Azure Blob Storage fails when using the staged MTA transfer image because its custom rclone binary does not register the Azure Blob backend.
Reproduction
Run transfer-pvc with:
--cloud-storage azure:<container>/crane-transfer
--rclone-config-file <rclone.conf> containing an Azure Blob service-principal remote
- The staged image:
registry.stage.redhat.io/mta/mta-rsync-transfer-rhel9:mta-rsync-transfer-container-8.3.0-......
The upload Pod fails with:
CRITICAL: Failed to create file system for "azure:<container>/...": didn't find backend called "azureblob"
The same PVC migration and the same rclone.conf succeeded when the transfer image was overridden with rclone/rclone:latest. Upload, download, checksum verification, and cloud cleanup all completed successfully.
Root cause
In the mta-8.3 branch of migtools/mta-rsync-transfer, cmd/rclone/main.go imports only:
_ "github.com/rclone/rclone/backend/crypt"
_ "github.com/rclone/rclone/backend/local"
_ "github.com/rclone/rclone/backend/s3"
The Azure backend is not registered:
_ "github.com/rclone/rclone/backend/azureblob"
The Dockerfile and Konflux Dockerfile both build this custom binary, so both image variants omit Azure Blob support.
Required fix
- Add the
github.com/rclone/rclone/backend/azureblob blank import to cmd/rclone/main.go in mta-rsync-transfer.
- Rebuild and publish the transfer image used by Crane/MTA-Ops.
- Add an image smoke test such as
rclone help backend azureblob.
- Add or document an Azure Blob indirect-transfer validation covering upload, download, checksum verification, and cleanup.
- Ensure the Crane/MTA-Ops default image reference points to the rebuilt image.
Impact
Azure Blob Storage cannot currently be used as the indirect-transfer backend with the staged MTA transfer image. S3-based remotes are unaffected.
Summary
Indirect PVC transfer to Azure Blob Storage fails when using the staged MTA transfer image because its custom rclone binary does not register the Azure Blob backend.
Reproduction
Run
transfer-pvcwith:--cloud-storage azure:<container>/crane-transfer--rclone-config-file <rclone.conf>containing an Azure Blob service-principal remoteregistry.stage.redhat.io/mta/mta-rsync-transfer-rhel9:mta-rsync-transfer-container-8.3.0-......The upload Pod fails with:
The same PVC migration and the same
rclone.confsucceeded when the transfer image was overridden withrclone/rclone:latest. Upload, download, checksum verification, and cloud cleanup all completed successfully.Root cause
In the
mta-8.3branch ofmigtools/mta-rsync-transfer,cmd/rclone/main.goimports only:The Azure backend is not registered:
The Dockerfile and Konflux Dockerfile both build this custom binary, so both image variants omit Azure Blob support.
Required fix
github.com/rclone/rclone/backend/azureblobblank import tocmd/rclone/main.goinmta-rsync-transfer.rclone help backend azureblob.Impact
Azure Blob Storage cannot currently be used as the indirect-transfer backend with the staged MTA transfer image. S3-based remotes are unaffected.