-
Notifications
You must be signed in to change notification settings - Fork 66
🐛 CRD upgrade safety fixes and ratcheting #2123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🐛 CRD upgrade safety fixes and ratcheting #2123
Conversation
✅ Deploy Preview for olmv1 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2123 +/- ##
==========================================
- Coverage 72.75% 72.70% -0.05%
==========================================
Files 79 79
Lines 7340 7347 +7
==========================================
+ Hits 5340 5342 +2
- Misses 1653 1658 +5
Partials 347 347
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
b807a29
to
e27ff46
Compare
Signed-off-by: Joe Lanford <joe.lanford@gmail.com>
e27ff46
to
c393e44
Compare
regression fixes: 1. correctly handle processing of properties that are OpenAPI items 2. allow enums to have values added. bug fix: crdify's served version validator was updated to actually compare the old CRD with the new CRD so that any issues identified in the old CRD do not continue to be reported when performing comparisons between served versions of the new CRD. This effectively allows issues in the served version validations to be acknowledged once when they are introduced, but then those issues are essentially grandfathered in such that they do not have to be acknowledged again in the future. This issue was actually identified in a case where an operator upgrade was stopped by the CRD upgrade check despite there being no changes whatsoever to the CRD. The "old" and "new" CRDs contained the exact same issues, but since crdify was looking exclusively at the "new" CRD, it found those issues and reported them.
c393e44
to
c21ba9d
Compare
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: perdasilva The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
236319b
into
operator-framework:main
Description
This fixes two regressions and a newly discovered bug in the CRD upgrade preflight safety check that causes errors to be reported even when schemas of a CRD have not changed between bundle versions.
The issues this PR fixes were originally reported in:
Regression fixes
Bug fix description
The current logic of the CRD checker always reports all issues found in the roundtrip-ability between versions in the new CRD. However if those exact same problems exist in the existing CRD, then the upgrade is not making the situation any worse, so the check should not fail.
Reviewer Checklist