barman icon indicating copy to clipboard operation
barman copied to clipboard

"Transfering payloads in multiple chunks using aws-chunked is not supported" when uploading backups to Swift

Open perlun opened this issue 2 months ago • 0 comments

Hi there,

(Originally posted here https://github.com/cloudnative-pg/plugin-barman-cloud/issues/613, but cross-posting here too given that this might be a Barman issue)

We're trying to use the Barman Cloud plugin for Cloud Native PG, together with our cloud provider which uses OpenStack and the Swift service (https://docs.openstack.org/swift/latest/) which provides an S3 compatibility layer (https://docs.openstack.org/swift/latest/s3_compat.html).

However, we are stuck with this error after trying to create a backup using a command like kubectl cnpg backup -n staging postgresql --method=plugin --plugin-name=barman-cloud.cloudnative-pg.io:

❯ kubectl get backups.postgresql.cnpg.io -n staging
NAME                        AGE   CLUSTER      METHOD   PHASE    ERROR
postgresql-20251021135824   19h   postgresql   plugin   failed   rpc error: code = Unknown desc = exit status 1

Diving into the details gives us this:

❯ kubectl logs -n staging $TARGET_POD -c plugin-barman-cloud \
  --tail=100 | grep -E "ERROR|FATAL|panic"
{"level":"info","ts":"2025-10-22T06:03:03.631095849Z","logger":"barman-cloud-backup","msg":"2025-10-22 06:03:03,630 [103] ERROR: Upload error: An error occurred (NotImplemented) when calling the UploadPart operation: Transfering payloads in multiple chunks using aws-chunked is not supported. (worker 1)","pipe":"stderr","logging_pod":"postgresql-1"}
{"level":"info","ts":"2025-10-22T06:03:03.839758708Z","logger":"barman-cloud-backup","msg":"2025-10-22 06:03:03,839 [86] ERROR: Error received from upload worker: An error occurred (NotImplemented) when calling the UploadPart operation: Transfering payloads in multiple chunks using aws-chunked is not supported.","pipe":"stderr","logging_pod":"postgresql-1"}
{"level":"info","ts":"2025-10-22T06:03:03.864518275Z","logger":"barman-cloud-backup","msg":"2025-10-22 06:03:03,864 [86] ERROR: Backup failed uploading data (An error occurred (NotImplemented) when calling the UploadPart operation: Transfering payloads in multiple chunks using aws-chunked is not supported.)","pipe":"stderr","logging_pod":"postgresql-1"}
{"level":"info","ts":"2025-10-22T06:03:03.882516877Z","logger":"barman-cloud-backup","msg":"2025-10-22 06:03:03,882 [86] ERROR: Backup failed uploading backup.info file (An error occurred (NotImplemented) when calling the PutObject operation: Transfering payloads in multiple chunks using aws-chunked is not supported.)","pipe":"stderr","logging_pod":"postgresql-1"}

Based on feedback I received from our cloud provider, this transfer mode (aws-chunked) is not supported by the OpenStack/Swift version currently used. We would need to find a way to disable chunking of data somehow. The support person at their end suggested to set payload_signing_enabled = false in the AWS config. Can this be done with Barman, and if so, how? (plugin-barman-cloud detail: We have this configured via an ObjectStore in our Kubernetes manifest.)

Thanks in advance! 🙏

perlun avatar Oct 23 '25 05:10 perlun