cloudnative-pg / cloudnative-pg/plugin-barman-cloud

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

オープン
#613 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
question
主要言語
Go
スター
191
フォーク
72
平均マージ
1日 16時間
マージ済み PR(30日)
18

説明

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! 🙏

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

ObjectStore の設定と `kubectl cnpg backup` で使用される Barman Cloud プラグインのパスから始め、AWS 互換のアップロードがどのように設定されているかを追跡します。Swift に対してバックアップを再現し、`payload_signing_enabled` または同等の設定によって aws-chunked 転送を防止できるかを確認します。報告されている Swift の互換性制限がある状態で、バックアップと backup.info のアップロードが成功すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
aws, kubernetes, postgresql
領域
cloud, databases
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。