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

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

Abierto
#1,049 0 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Go
Estrellas
191
Forks
72
Merge medio
1 d 16 h
PR fusionados (30 d)
18

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Localiza la definición del CRD ObjectStore y el punto de entrada que ensambla los argumentos para barman-cloud-backup-delete; después, compara cómo se gestiona additionalCommandArgs para las operaciones de backup, restore y WAL. Añade la ruta de configuración específica de delete, verifica que --batch-size=1 llegue a la aplicación de la retención y ejecuta las pruebas relevantes del CRD y del controlador.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
go, kubernetes
Área
cloud, infrastructure
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
68/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.