Skip to content

NE-2480: Add featuregate for Gateway API without OLM#2691

Open
gcs278 wants to merge 1 commit intoopenshift:masterfrom
gcs278:gateway-without-olm-featuregate
Open

NE-2480: Add featuregate for Gateway API without OLM#2691
gcs278 wants to merge 1 commit intoopenshift:masterfrom
gcs278:gateway-without-olm-featuregate

Conversation

@gcs278
Copy link
Contributor

@gcs278 gcs278 commented Feb 4, 2026

User description

Add the GatewayAPIWithoutOLM feature gate to control whether the cluster-ingress-operator uses the new Sail Library for direct Helm-based installation of Istio or the previous OLM-based installation via OSSM subscriptions.

The enhancement openshift/enhancements#1933 describes the goal to eliminate the OLM dependency for Gateway API.


PR Type

Enhancement


Description

  • Add GatewayAPIWithoutOLM feature gate for Helm-based Istio installation

  • Enable in DevPreviewNoUpgrade and TechPreviewNoUpgrade stages

  • Register gate with Routing component and miciah as contact

  • Update all feature gate manifests across deployment profiles


Diagram Walkthrough

flowchart LR
  A["Feature Gate Definition"] -->|"Registered in"| B["features.go"]
  B -->|"Documented in"| C["features.md"]
  B -->|"Deployed to"| D["Feature Gate Manifests"]
  D -->|"Includes"| E["Default/DevPreview/TechPreview Profiles"]
Loading

File Walkthrough

Relevant files
Enhancement
1 files
features.go
Define GatewayAPIWithoutOLM feature gate                                 
+9/-0     
Documentation
1 files
features.md
Document GatewayAPIWithoutOLM in feature matrix                   
+1/-0     
Configuration changes
8 files
featureGate-Hypershift-Default.yaml
Add GatewayAPIWithoutOLM to Hypershift default profile     
+3/-0     
featureGate-Hypershift-DevPreviewNoUpgrade.yaml
Add GatewayAPIWithoutOLM to Hypershift dev preview profile
+3/-0     
featureGate-Hypershift-OKD.yaml
Add GatewayAPIWithoutOLM to Hypershift OKD profile             
+3/-0     
featureGate-Hypershift-TechPreviewNoUpgrade.yaml
Add GatewayAPIWithoutOLM to Hypershift tech preview profile
+3/-0     
featureGate-SelfManagedHA-Default.yaml
Add GatewayAPIWithoutOLM to SelfManagedHA default profile
+3/-0     
featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml
Add GatewayAPIWithoutOLM to SelfManagedHA dev preview profile
+3/-0     
featureGate-SelfManagedHA-OKD.yaml
Add GatewayAPIWithoutOLM to SelfManagedHA OKD profile       
+3/-0     
featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml
Add GatewayAPIWithoutOLM to SelfManagedHA tech preview profile
+3/-0     

@openshift-ci-robot
Copy link

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@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 4, 2026
@openshift-ci-robot
Copy link

openshift-ci-robot commented Feb 4, 2026

@gcs278: This pull request references NE-2480 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.

Details

In response to this:

Add the GatewayAPIWithoutOLM feature gate to control whether the cluster-ingress-operator uses the new Sail Library for direct Helm-based installation of Istio or the previous OLM-based installation via OSSM subscriptions.

The enhancement openshift/enhancements#1933 describes the goal to eliminate the OLM dependency for Gateway API.

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
Copy link
Contributor

openshift-ci bot commented Feb 4, 2026

Hello @gcs278! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@coderabbitai
Copy link

coderabbitai bot commented Feb 4, 2026

📝 Walkthrough

Walkthrough

This pull request introduces a new feature gate named GatewayAPIWithoutOLM across the codebase. A public variable declaration is added to features/features.go with configuration specifying the Routing Jira component, miciah as the contact person, and enablement in DevPreviewNoUpgrade and TechPreviewNoUpgrade gates. Feature gate documentation is added to features.md. Corresponding feature gate manifest files are updated across Hypershift and SelfManagedHA environments, with the gate configured as disabled by default and enabled in preview configurations.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: adding a feature gate for Gateway API without OLM, which aligns perfectly with the changeset modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The pull request description clearly explains the purpose of adding a new feature gate GatewayAPIWithoutOLM to control Helm-based vs OLM-based Istio installation, with references to the enhancement PR and detailed documentation of changes across all affected files.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci-robot
Copy link

openshift-ci-robot commented Feb 4, 2026

@gcs278: This pull request references NE-2480 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.

Details

In response to this:

User description

