-
Notifications
You must be signed in to change notification settings - Fork 55
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
✨ Add upgrade E2E #1003
✨ Add upgrade E2E #1003
Conversation
✅ Deploy Preview for olmv1 ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1003 +/- ##
=======================================
Coverage 77.60% 77.60%
=======================================
Files 18 18
Lines 1268 1268
=======================================
Hits 984 984
Misses 202 202
Partials 82 82
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
90c602f
to
0cc4c2e
Compare
My general question is... do we want to use |
./hack/pre-upgrade-setup.sh $(CATALOG_IMG) $(TEST_CLUSTER_CATALOG_NAME) $(TEST_CLUSTER_EXTENSION_NAME) | ||
|
||
.PHONY: post-upgrade-checks | ||
post-upgrade-checks: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we also run the standard e2e after an upgrade as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We were considering this, but decided not to because:
- It will be an equivalent of running E2E on the current commit and we are doing it anyway in a separate E2E job.
- It will increase feedback time and has potential to add noise to the signal (e.g. upgrade was successful, but post-upgrade E2E test flaked) - you have to re-test and wait again.
This is a good question. I don't necessarily think its an either-or thing. I could see something like: sh <installPreviousRelease>
sh <setupPreUpgradeState>
sh <upgradeIt>
go test ./test/upgrade-e2e/... |
Another interesting upgrade question: At what point do we need to actually define an upgrade process? An upgrade is generally:
We don't do step 3 right now, right? Is doing step 3 a prereq for valid upgrade testing? |
We were talking about this with @ankitathomas. It sounds a bit like we are testing something that doesn't exist at this moment (the upgrade process). We decided not to open a can of worms for now and assume that the upgrade process is just:
This should be enough short-term: it should signal when someone adds something breaking to manifests/install script. But long term we probably want to define upgrade process and probably create tool for that. E.g. we will likely need to some migration tool where it is possible to clean up old in-cluster objects from previous releases. We can use OpenShift's Cluster Version Operator and how it handles deletions. But IMO - this deserves its own epic. What do you think? Should we put this on hold and define upgrade process & create necessary tools first? Or should we proceed with this naive approach of just applying things on top?
I decided to keep bash in the draft for now. We can switch to Go when/if we decide to do something more sophisticated here. |
511a8d6
to
51e0c3a
Compare
Already have an epic for proper upgrade support. #982 I agree that this epic should not be blocked on that one. I think naive approach is good enough for now, but I suspect there could be some cases where leaving around old manifests causes the upgrade tests to pass when cleaning them up would have made them fail. As an example: a PR that deletes our issuer |
Yes, there will be cases like that, but in this specific example, I think, we will catch the issue in the E2E job because a clean setup will fail. |
13dad76
to
fe28a5b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anything else you're thinking of doing before taking this out of draft? At a quick glance, I think this is looking really good!
Testing upgrade from the latest release to the current commit Signed-off-by: Mikalai Radchuk <[email protected]>
fe28a5b
to
2cf7d2e
Compare
@joelanford I just wanted to take another fresh look in the morning and clean some things up. Nothing major: adjusting test logs for consistency, a bit of comment changes and moving variables around. Here is the diff between the version you looked at and the latest state. Should be good now. Marking as ready for review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Just one question on the location of a file... it doesn't necessarily stop this from being merged.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to put this under the test/tools
directory? There are a few other testing scripts there, we might want to consolidate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could be done later (if we desire)
Testing upgrade from the latest release to the current commit Signed-off-by: Mikalai Radchuk <[email protected]>
Testing upgrade from the latest release to the current commit Signed-off-by: Mikalai Radchuk <[email protected]>
Description
Testing upgrade from the latest release to the current commit.
Fixes #856
Reviewer Checklist