Skip to content
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

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

shaneutt
Copy link
Member

@shaneutt shaneutt commented Feb 14, 2025

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.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Feb 14, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Feb 14, 2025

@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:

This proposes the mechanisms by which we will deliver Gateway API as a "core-like" API on the platform going forward.

This covers the work in NE-1898 and is a hard requirement for delivering Gateway API support in 4.19.

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.

@openshift-ci openshift-ci bot requested review from gcs278 and Miciah February 14, 2025 19:31
Copy link
Contributor

openshift-ci bot commented Feb 14, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign candita for approval. For more information see the Code Review Process.

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@shaneutt
Copy link
Member Author

/cc @knobunc @JoelSpeed @dgn

@openshift-ci openshift-ci bot requested review from dgn, JoelSpeed and knobunc February 14, 2025 19:33
@openshift-ci-robot
Copy link

openshift-ci-robot commented Feb 14, 2025

@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:

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.

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.

@shaneutt shaneutt force-pushed the ingress-add-gateway-api-crd-lifecycle-management-enhancement branch 5 times, most recently from 7af99b6 to a4db666 Compare February 17, 2025 19:36
Comment on lines +67 to +74
#### Using a third-party Gateway API implementation

As a cluster-admin, I want to install a third-party Gateway API implementation
on my OpenShift 4.19 cluster, and use the third-party implementation without
any interference from the first-party implementation. Relatedly I want to be
able to utilize both the first-party and any third-party solution alongside
each other simultaneously and independently without any interference between the
two.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to conflict with "Validate and allow a range of CRD versions" alternative which concludes that CRDs will be pinned to concrete schema versions. Or you mean that the third party implementations should be able to work with the versions pinned by OCP?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is less about the CRDs specifically, and more just the user story about wanting to be able to have multiple implementations co-existing on the cluster. To your question though, yes the idea is they must be able to work with the versions pinned by OCP in order to do this as an implementation detail.

Comment on lines +415 to +413
the mismatching schema and report a `Degraded` status condition with status
`True` and a message explaining the problem.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you mean Upgradeable=false or I'm missing something?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is my understanding that we will set the condition named Degraded and set it (itself) to True.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see now. You were talking about the post-upgrade when CIO already took over the CRD.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. Let me know though if you think any further clarification is needed!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, yeah, after reading the EP, I think I didn't understand the fact that pre-upgrade check and admin gate go to 4.18 while starting from 4.19 the CIO takes over the CRD management.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good, I added further clarification in the notes for the workflow in e66cab0, LMKWYT?

@shaneutt shaneutt force-pushed the ingress-add-gateway-api-crd-lifecycle-management-enhancement branch 3 times, most recently from 50fcb98 to 7fa4c25 Compare February 18, 2025 14:35
@shaneutt shaneutt requested a review from alebedev87 February 18, 2025 14:37
@shaneutt shaneutt force-pushed the ingress-add-gateway-api-crd-lifecycle-management-enhancement branch 2 times, most recently from 3e79760 to e66cab0 Compare February 18, 2025 17:54
Miciah and others added 8 commits February 18, 2025 15:55
* 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.
@shaneutt shaneutt force-pushed the ingress-add-gateway-api-crd-lifecycle-management-enhancement branch from e66cab0 to 8db12e8 Compare February 18, 2025 20:56
Copy link
Contributor

openshift-ci bot commented Feb 18, 2025

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants