cloudnative-pg / cloudnative-pg/plugin-barman-cloud
"Transfering payloads in multiple chunks using aws-chunked is not supported" when uploading backups to Swift
- Ngôn ngữ chính
- Go
- Star
- 191
- Fork
- 72
- Merge trung bình
- 2 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 21
Mô tả
Hi there,
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? We have this configured via an `ObjectStore` in our Kubernetes manifest.
Thanks in advance! 🙏
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với cấu hình ObjectStore và đường dẫn plugin Barman Cloud được `kubectl cnpg backup` sử dụng, sau đó theo dõi cách cấu hình các lượt tải lên tương thích với AWS. Tái hiện thao tác backup với Swift và xác định xem `payload_signing_enabled` hoặc một thiết lập tương đương có thể ngăn các lượt truyền aws-chunked hay không. Hoàn thành khi việc tải lên backup và backup.info thành công với hạn chế tương thích Swift đã được báo cáo.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- aws, kubernetes, postgresql
- Lĩnh vực
- cloud, databases
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100