fix(velero): apply CRD updates on upgrade via CreateReplace - #3727
Conversation
velero evolves its CRD schema between versions; v1.18 adds the Queued and ReadyToStart backup phases. Helm never upgrades CRDs shipped in crds/, the generated HelmRelease left spec.upgrade.crds at the Skip default, and the package disables the chart's upgrade-crds Job, so live CRDs stayed frozen at first-install state: the server upgrades, the apiserver rejects the new phases, and backups sit in New while the HelmRelease stays green. Opt the velero PackageSource into CreateReplace, consistent with mongodb-operator, add a platform test pinning the policy, and correct the stale Job-disable rationale in the package. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <3811295@gmail.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughVelero now sets ChangesVelero CRD upgrade handling
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Successfully created backport PR for |
|
Created backport PR for
Please cherry-pick the changes locally and resolve any conflicts. git fetch origin backport-3727-to-release-1.5
git worktree add --checkout .worktree/backport-3727-to-release-1.5 backport-3727-to-release-1.5
cd .worktree/backport-3727-to-release-1.5
git reset --hard HEAD^
git cherry-pick -x f4d812cfb919496dfdfbca2ca8a3047a702d96cb
git push --force-with-lease |
What this PR does
Velero CRDs stayed frozen at whatever version was first installed: Helm never touches the chart's
crds/directory on upgrade, the generated HelmRelease leftspec.upgrade.crdsat the helm-controller default (Skip), and the package disables the upstream upgrade-crds Job. When the velero image moved to v1.18.1, which added theQueuedandReadyToStartbackup phases, the apiserver rejected every phase transition against the stale CRDs (status.phase: Unsupported value: "Queued") and backups silently stopped while the HelmRelease stayed green.This opts the velero PackageSource into
upgradeCRDs: CreateReplace, the same policy mongodb-operator already uses, adds a platform test pinning it, and corrects the stale Job-disable rationale in the package. CreateReplace is safe here: velero only extends the phase enums between versions.Closes #3726
Screenshots
Not a UI change.
Downstream repositories
Release note
Summary by CodeRabbit