Skip to content

Conversation

@tmshort
Copy link
Contributor

@tmshort tmshort commented Oct 31, 2025

Alternative to #147

  • Ensure that the feature-gate is removed from the disabled list when enabled.
  • Ensure that the feature-gate is removed from the enabled list when disabled.

Unlike #147, this doesn't clear all the enable/disable feature-gate lists, thus the lists in o-f-o-c's experimental.yaml file are not completely ignored.

Once a feature has been GA'd, the feature-gate has no impact even if it still exists. So, this keeps the mechanism of disabling feature-gates as part of the command line arguments. This is in case a feature is GA'd upstream before it is GA'd downstream (which is almost always the case), and in the case where a user chooses to switch to CustomNoUpgrade and wants to disable a feature.

This may be contrary to k8s "best practices", but due to the upstream and downstream nature of OLM, we need this disablement mechanism.

Added unit tests

Assisted-by: Claude code

@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels Oct 31, 2025
@openshift-ci-robot
Copy link

@tmshort: This pull request references Jira Issue OCPBUGS-63617, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

No GitHub users were found matching the public email listed for the QA contact in Jira ([email protected]), skipping review request.

The bug has been updated to refer to the pull request using the external bug tracker.

In response to this:

Alternative to #147

  • Ensure that the feature-gate is removed from the disabled list when enabled.
  • Ensure that the feature-gate is removed from the enabled list when disabled.

Unlike #147, this doesn't clear all the enable/disable feature-gate lists, thus the lists in o-f-o-c's experimental.yaml file are not completely ignored.

Once a feature has been GA'd, the feature-gate has no impact even if it still exists. So, this keeps the mechanism of disabling feature-gates as part of the command line arguments. This is in case a feature is GA'd upstream before it is GA'd downstream (which is almost always the case), and in the case where a user chooses to switch to CustomNoUpgrade and wants to disable a feature.

This may be contrary to k8s "best practices", but due to the upstream and downstream nature of OLM, we need this disablement mechanism.

Added unit tests

Assisted-by: Claude code

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 approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 31, 2025
@tmshort
Copy link
Contributor Author

tmshort commented Nov 3, 2025

/test openshift-e2e-aws-customnoupgrade

@jianzhangbjz
Copy link
Member

Test failed. The OCPBUGS-63617 still exit, as the below.

1. Build an OCP cluster with this unmerged PR via the cluster-bot
launch 4.21,openshift/cluster-olm-operator#148 aws
jiazha-mac:~ jiazha$ oc get clusterversion
NAME      VERSION                                                AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.21.0-0-2025-11-03-015450-test-ci-ln-9p4nfwt-latest   True        False         91m     Cluster version is 4.21.0-0-2025-11-03-015450-test-ci-ln-9p4nfwt-latest

jiazha-mac:~ jiazha$ oc get deploy catalogd-controller-manager -o yaml -n openshift-catalogd |grep feature-gates
        - --feature-gates=APIV1MetasHandler=true
        - --feature-gates=APIV1MetasHandler=false
jiazha-mac:~ jiazha$ oc get deploy -n openshift-operator-controller  operator-controller-controller-manager -o yaml |grep feature-gates
        - --feature-gates=WebhookProviderOpenshiftServiceCA=true
        - --feature-gates=SingleOwnNamespaceInstallSupport=true
        - --feature-gates=PreflightPermissions=true
        - --feature-gates=WebhookProviderOpenshiftServiceCA=true
        - --feature-gates=WebhookProviderCertManager=false
        - --feature-gates=HelmChartSupport=false
        - --feature-gates=BoxcutterRuntime=false
        - --feature-gates=PreflightPermissions=false
        - --feature-gates=SingleOwnNamespaceInstallSupport=false
        - --feature-gates=WebhookProviderCertManager=false

I will reopen #147, which reverts mapper.go and mapper_test.go.

@tmshort
Copy link
Contributor Author

tmshort commented Nov 3, 2025

Test failed. The OCPBUGS-63617 still exit, as the below.

Yeah, I meant to look at the resulting must-gather from one of the tests last week... but they take so long, I forgot once we got past the demos...

I really don't want to loose the data in experimental.yaml if possible, so I'm going to take a look at this today, and if I can't figure it out, I'll approve/lgtm #147.

@tmshort
Copy link
Contributor Author

tmshort commented Nov 3, 2025

Test failed. The OCPBUGS-63617 still exit, as the below.

1. Build an OCP cluster with this unmerged PR via the cluster-bot
launch 4.21,openshift/cluster-olm-operator#148 aws
jiazha-mac:~ jiazha$ oc get clusterversion
NAME      VERSION                                                AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.21.0-0-2025-11-03-015450-test-ci-ln-9p4nfwt-latest   True        False         91m     Cluster version is 4.21.0-0-2025-11-03-015450-test-ci-ln-9p4nfwt-latest

