[WIP] NE-2471: Replace OLM-based Istio install with Sail Library#1354
[WIP] NE-2471: Replace OLM-based Istio install with Sail Library#1354gcs278 wants to merge 4 commits intoopenshift:masterfrom
Conversation
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
22cafc1 to
0a046e5
Compare
Bump Kubernetes packages to 0.35.0 and controller-runtime to 0.22.4, required by the sail-operator library which will be used to replace OLM-based Istio installation: go get k8s.io/api@v0.35.0 go get k8s.io/apiextensions-apiserver@v0.35.0 go get k8s.io/apimachinery@v0.35.0 go get k8s.io/apiserver@v0.35.0 go get k8s.io/client-go@v0.35.0 go get sigs.k8s.io/controller-runtime@v0.22.4 The Kubernetes 0.35.0 dependencies require Go 1.25.0, which caused go.mod to be automatically updated from go 1.24.0 to go 1.25.0 Update build toolchain to match the new go.mod version: - `Dockerfile`: golang:1.24 to golang:1.25 - `.ci-operator.yaml`: rhel-9-release-golang-1.24-openshift-4.22 to rhel-9-release-golang-1.25-openshift-4.22
Bump openshift/api to add the new GatewayAPIWithoutOLM feature gate. This feature gate controls whether to use the Sail Library for direct Helm-based installation of Istio.
0a046e5 to
500e267
Compare
500e267 to
6b0b1af
Compare
|
[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. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
6b0b1af to
8baf8ef
Compare
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
8baf8ef to
f6b8efd
Compare
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
|
@gcs278: This pull request references NE-2471 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 story to target the "4.22.0" version, but no target version was set. DetailsIn 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. |
|
@gcs278: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
| - list | ||
| - watch | ||
|
|
||
| - apiGroups: |
There was a problem hiding this comment.
Is this an Istio requirement @aslakknutsen @gcs278
Can Istio be started without it?
There was a problem hiding this comment.
I'm working on a new version; aslakknutsen/sail-operator@375b004, but basically to allow the library to install some of these for istio to use, the consumer(CIO Operator) has to have the same rbac else we run into escalation issues.
There was a problem hiding this comment.
@rikatz Or are you referring specifically to the x-k8s.io ones?
Add support for installing Istio without OLM using the Sail Operator library, which uses Helm directly. This simplifies the Gateway API installation flow by eliminating the need for Subscription/InstallPlan management and Istio CR lifecycle. Key changes: - Use install.NewInstaller() with PresetGatewayAPI to deploy Istio - Pass GatewayClass as ownerReference for Helm release garbage collection - Add RBAC cluster roles required by the Sail Library The Sail Library embeds Istio Helm charts and provides a one-shot installer API, making the installation idempotent and self-contained without requiring external operator dependencies.
Add migration logic to handle the upgrade from OLM-based Istio installation (4.21) to Helm-based installation via Sail Library (4.22). Migration approach: - Delete the old Istio CR created by sail-operator - Wait for Sail Operator to clean up IstioRevision and Helm resources - Continue with Sail Library install only when migration is complete
f6b8efd to
b0a1817
Compare
🚧 Work in Progress 🚧
Replace OLM-based Istio installation with Sail Library
This PR implements the changes described in openshift/enhancements#1933 to remove the OLM dependency for Gateway API support.
Summary:
Replaces the OLM Subscription-based OSSM installation with direct Helm chart installation using the sail-operator library. This change:
Implementation Details:
The cluster-ingress-operator now:
GatewayAPIWithoutOLMfeature gate) to deploy istiod directly via Helm with Gateway API configuratiogo.mod), which embeds charts as resourcesGatewayClassasownerReferencefor Helm releases to enable automatic garbage collectionBased on proof of concept work in:
Status: Work in progress:
TODO:
NID = NID Team Action
OSSM = OSSM Team Action