-
Notifications
You must be signed in to change notification settings - Fork 573
OPRUN-4156: Promote OLMv1 Webhook support to GA #2491
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
base: master
Are you sure you want to change the base?
Conversation
Hello @perdasilva! Some important instructions when contributing to openshift/api: |
@perdasilva: This pull request references OPRUN-4156 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.21.0" version, but no target version was set. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Signed-off-by: Per G. da Silva <[email protected]>
4074fe6
to
f28546a
Compare
@perdasilva Feature promotion criteria looks good aside from the metal-ipv6 (disconnected), which I saw the tests were marked to skip running in disconnected environments. Is there a particular reason why this feature should/could not be tested in disconnected environments? |
@everettraven Thanks for 👀'ing =D I can't think of a reason it shouldn't. @joelanford do you remember why we were skipping tests on d/c environments? Is v1 not available on those yet? |
Ah, I also just noticed that there are 4 tests instead of 5 - are you confident the feature is tested thoroughly and there are no testing gaps? We have the 5 tests per feature requirement because it generally shouldn't be too difficult to get 5 tests implemented for a feature. |
Yeah, that part we're confident with. We couldn't come up with an useful 5th test =S |
@everettraven, coincidentally, it was you that submitted the PR to have most tests skipped in disconnected environments. It looks like we had tests that were trying to make outbound internet connections (e.g. to registry.redhat.io), so those tests needed to be skipped in disconnected environments. PR: openshift/origin#29313 For the webhook tests, do we rely on the internet to pull catalogs or bundles? If not, we can probably remove those skips. It looks like the bug was opened, and then subsequently closed. I'm guessing we still have an issue though because, as far as I know, we have not done either of the following:
|
@joelanford oh yeah! doh! come to think of it, we can't run these tests on d/c environments because they pull down the old webhook test operator from v0 atm. We still need that in-tree test operator that we can build and consume within the test itself. |
Looks like the referenced PR was only for the catalog tests? In hindsight, I'm not sure that was actually the appropriate thing to do, but that change shouldn't have triggered all tests for OLMv1 to be skipped in disconnected environments (although applying the same logic as was done in the past isn't unreasonable :P).
If you know the images you are going to use for catalogs and bundles beforehand, you could potentially use the instructions in https://github.com/openshift/origin/tree/main/test/extended/util/image to get the necessary images mirrored over. There might be more nuances there, but it should certainly be possible to come up with a test setup that runs in disconnected environments - especially if the feature is going to be supported in said disconnected environments. |
@perdasilva: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
/assign |
@everettraven Is this a blocker for this PR? Because this is orthogonal to all OTE tests and one of the goals is to keep this e2e image set small, maybe a case can be made that this ought to be solved across the test suite as a separate action? A couple of follow-up (and possibly dumb) questions regarding the documentation, in case you can provide some direction:
|
Why should it not be a blocker? Asked in another way - why should this OLM feature receive an exception to this criteria and other features should not? The case being made for this to be solved as a separate action seemed to be the intention behind the bug that @joelanford had shared (https://issues.redhat.com/browse/OCPBUGS-44810), but instead that ticket was closed and the tests were never updated to work in a disconnected environment. How can we be certain that once this feature is promoted you'll come back and update the testing behavior so we are gathering appropriate signal? To clarify, I'm not trying to block this just to block it. If there is a clear technical limitation as to why testing in a disconnected environment just cannot be done, or explicit BU override, then the case can be made to override the promotion gate. Otherwise, we need to maintain the promotion bar for all features.
My interpretation is that this is for an image that doesn't exist upstream but is needed to run your tests. Presumably a standard Prow job to build and push the image to quay.io/openshift is what they are looking for here. If there already exists an image that can be pulled and mirrored by an approver you shouldn't need to do this AFAIK - at least I didn't need to when getting
Yeah, I believe this is outdated. I did this recently, so feel free to use openshift/origin#30221 as an example. |
It's fine if it is.
I wasn't involved in it, so I cannot comment.
Never meant to imply that you were. |
We've separated out the OTE tests into our own openshift/operator-framework-operator-controller repository. Do you know how these e2e images are supposed to be registered and used in this case? |
My two cents:
IMO this concern can be waived so long as:
|
I do not. The OTE case is new to me. Presumably you can import and use the same library though. |
While it is a nice promise, promises won't protect us from regressions.
This is certainly an option, but this exception mechanism is reserved for very important promotions. If you want to go through this exception process, you'll need to go through the SBAR process and get it approved by the BU that this is a critical enough promotion to warrant this exception. Usually, that also means having a documented plan in place to monitor for regressions equivalently to automated testing. |
So to clarify my understanding, the policy is:
If so, sounds like we have some unplanned work to do @perdasilva. For future feature promotions, do we have the policy documented somewhere for which cluster variants are required for promotion? This particular policy for disconnected testing, while it makes sense, is a surprise to me because it was not policy (or at least was not enforced policy) as recently as 4.18. For next time, I'd like to be able to refer to the official policy when we draft the epic for a feature promotion to make sure that we account for what API reviewers will be looking for before approving promotions. As an example: right now, OLMv1 is not included in HyperShift at all. That was clearly acceptable in the past, but if the policy changes to "All new features must always promote to SelfManagedHA and Hypershift at the same time", then suddenly we will have a bunch of surprise work to do. |
For the most part, that is my understanding. If there is reasonable justification, such as a true technical limitation or the feature is explicitly not supported in that environment, either Joel or I are probably able to override without an SBAR. Outside of that, an SBAR will be necessary to have an exception to the promotion criteria. QE verification, or some agreement to test manually, is likely required as part of that SBAR process.
We can't retroactively revert the promotion of features that have already GA'd. If you are building features on top of something that circumvented that testing in the past you may end up with additional work to do to retroactively enable that testing for everything.
As far as I am aware,
I'm actively working on, albeit a bit slowly at the moment, writing up a canonical source for developing features for OpenShift. I'm not aware of any existing comprehensive guide, so I'm hoping to help with that but it will be some time before that is available.
This is an entirely separate thing. I'm not aware of any changes, now or in the foreseeable future, for requiring promotion to SelfManagedHA and HCP at the same time (doesn't mean that there won't or can't be). We are trying to do this from the control plane group side because we have hit some real pain points in having a diff in feature maturity across the two products, but YMMV. |
Promotes
NewOLMWebhookProviderOpenshiftServiceCA
to GA (configv1.Default)