Repository navigation
Open
Labels
area/storageIssues or PRs related to storage (linstor, seaweedfs, bucket, velero, harbor)Issues or PRs related to storage (linstor, seaweedfs, bucket, velero, harbor)kind/featureCategorizes issue or PR as related to a new featureCategorizes issue or PR as related to a new featurepriority/backlogGeneral backlog priority. Lower than priority/important-longtermGeneral backlog priority. Lower than priority/important-longtermtriage/acceptedIndicates an issue is ready to be actively worked onIndicates an issue is ready to be actively worked on
Description
Summary
The generic Job backup strategy (strategy.backups.cozystack.io/Job) renders the rendered batch/v1.Job with a hard-coded backoffLimit: 2 in buildJobStrategyBatchJob (internal/backupcontroller/jobstrategy_controller.go). Operators have no way to override it.
Why it matters
The Job strategy is the app-agnostic driver intended to wrap arbitrary backup tools. A fixed retry count is a poor fit across tools:
- An S3-heavy dump (e.g.
clickhouse-backup) may want 0 retries — each retry re-uploads and is expensive. - A sidecar-style tool may want more retries to ride out transient infrastructure errors.
The value of 2 was inherited from the Altinity driver, which can hard-code it because it wraps a single known tool. The Job driver cannot make that assumption.
Options
- Preferred: expose
backoffLimitas an optional field onJobSpec(api/backups/strategy/v1alpha1/job_types.go), defaulting to the current value of2when unset, and thread it intobuildJobStrategyBatchJob. Requires a CRD regeneration. - Minimum: document in the
JobSpec.TemplateCRD description that the rendered Job is fixed atbackoffLimit=2and cannot be overridden, so operators know to keep their backup image idempotent.
Context
Raised in review of #1721 (initial Job strategy implementation). That PR ships with the value fixed at 2; this issue tracks making it configurable.
Reacted by dosubot
Metadata
Metadata
Assignees
Labels
area/storageIssues or PRs related to storage (linstor, seaweedfs, bucket, velero, harbor)Issues or PRs related to storage (linstor, seaweedfs, bucket, velero, harbor)kind/featureCategorizes issue or PR as related to a new featureCategorizes issue or PR as related to a new featurepriority/backlogGeneral backlog priority. Lower than priority/important-longtermGeneral backlog priority. Lower than priority/important-longtermtriage/acceptedIndicates an issue is ready to be actively worked onIndicates an issue is ready to be actively worked on
Activity
test(backups): harden Job strategy tests