jiazha-mac:~ jiazha$ oc get deploy catalogd-controller-manager -o yaml -n openshift-catalogd |grep feature-gates
        - --feature-gates=APIV1MetasHandler=true
        - --feature-gates=APIV1MetasHandler=false
jiazha-mac:~ jiazha$ oc get deploy -n openshift-operator-controller  operator-controller-controller-manager -o yaml |grep feature-gates
        - --feature-gates=WebhookProviderOpenshiftServiceCA=true
        - --feature-gates=SingleOwnNamespaceInstallSupport=true
        - --feature-gates=PreflightPermissions=true
        - --feature-gates=WebhookProviderOpenshiftServiceCA=true
        - --feature-gates=WebhookProviderCertManager=false
        - --feature-gates=HelmChartSupport=false
        - --feature-gates=BoxcutterRuntime=false
        - --feature-gates=PreflightPermissions=false
        - --feature-gates=SingleOwnNamespaceInstallSupport=false
        - --feature-gates=WebhookProviderCertManager=false

I will reopen #147, which reverts mapper.go and mapper_test.go.

I'm seeing duplicates, but not contradictory settings in the techpreview must-gather...

@tmshort tmshort force-pushed the ocpbugs-63617 branch 2 times, most recently from d51f639 to f880320 Compare November 3, 2025 18:52
* Ensure that the feature-gate is removed from the disabled list when enabled.
* Ensure that the feature-gate is removed from the enabled list when disabled.

Once a feature has been GA'd, the feature-gate has no impact even if it still
exists. So, this keeps the mechanism of disabling feature-gates as part of the
command line arguments. This is in case a feature is GA'd upstream before it is
GA'd downstream (which is almost always the case), and in the case where a user
chooses to switch to `CustomNoUpgrade` and wants to disable a feature.

This may be contrary to k8s "best practices", but due to the upstream and
downstream nature of OLM, we need this disablement mechanism.

Added unit tests

Assisted-by: Claude code
Signed-off-by: Todd Short <[email protected]>
@tmshort
Copy link
Contributor Author

tmshort commented Nov 4, 2025

/test openshift-e2e-aws-devpreview

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 4, 2025

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

@tmshort
Copy link
Contributor Author

tmshort commented Nov 4, 2025

@jianzhangbjz I think I have this working now.

Copy link
Contributor

@anik120 anik120 left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Nov 4, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 4, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: anik120, tmshort

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

The pull request process is described 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

@jianzhangbjz
Copy link
Member

jianzhangbjz commented Nov 5, 2025

Test passed, details: https://issues.redhat.com/browse/OCPBUGS-63617
/verified by @jianzhangbjz

@jianzhangbjz
Copy link
Member

/verified by @jianzhangbjz

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Nov 5, 2025
@openshift-ci-robot
Copy link

@jianzhangbjz: This PR has been marked as verified by @jianzhangbjz.

In response to this:

/verified by @jianzhangbjz

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-merge-bot openshift-merge-bot bot merged commit 5efb878 into openshift:main Nov 5, 2025
12 checks passed
@openshift-ci-robot
Copy link

@tmshort: Jira Issue OCPBUGS-63617: Some pull requests linked via external trackers have merged:

The following pull request, linked via external tracker, has not merged:

All associated pull requests must be merged or unlinked from the Jira bug in order for it to move to the next state. Once unlinked, request a bug refresh with /jira refresh.

Jira Issue OCPBUGS-63617 has not been moved to the MODIFIED state.

This PR is marked as verified. If the remaining PRs listed above are marked as verified before merging, the issue will automatically be moved to VERIFIED after all of the changes from the PRs are available in an accepted nightly payload.

In response to this:

Alternative to #147

  • Ensure that the feature-gate is removed from the disabled list when enabled.
  • Ensure that the feature-gate is removed from the enabled list when disabled.

Unlike #147, this doesn't clear all the enable/disable feature-gate lists, thus the lists in o-f-o-c's experimental.yaml file are not completely ignored.

Once a feature has been GA'd, the feature-gate has no impact even if it still exists. So, this keeps the mechanism of disabling feature-gates as part of the command line arguments. This is in case a feature is GA'd upstream before it is GA'd downstream (which is almost always the case), and in the case where a user chooses to switch to CustomNoUpgrade and wants to disable a feature.

This may be contrary to k8s "best practices", but due to the upstream and downstream nature of OLM, we need this disablement mechanism.

Added unit tests

Assisted-by: Claude code

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.

@jianzhangbjz
Copy link
Member

/jira refresh

@openshift-ci-robot
Copy link

@jianzhangbjz: Jira Issue Verification Checks: Jira Issue OCPBUGS-63617
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-63617 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

In response to this:

/jira refresh

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.

@tmshort tmshort deleted the ocpbugs-63617 branch November 5, 2025 20:24
@openshift-merge-robot
Copy link
Contributor

Fix included in accepted release 4.21.0-0.nightly-2025-11-05-234508

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants