Skip to content

Commit

Permalink
Add handling for unset purgeBackup and dangling cron job.
Browse files Browse the repository at this point in the history
Signed-off-by: Eric Smalling <eric.smalling@chainguard.dev>
  • Loading branch information
ericsmalling committed Jun 3, 2024
1 parent 200426c commit 558733e
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion controllers/k8ssandra/medusa_reconciler.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ func (r *K8ssandraClusterReconciler) reconcileMedusa(
kcKey := utils.GetKey(kc)
// Create a cron job to purge Medusa backups
logger.Info("Checking if Medusa backups should be purged, PurgeBackups: " + fmt.Sprintf("%t", *medusaSpec.PurgeBackups))
if *medusaSpec.PurgeBackups {
if backupPurgeIsOn(medusaSpec.PurgeBackups) {
operatorNamespace := r.getOperatorNamespace()
purgeCronJob, err := medusa.PurgeCronJob(dcConfig, kc.SanitizedName(), operatorNamespace, logger)
if err != nil {
Expand All @@ -114,6 +114,16 @@ func (r *K8ssandraClusterReconciler) reconcileMedusa(
case recRes.IsRequeue():
return recRes
}
} else {
// if an existing purge cron job exists, delete it
purgeCronJob, _ := medusa.PurgeCronJob(dcConfig, kc.SanitizedName(), r.getOperatorNamespace(), logger)
if purgeCronJob != nil {
logger.Info("Deleting Medusa purge backups cronjob (may have been created before PurgeBackups was set to false")
if err := remoteClient.Delete(ctx, purgeCronJob); err != nil {
logger.Info("Failed to delete Medusa purge backups cronjob", "error", err)
return result.Error(err)
}
}
}

} else {
Expand All @@ -123,6 +133,13 @@ func (r *K8ssandraClusterReconciler) reconcileMedusa(
return result.Continue()
}

func backupPurgeIsOn(purgeBackups *bool) bool {
if purgeBackups == nil {
return true
}
return *purgeBackups
}

// Generate a secret for Medusa or use the existing one if provided in the spec
func (r *K8ssandraClusterReconciler) reconcileMedusaSecrets(
ctx context.Context,
Expand Down

0 comments on commit 558733e

Please sign in to comment.