Add the GatewayAPIWithoutOLM feature gate to control whether the cluster-ingress-operator uses the new Sail Library for direct Helm-based installation of Istio or the previous OLM-based installation via OSSM subscriptions.

The enhancement openshift/enhancements#1933 describes the goal to eliminate the OLM dependency for Gateway API.


PR Type

Enhancement


Description

  • Add GatewayAPIWithoutOLM feature gate for Helm-based Istio installation

  • Enable in DevPreviewNoUpgrade and TechPreviewNoUpgrade stages

  • Register gate with Routing component and miciah as contact

  • Update all feature gate manifests across deployment profiles


Diagram Walkthrough

flowchart LR
 A["Feature Gate Definition"] -->|"Registered in"| B["features.go"]
 B -->|"Documented in"| C["features.md"]
 B -->|"Deployed to"| D["Feature Gate Manifests"]
 D -->|"Includes"| E["Default/DevPreview/TechPreview Profiles"]
Loading

File Walkthrough

Relevant files
Enhancement
1 files
features.go
Define GatewayAPIWithoutOLM feature gate                                 
+9/-0     
Documentation
1 files
features.md
Document GatewayAPIWithoutOLM in feature matrix                   
+1/-0     
Configuration changes
8 files
featureGate-Hypershift-Default.yaml
Add GatewayAPIWithoutOLM to Hypershift default profile     
+3/-0     
featureGate-Hypershift-DevPreviewNoUpgrade.yaml
Add GatewayAPIWithoutOLM to Hypershift dev preview profile
+3/-0     
featureGate-Hypershift-OKD.yaml
Add GatewayAPIWithoutOLM to Hypershift OKD profile             
+3/-0     
featureGate-Hypershift-TechPreviewNoUpgrade.yaml
Add GatewayAPIWithoutOLM to Hypershift tech preview profile
+3/-0     
featureGate-SelfManagedHA-Default.yaml
Add GatewayAPIWithoutOLM to SelfManagedHA default profile
+3/-0     
featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml
Add GatewayAPIWithoutOLM to SelfManagedHA dev preview profile
+3/-0     
featureGate-SelfManagedHA-OKD.yaml
Add GatewayAPIWithoutOLM to SelfManagedHA OKD profile       
+3/-0     
featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml
Add GatewayAPIWithoutOLM to SelfManagedHA tech preview profile
+3/-0     

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 added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Feb 4, 2026
@qodo-code-review
Copy link

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 4, 2026

[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 joelspeed for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details 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

@qodo-code-review
Copy link

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
Possible issue
Align feature gate definition with manifests

Update the GatewayAPIWithoutOLM feature gate definition in Go to include Default
and OKD feature sets, aligning it with the changes in the YAML manifests.

features/features.go [982-988]

 	FeatureGateGatewayAPIWithoutOLM = newFeatureGate("GatewayAPIWithoutOLM").
 				reportProblemsToJiraComponent("Routing").
 				contactPerson("miciah").
 				productScope(ocpSpecific).
 				enhancementPR("https://github.com/openshift/enhancements/pull/1933").
-				enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
+				enableIn(configv1.Default, configv1.OKD, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
 				mustRegister()
  • Apply / Chat
Suggestion importance[1-10]: 9

__

Why: The suggestion correctly identifies a critical inconsistency between the Go feature gate definition and the YAML manifests, which would likely cause CI verification to fail.

High
  • More

contactPerson("miciah").
productScope(ocpSpecific).
enhancementPR("https://github.com/openshift/enhancements/pull/1933").
enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
Copy link
Contributor

Choose a reason for hiding this comment

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

How close is the EP to being mergeable?

In a recent architecture call we discussed that DPNU was ok without a merged EP but we should be looking for merged EPs before moving to TP (even if those EPs need some updates before GA)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good info - I say we are about 80-90% of the way there for the EP. I need to do a couple updates on my end and get a final round of review. The current goal is to go TP followed by GA by 4.22.

I can mark this as WIP or draft until the EP is ready.

Copy link
Contributor

Choose a reason for hiding this comment

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

We can merge as DevPreview and then add TechPreview later if you wanted to start getting implementation ready behind this gate

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 4, 2026

@gcs278: all tests passed!

Full PR test history. Your PR dashboard.

Details

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.

@gcs278
Copy link
Contributor Author

gcs278 commented Feb 4, 2026

The enhancement is still under review, and we need to have it merged before merging this featuregate into techpreview: openshift/enhancements#1933
/wip

@gcs278
Copy link
Contributor Author

gcs278 commented Feb 4, 2026

/work-in-progress

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. Review effort 2/5 size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants