Skip to content

OCPBUGS-65617: fix(conformance): set priorityClass on global-pull-secret-syncer DaemonSet - #7236

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
jparrill:OCPBUGS-65617
Nov 15, 2025
Merged

OCPBUGS-65617: fix(conformance): set priorityClass on global-pull-secret-syncer DaemonSet#7236
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
jparrill:OCPBUGS-65617

Conversation

@jparrill

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Configure openshift-user-critical priorityClass on the global-pull-secret-syncer DaemonSet to ensure conformance tests pass. This resolves the priority class validation failure where pods were found with empty priority class values.

Which issue(s) this PR fixes:

@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 Nov 14, 2025
@openshift-ci-robot

Copy link
Copy Markdown

@jparrill: This pull request references Jira Issue OCPBUGS-65617, which is valid. The bug has been moved to the POST state.

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 ASSIGNED, 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 (jiezhao@redhat.com), skipping review request.

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

Details

In response to this:

What this PR does / why we need it:

Configure openshift-user-critical priorityClass on the global-pull-secret-syncer DaemonSet to ensure conformance tests pass. This resolves the priority class validation failure where pods were found with empty priority class values.

Which issue(s) this PR fixes:

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.

@coderabbitai

coderabbitai Bot commented Nov 14, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Added an exported constant openshiftUserCriticalPriorityClass and updated the GlobalPullSecret DaemonSet reconciliation to set PodSpec.PriorityClassName to that value.

Changes

Cohort / File(s) Summary
GlobalPullSecret Priority Class Configuration
control-plane-operator/hostedclusterconfigoperator/controllers/globalps/globalps.go
Introduced exported constant openshiftUserCriticalPriorityClass = "openshift-user-critical" and updated reconcileDaemonSet to set the DaemonSet PodSpec's PriorityClassName to this constant; minor const-block formatting adjustments.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • Single-file change with a small, localized API surface.
  • Review attention: ensure constant export name is intended, verify no unintended impacts on pod scheduling/priority semantics, and confirm formatting changes are non-functional.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.5.0)

Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions
The command is terminated due to an error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions


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

@openshift-ci
openshift-ci Bot requested review from csrwng and sjenning November 14, 2025 09:44
@openshift-ci openshift-ci Bot added area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release and removed do-not-merge/needs-area labels Nov 14, 2025
@openshift-ci

openshift-ci Bot commented Nov 14, 2025

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jparrill

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

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

…onSet

Set openshift-user-critical priorityClass to fix conformance test failures.
Resolves empty priority class validation errors in kube-system pods.

Signed-off-by: Juan Manuel Parrilla Madrid <jparrill@redhat.com>
@sdminonne

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Nov 14, 2025

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 599fff1 and d05cb18.

