Skip to content

Indirect Azure Blob transfer fails because transfer image lacks azureblob backend #999

Description

@msajidmansoori12

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

  1. Add the github.com/rclone/rclone/backend/azureblob blank import to cmd/rclone/main.go in mta-rsync-transfer.
  2. Rebuild and publish the transfer image used by Crane/MTA-Ops.
  3. Add an image smoke test such as rclone help backend azureblob.
  4. Add or document an Azure Blob indirect-transfer validation covering upload, download, checksum verification, and cleanup.
  5. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions