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

retentionPolicy delete fails against S3-compatible storage with limited Multi-Object Delete support (NetApp ONTAP)

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

説明

Our retention policy enforcement fails on every cycle against a NetApp ONTAP S3 backend:

"Could not delete backup 20260623T104935: An error occurred (AccessDenied) when calling the DeleteObjects operation: Access Denied"

We isolated the cause: barman-cloud-backup-delete uses the S3 Multi-Object Delete (bulk) API. A single `aws s3api delete-object` on the same key with the same credentials succeeds, but `aws s3api delete-objects` (bulk) on the identical key fails with AccessDenied, even with a correctly scoped bucket policy. This appears to be a known limitation of some non-AWS S3 implementations (similar reports: [cloudnative-pg/barman-cloud#149](https://github.com/cloudnative-pg/barman-cloud/issues/149) against MinIO).

barman-cloud-backup-delete already supports --batch-size, which set to 1 avoids the bulk delete path entirely and fixes it. However, the ObjectStore CRD has no way to pass extra args to the delete/retention command - additionalCommandArgs only exists for backup, restore, and WAL archive/restore.

Request: expose a field (e.g. deleteAdditionalCommandArgs) that gets passed to barman-cloud-backup-delete, so --batch-size (and similar flags) can be configured for retention enforcement, same as the other operations already support.

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

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

調査の方向性

ObjectStore CRD の定義と、barman-cloud-backup-delete の引数を組み立てるエントリポイントを特定し、backup、restore、WAL 操作で additionalCommandArgs がどのように扱われているかを比較します。delete 固有の設定パスを追加し、--batch-size=1 が retention enforcement に到達することを確認して、関連する CRD と controller のテストを実行します。

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

評価

技術スタック
go, kubernetes
領域
cloud, infrastructure
issue の種類
機能追加
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
68/100

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

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