[release-5.0] OCPBUGS-114877: move empty CRIOCredentialProviderConfig CR to run-level 0000_10 - #3019
Conversation
…l 0000_10 The empty CRIOCredentialProviderConfig CR shipped at run-level 0000_05 while its CRD ships at 0000_10. Under the CVO's strict update-path ordering, a run-level acts as a barrier: the CVO will not advance to 0000_10 until 0000_05 completes. Because the feature gate is now enabled in Default, on an upgrade into the first release that introduces this CRD the CVO attempts to create the CR at 0000_05 before the CRD exists at 0000_10, the create fails, 0000_05 never completes, and the update deadlocks (self-managed-high-availability, Default). Move the empty CR up to run-level 0000_10 so it sorts after its CRD within the same run-level (CRD operatorOrdering 01 before CR 02), mirroring the existing node.cr precedent. Pure rename; no schema change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> rh-pre-commit.version: 2.4.0 rh-pre-commit.check-secrets: ENABLED
Walk payload-manifests/crds and payload-command/empty-resources; for every empty CR whose CRD is shipped in this repo, assert the CRD is applied before the CR under CVO ordering (bootstrap-required, a lower run-level, or the same run-level with a filename that byte-sorts first, matching the CVO's LC_ALL=C sort). This guards against the OCPBUGS-99266 class of deadlock where a CR sorts ahead of its CRD. The test parses manifests with k8s.io/apimachinery/pkg/util/yaml.NewYAMLReader (correctly handling multi-document files and "---" inside scalars) and accepts both .yaml and .yml files. The test's helper structs are not CRD API types, so extend the existing kubeapilinter exemption in .golangci.yaml from payload-command/*.go (files directly under the directory) to payload-command/ so it also covers the ordering/ subpackage; otherwise kubeapilinter flags the YAML-parsing structs and its nokind rule renames the Kind field and breaks the build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> rh-pre-commit.version: 2.4.0 rh-pre-commit.check-secrets: ENABLED
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
|
Hello @openshift-cherrypick-robot! Some important instructions when contributing to openshift/api: |
|
@openshift-cherrypick-robot: Jira Issue OCPBUGS-99266 has been cloned as Jira Issue OCPBUGS-114877. Will retitle bug to link to clone. 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. |
|
@openshift-cherrypick-robot: This pull request references Jira Issue OCPBUGS-114877, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. 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. |
|
/lgtm |
|
@sdodson: This PR has been marked as verified by 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. |
|
Scheduling tests matching the |
|
@sdodson: This pull request references Jira Issue OCPBUGS-114877, which is invalid:
Comment 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. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: sdodson 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 |
|
@openshift-cherrypick-robot: The following test 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. |
This is an automated cherry-pick of #3011
/assign sdodson