-
Notifications
You must be signed in to change notification settings - Fork 490
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
NE-1946: ingress: Add CRD Lifecycle Management for Gateway API #1756
NE-1946: ingress: Add CRD Lifecycle Management for Gateway API #1756
Conversation
@shaneutt: This pull request references NE-1946 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.19.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. |
/cc @knobunc @JoelSpeed @dgn |
@shaneutt: This pull request references NE-1946 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.19.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. |
7af99b6
to
a4db666
Compare
50fcb98
to
7fa4c25
Compare
e66cab0
to
8db12e8
Compare
Replaces #1740 |
/assign |
/assign @alebedev87 @alebedev87 thank you for agreeing to lead the review and be the final approver. |
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.
I think it might be useful to explain a bit more about the protection VAP, it's mentioned a few times but not really explained what it will be doing or why we've made that decision, what benefits it gives us
#### Single-node Deployments or MicroShift | ||
|
||
The CRDs themselves use minimal resources. Creating a GatewayClass CR can cause | ||
the Ingress Operator to install OpenShift Service Mesh, which in turn installs |
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.
You could create a VAP set to WARN that would notify a user that their action implicitly enables service mesh, and give them some feedback there, might be a useful addition
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.
Interestingly we don't enable service mesh. It's kinda weird, but we're literally just using Istio for it's ingress Gateway capabilities (i.e. we don't deploy istio-cni
, or allow any use of service mesh features, etc). We're wanting more distinctive support for this use case in the future, which the OSSM team has been helping us with. For the deployment of OSSM we'll be doing, the Gateway API resources are the only API surface we will be supporting (in fact we want to soft block someone trying going around this). All that said, we recently split the feature gates for the gateway API CRDs and the OSSM implementation, so OSSM is no longer a part of this and the EP was a bit out of date. This is now updated to remove references to OSSM, LMKWYT
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.
Point still stands about the implicit installation of Istio, you could provide a warning, maybe that's relevant for a different EP now though?
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 intend to make the service mesh components of OSSM inaccessible in this deployment, could you help me to better understand what you envision this warning saying, and what explicit action would trigger it?
00bbe2d
to
492ab0c
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.
Just a few final remarks regarding the latest Slack discussions. Apart from that, LGTM.
/lgtm @JoelSpeed: unhold if you are fine with this EP. |
7d8ca43
to
5b825a9
Compare
/lgtm |
- Install incompatible CRDs; verify that the operator reports `Degraded` | ||
- Install experimental CRDs; verify that the operator reports `Degraded` |
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.
Is this correct, or is the operator removing these now?
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 is correct, specifically this is for the tests: if the experimental APIs somehow become present we go degraded. We want to make experimental available in a later release, but for initial release we're being very strict about it not being present because it can cause some issues. We are considering a very deliberate way to enable Experimental later, where the cluster gets set to TechPreviewNoUpgrade
and then the user can do what they like with Experimental, but that's expected to be a future enhancement proposal and for now 🔒.
* enhancements/ingress/gateway-api-crd-life-cycle-management.md: New file. * enhancements/ingress/gateway-api-with-cluster-ingress-operator.md: Add cross-reference to the new file.
Signed-off-by: Shane Utt <shaneutt@linux.com>
Signed-off-by: Shane Utt <shaneutt@linux.com>
Signed-off-by: Shane Utt <shaneutt@linux.com>
Signed-off-by: Shane Utt <shaneutt@linux.com>
83c5c3e
to
18baca0
Compare
/lgtm |
@shaneutt: all tests passed! 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. |
This proposes the mechanisms by which we will deliver Gateway API as a "core-like" API on the platform going forward.
This covers all the work being done in the NE-1898 epic and is a hard requirement for delivering Gateway API support in 4.19.