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

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

Offen
#1,049 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Go
Sterne
191
Forks
72
Ø Merge
2 T. 21 Std.
Gemergte PRs (30 T.)
21

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Finde die Definition der ObjectStore CRD und den Einstiegspunkt, der die Argumente für barman-cloud-backup-delete zusammenstellt, und vergleiche anschließend, wie additionalCommandArgs für Backup-, Restore- und WAL-Operationen behandelt wird. Füge den delete-spezifischen Konfigurationspfad hinzu, stelle sicher, dass --batch-size=1 die Durchsetzung der Aufbewahrung erreicht, und führe die relevanten CRD- und Controller-Tests aus.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
go, kubernetes
Bereich
cloud, infrastructure
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
68/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.