📒 Files selected for processing (1)
  • control-plane-operator/hostedclusterconfigoperator/controllers/globalps/globalps.go (2 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.

Files:

  • control-plane-operator/hostedclusterconfigoperator/controllers/globalps/globalps.go
🔇 Additional comments (1)
control-plane-operator/hostedclusterconfigoperator/controllers/globalps/globalps.go (1)

27-32: LGTM!

The constant is properly defined and aligned with existing constants. The formatting is consistent.

AutomountServiceAccountToken: ptr.To(false),
SecurityContext: &corev1.PodSecurityContext{},
DNSPolicy: corev1.DNSDefault,
PriorityClassName: openshiftUserCriticalPriorityClass,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

Verify the priority class choice is appropriate for this system-level DaemonSet.

The assignment correctly sets a priority class, which addresses the conformance test failure. However, since this DaemonSet performs privileged system operations (writes to kubelet config, restarts kubelet service), consider verifying that openshift-user-critical is the intended priority class rather than system-node-critical, which is typically used for node-level critical infrastructure.


🌐 Web query:

What is the difference between openshift-user-critical and system-node-critical priority classes in OpenShift, and which should be used for DaemonSets that manage kubelet configuration?

💡 Result:

Short answer: use system-node-critical for DaemonSets that manage kubelet configuration.

Why:

  • system-node-critical is reserved for pods that should never be evicted and protect node-level services. OpenShift lists node-essential components under system-node-critical. [1][2]
  • openshift-user-critical is intended for important user/monitoring workloads (Prometheus, user-workload monitoring) that intentionally can drop priority when they over-consume resources so the scheduler has flexibility. It is not for node-level control-plane/agent DaemonSets. [2]
  • Kubernetes/OpenShift priority semantics: higher priority prevents preemption/eviction for critical node services; node-management/ kubelet-affecting DaemonSets belong to the node-critical class. [3]

Citations:

  • OpenShift docs — priority classes (system-node-critical, system-cluster-critical, openshift-user-critical). [1][2]
  • Kubernetes Pod Priority & Preemption overview. [3]

Use system-node-critical priority class for this DaemonSet.

The system-node-critical priority class is reserved for pods that should never be evicted and protect node-level services, while openshift-user-critical is intended for important user/monitoring workloads that can intentionally drop priority when over-consuming resources. Since this DaemonSet manages kubelet configuration (a node-critical operation), it should use system-node-critical rather than openshift-user-critical.

Change openshiftUserCriticalPriorityClass to systemNodeCriticalPriorityClass at line 290.

🤖 Prompt for AI Agents
In
control-plane-operator/hostedclusterconfigoperator/controllers/globalps/globalps.go
around line 290, the DaemonSet currently sets PriorityClassName to
openshiftUserCriticalPriorityClass but must use systemNodeCriticalPriorityClass
because this manages kubelet/node-critical functionality; update the
PriorityClassName value from openshiftUserCriticalPriorityClass to
systemNodeCriticalPriorityClass and ensure the systemNodeCriticalPriorityClass
constant (or equivalent string "system-node-critical") is defined/available in
scope and used consistently.

@jparrill

Copy link
Copy Markdown
Contributor Author

/test e2e-aks-4-20

@jparrill

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-upgrade-hypershift-operator

@sjenning

Copy link
Copy Markdown
Contributor

/test e2e-aws-conformance

@openshift-ci

openshift-ci Bot commented Nov 14, 2025

Copy link
Copy Markdown
Contributor

@sjenning: The specified target(s) for /test were not found.
The following commands are available to trigger required jobs:

/test e2e-aks
/test e2e-aks-4-20
/test e2e-aws
/test e2e-aws-4-20
/test e2e-aws-override
/test e2e-aws-upgrade-hypershift-operator
/test e2e-kubevirt-aws-ovn-reduced
/test images
/test okd-scos-images
/test security
/test unit
/test verify
/test verify-deps

The following commands are available to trigger optional jobs:

/test e2e-aws-autonode
/test e2e-aws-metrics
/test e2e-aws-minimal
/test e2e-aws-techpreview
/test e2e-azure-aks-ovn-conformance
/test e2e-conformance
/test e2e-kubevirt-aws-ovn
/test e2e-kubevirt-azure-ovn
/test e2e-kubevirt-metal-conformance
/test e2e-openstack-aws
/test e2e-openstack-aws-conformance
/test e2e-openstack-aws-csi-cinder
/test e2e-openstack-aws-csi-manila
/test e2e-openstack-aws-nfv
/test okd-scos-e2e-aws-ovn
/test reqserving-e2e-aws

Use /test all to run the following jobs that were automatically triggered:

pull-ci-openshift-hypershift-main-e2e-aks
pull-ci-openshift-hypershift-main-e2e-aks-4-20
pull-ci-openshift-hypershift-main-e2e-aws
pull-ci-openshift-hypershift-main-e2e-aws-upgrade-hypershift-operator
pull-ci-openshift-hypershift-main-e2e-kubevirt-aws-ovn-reduced
pull-ci-openshift-hypershift-main-images
pull-ci-openshift-hypershift-main-okd-scos-e2e-aws-ovn
pull-ci-openshift-hypershift-main-okd-scos-images
pull-ci-openshift-hypershift-main-security
pull-ci-openshift-hypershift-main-unit
pull-ci-openshift-hypershift-main-verify
Details

In response to this:

/test e2e-aws-conformance

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.

@sjenning

Copy link
Copy Markdown
Contributor

/test e2e-conformance

@jparrill

Copy link
Copy Markdown
Contributor Author

/retest-required

@jparrill

Copy link
Copy Markdown
Contributor Author

/retest

@jparrill

Copy link
Copy Markdown
Contributor Author

/test e2e-conformance

@jparrill

Copy link
Copy Markdown
Contributor Author

/retest-required

1 similar comment
@jparrill

Copy link
Copy Markdown
Contributor Author

/retest-required

@jparrill

Copy link
Copy Markdown
Contributor Author

/test e2e-conformance

@csrwng

csrwng commented Nov 14, 2025

Copy link
Copy Markdown
Contributor

/retest-required

@csrwng

csrwng commented Nov 14, 2025

Copy link
Copy Markdown
Contributor

/test e2e-conformance

1 similar comment
@csrwng

csrwng commented Nov 15, 2025

Copy link
Copy Markdown
Contributor

/test e2e-conformance

@csrwng

csrwng commented Nov 15, 2025

Copy link
Copy Markdown
Contributor

/retest-required

1 similar comment
@jparrill

Copy link
Copy Markdown
Contributor Author

/retest-required

@jparrill

Copy link
Copy Markdown
Contributor Author

/test e2e-conformance

@csrwng

csrwng commented Nov 15, 2025

Copy link
Copy Markdown
Contributor

/verified later @jparrill

@openshift-ci-robot openshift-ci-robot added verified-later verified Signifies that the PR passed pre-merge verification criteria labels Nov 15, 2025
@openshift-ci-robot

Copy link
Copy Markdown

@csrwng: This PR has been marked to be verified later by @jparrill.

Details

In response to this:

/verified later @jparrill

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-robot

Copy link
Copy Markdown

/retest-required

Remaining retests: 0 against base HEAD 15674b4 and 2 for PR HEAD d05cb18 in total

@openshift-ci

openshift-ci Bot commented Nov 15, 2025

Copy link
Copy Markdown
Contributor

@jparrill: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/okd-scos-e2e-aws-ovn d05cb18 link false /test okd-scos-e2e-aws-ovn

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.

@jparrill

Copy link
Copy Markdown
Contributor Author

/test e2e-aws

@openshift-merge-bot
openshift-merge-bot Bot merged commit e83d907 into openshift:main Nov 15, 2025
22 of 23 checks passed
@openshift-ci-robot

Copy link
Copy Markdown

@jparrill: Jira Issue OCPBUGS-65617: All pull requests linked via external trackers have merged:

This pull request has the verified-later tag and will need to be manually moved to VERIFIED after testing. Jira Issue OCPBUGS-65617 has been moved to the MODIFIED state.

Details

In response to this:

What this PR does / why we need it:

Configure openshift-user-critical priorityClass on the global-pull-secret-syncer DaemonSet to ensure conformance tests pass. This resolves the priority class validation failure where pods were found with empty priority class values.

Which issue(s) this PR fixes:

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.

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. area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release 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 verified-later

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants