Skip to content

NO-ISSUE: rebase-release-4.22-4.22.0-0.nightly-2026-06-18-194212_amd64-2026-06-18_arm64-2026-06-18#6912

Open
pacevedom wants to merge 10 commits into
openshift:mainfrom
pacevedom:rebase-8a0f4f23e-5.0.0-0.nightly-2026-06-18-000016_amd64-2026-06-18_arm64-2026-06-19
Open

NO-ISSUE: rebase-release-4.22-4.22.0-0.nightly-2026-06-18-194212_amd64-2026-06-18_arm64-2026-06-18#6912
pacevedom wants to merge 10 commits into
openshift:mainfrom
pacevedom:rebase-8a0f4f23e-5.0.0-0.nightly-2026-06-18-000016_amd64-2026-06-18_arm64-2026-06-19

Conversation

@pacevedom

@pacevedom pacevedom commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Chores
    • Refreshed pinned nightly component versions and container image digests for both ARM64 and x86_64, including core services, networking, and OLM.
    • Updated Multus, OLM, and platform release metadata, plus the CRI-O pause image digest.
    • Updated route-controller-manager dependency version.
  • Bug Fixes
    • Improved OVN multi-node and single-node startup by adding a cluster manager component and streamlining NB/SB connection parameters.
  • Tests
    • Updated conformance suite hierarchy so filtering inherits from a new umbrella suite.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 21, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@pacevedom: This pull request explicitly references no jira issue.

Details

In 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.

@coderabbitai

coderabbitai Bot commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: a8ceeceb-3289-408e-807e-263d8008bfbd

📥 Commits

Reviewing files that changed from the base of the PR and between 53d6923 and cd0e279.

📒 Files selected for processing (2)
  • assets/components/ovn/multi-node/master/daemonset.yaml
  • assets/components/ovn/single-node/master/daemonset.yaml
🚧 Files skipped from review as they are similar to previous changes (2)
  • assets/components/ovn/multi-node/master/daemonset.yaml
  • assets/components/ovn/single-node/master/daemonset.yaml

Walkthrough

Auto-rebase to OCP nightly builds from June 18–19, 2026. Updates OCP version variables, Kubernetes git commit, and image digests across release/Multus/OLM manifests. Refactors OVN DaemonSets by extracting cluster-manager initialization into a dedicated container and removing --nb-address and --sb-address flags from ovnkube invocations. Adds kubernetes/conformance umbrella test suite and bumps route-controller-manager dependency.

Changes

Auto-rebase + OVN refactoring

Layer / File(s) Summary
Version and rebase metadata
Makefile.kube_git.var, Makefile.version.aarch64.var, Makefile.version.x86_64.var, scripts/auto-rebase/last_rebase.sh
KUBE_GIT_COMMIT, OCP_VERSION for both architectures, and rebase.sh image tags updated to newer June 2026 nightlies.
Release payload and pause image digests
assets/release/release-aarch64.json, assets/release/release-x86_64.json, packaging/crio.conf.d/10-microshift_amd64.conf, packaging/crio.conf.d/10-microshift_arm64.conf
release.base and component image @sha256 digests refreshed for both architectures; CRI-O pause_image digest updated.
Multus component digests
assets/components/multus/kustomization.aarch64.yaml, assets/components/multus/kustomization.x86_64.yaml, assets/components/multus/release-multus-aarch64.json, assets/components/multus/release-multus-x86_64.json
Digests updated for multus-cni-microshift and containernetworking-plugins-microshift in kustomization and release JSON manifests.
OLM component digests and patches
assets/optional/operator-lifecycle-manager/kustomization.aarch64.yaml, assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml, assets/optional/operator-lifecycle-manager/release-olm-aarch64.json, assets/optional/operator-lifecycle-manager/release-olm-x86_64.json
Image digests for OLM, operator-registry, and kube-rbac-proxy refreshed; kustomization patches updated to reference new digests via environment variables.
OVN DaemonSet cluster-manager refactoring
assets/components/ovn/multi-node/master/daemonset.yaml, assets/components/ovn/multi-node/node/daemonset.yaml, assets/components/ovn/single-node/master/daemonset.yaml
New ovnkube-cluster-manager container added to master DaemonSets with --init-cluster-manager mode; --nb-address and --sb-address flags removed from all ovnkube invocations; ovnkube-master init flags refactored to use --init-ovnkube-controller.
kubernetes/conformance umbrella suite
deps/github.com/openshift/kubernetes/openshift-hack/cmd/k8s-tests-ext/k8s-tests.go
Global kubernetes/conformance suite added; parallel and serial conformance suites updated to include it as an additional parent.
Dependency and rebase tracking
go.mod, scripts/auto-rebase/commits.txt, scripts/auto-rebase/changelog.txt
route-controller-manager bumped to newer commit; all pinned component SHAs and changelog entries updated for rebased components and images.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • openshift/microshift#6829: Also modifies ovnkube startup command arguments and initialization flags in OVN DaemonSet YAML templates with similar architectural intent.

Suggested reviewers

  • vanhalenar
🚥 Pre-merge checks | ✅ 13 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Topology-Aware Scheduling Compatibility ⚠️ Warning PR introduces nodeSelector constraints targeting node-role.kubernetes.io/master (OVN multi-node master DaemonSet, CSI snapshot controller, service-ca, c2cc deployments), breaking HyperShift where n... Add topology-aware checks via ControlPlaneTopology detection, or remove master node selectors for deployments that don't require control-plane placement. Test with HyperShift CI jobs before merge.
✅ Passed checks (13 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the PR's purpose as a scheduled nightly rebase operation, specifying the release version, nightly build dates, and architectures involved.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed PR contains no Ginkgo test definitions with dynamic names. The k8s-tests.go file adds only static test suite names without any fmt.Sprintf, concatenation, or variables in test titles.
Test Structure And Quality ✅ Passed No Ginkgo test code (It/Describe/Context blocks) was modified in this PR. The only test-related change is to test suite hierarchy metadata in k8s-tests.go, which is not actual test code.
Microshift Test Compatibility ✅ Passed PR does not introduce new Ginkgo e2e tests. It's a rebase updating image digests, configs, and manifests. The only code file modified (k8s-tests.go) restructures existing test suites rather than ad...
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests added. PR contains unit tests, version updates, image digest updates, and infrastructure changes only.
Ote Binary Stdout Contract ✅ Passed The single Go file modified (k8s-tests.go) is an OTE binary with no stdout writes in process-level code (main, init). Logging properly initializes via logs.InitLogs(). All fmt usage is via fmt.Spri...
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests are added. PR updates versions, image digests, manifests, and k8s test suite configuration—no test implementations with It(), Describe(), or similar Ginkgo patterns.
No-Weak-Crypto ✅ Passed PR contains only version updates, image digests, configs, and dependency bumps—no weak crypto (MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB), custom implementations, or secret comparisons detected.
Container-Privileges ✅ Passed PR adds privileged: true, hostNetwork, and hostPID only to OVN (Open Virtual Network), a justified system-critical networking component with appropriate priority classes. No allowPrivilegeEscalatio...
No-Sensitive-Data-In-Logs ✅ Passed No sensitive data exposed in logs. Email found in changelog is standard Git commit metadata, not runtime logging. All changes contain only version strings, image digests, and configuration references.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci

openshift-ci Bot commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: pacevedom

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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 21, 2026
@pacevedom

Copy link
Copy Markdown
Contributor Author

/test e2e-aws-tests-bootc-el10

@pacevedom pacevedom marked this pull request as draft June 21, 2026 08:58
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 21, 2026
@pacevedom

Copy link
Copy Markdown
Contributor Author

/test ocp-full-conformance-serial-rhel-eus

@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: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
assets/components/ovn/single-node/master/daemonset.yaml (1)

376-389: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Keep the startup log aligned with the executed init modes.

Line 376 logs only --init-node, but the command still runs both --init-ovnkube-controller and --init-node.

Proposed fix
-          echo "I$(date "+%m%d %H:%M:%S.%N") - ovnkube-master - start ovnkube --init-node ${K8S_NODE}"
+          echo "I$(date "+%m%d %H:%M:%S.%N") - ovnkube-master - start ovnkube --init-ovnkube-controller ${K8S_NODE} --init-node ${K8S_NODE}"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@assets/components/ovn/single-node/master/daemonset.yaml` around lines 376 -
389, The startup log message in the echo statement on line 376 only mentions
--init-node, but the actual ovnkube command being executed includes both
--init-ovnkube-controller and --init-node flags. Update the echo statement to
reflect both initialization modes being performed, so the log message accurately
represents what the command is actually executing. Include both flag names in
the log output to match the command execution that follows.
assets/components/ovn/multi-node/master/daemonset.yaml (1)

415-417: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Update the stale startup flag in the log message.

Line 415 still logs --init-master, but Line 417 now starts --init-ovnkube-controller.

Proposed fix
-          echo "I$(date "+%m%d %H:%M:%S.%N") - ovnkube-master - start ovnkube --init-master ${K8S_NODE}"
+          echo "I$(date "+%m%d %H:%M:%S.%N") - ovnkube-master - start ovnkube --init-ovnkube-controller ${K8S_NODE}"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@assets/components/ovn/multi-node/master/daemonset.yaml` around lines 415 -
417, The echo log message on line 415 references the outdated flag
`--init-master` but the actual ovnkube command execution on line 417 uses the
new flag `--init-ovnkube-controller`. Update the log message in the echo
statement to replace `--init-master` with `--init-ovnkube-controller` to match
the actual command being executed.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@assets/components/ovn/multi-node/master/daemonset.yaml`:
- Around line 356-392: The ovnkube-cluster-manager container is running in a pod
with hostNetwork: true but lacks required security hardening. Add a
securityContext block to this container with runAsNonRoot: true,
readOnlyRootFilesystem: true, and allowPrivilegeEscalation: false; add a
capabilities section to drop ALL capabilities; add resource limits (both cpu and
memory limits in addition to the existing requests); and add both liveness and
readiness probes with appropriate initial delays and timeouts. If hostNetwork is
not actually required for this container's operation, consider moving it to a
separate restricted deployment or pod without host networking to minimize the
security surface.
- Around line 383-387: The ovnkube-cluster-manager container is missing a volume
mount for kubeconfig which is referenced in its config file template. Add a
volume mount entry to the volumeMounts list in the ovnkube-cluster-manager
container that mounts the kubeconfig volume (which already exists at the pod
spec level) to the appropriate directory path that matches the KubeconfigDir
variable used in the config template. This mount should be added alongside the
existing ovnkube-config and env-overrides volume mounts.

In `@assets/components/ovn/single-node/master/daemonset.yaml`:
- Around line 298-334: The ovnkube-cluster-manager container is running in a pod
with host namespaces (hostNetwork and hostPID) but lacks required security
hardening. Add a securityContext section to this container that includes
runAsNonRoot set to true, readOnlyRootFilesystem set to true, and
allowPrivilegeEscalation set to false. Additionally, add a capabilities drop for
ALL, define both CPU and memory resource limits (in addition to the existing
requests), and include liveness and readiness probes to meet the coding security
guidelines.

---

Outside diff comments:
In `@assets/components/ovn/multi-node/master/daemonset.yaml`:
- Around line 415-417: The echo log message on line 415 references the outdated
flag `--init-master` but the actual ovnkube command execution on line 417 uses
the new flag `--init-ovnkube-controller`. Update the log message in the echo
statement to replace `--init-master` with `--init-ovnkube-controller` to match
the actual command being executed.

In `@assets/components/ovn/single-node/master/daemonset.yaml`:
- Around line 376-389: The startup log message in the echo statement on line 376
only mentions --init-node, but the actual ovnkube command being executed
includes both --init-ovnkube-controller and --init-node flags. Update the echo
statement to reflect both initialization modes being performed, so the log
message accurately represents what the command is actually executing. Include
both flag names in the log output to match the command execution that follows.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 986034a4-354d-4865-a070-09f1b5d6db69

📥 Commits

Reviewing files that changed from the base of the PR and between fc0edda and 53d6923.

📒 Files selected for processing (2)
  • assets/components/ovn/multi-node/master/daemonset.yaml
  • assets/components/ovn/single-node/master/daemonset.yaml

Comment on lines +356 to +392
# ovnkube cluster-manager: allocates subnets to nodes, handles cluster-wide IPAM
- name: ovnkube-cluster-manager
image: {{ .ReleaseImage.ovn_kubernetes_microshift }}
command:
- /bin/bash
- -c
- |
set -xe
if [[ -f "/env/_master" ]]; then
set -o allexport
source "/env/_master"
set +o allexport
fi

echo "$(date -Iseconds) - starting ovnkube-cluster-manager, Node: ${K8S_NODE}"
exec /usr/bin/ovnkube \
--init-cluster-manager "${K8S_NODE}" \
--config-file=/run/ovnkube-config/ovnkube.conf \
--loglevel "${OVN_KUBE_LOG_LEVEL}" \
--enable-multicast
env:
- name: OVN_KUBE_LOG_LEVEL
value: "4"
- name: K8S_NODE
valueFrom:
fieldRef:
fieldPath: spec.nodeName
volumeMounts:
- mountPath: /run/ovnkube-config/
name: ovnkube-config
- mountPath: /env
name: env-overrides
resources:
requests:
cpu: 10m
memory: 10Mi
terminationMessagePolicy: FallbackToLogsOnError

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 | 🏗️ Heavy lift

Avoid inheriting host networking without hardening this new container.

This new container only mounts config/env, but it is added to a pod with hostNetwork: true and has no explicit restricted securityContext, limits, or probes. Split it into a restricted workload if host networking is not required; otherwise document the exception and add the missing hardening.

As per coding guidelines, "No hostPID, hostNetwork, hostIPC, privileged: true", "securityContext: runAsNonRoot, readOnlyRootFilesystem, allowPrivilegeEscalation: false", "Drop ALL capabilities", "Resource limits (cpu, memory) on every container", and "Liveness + readiness probes defined" are required.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@assets/components/ovn/multi-node/master/daemonset.yaml` around lines 356 -
392, The ovnkube-cluster-manager container is running in a pod with hostNetwork:
true but lacks required security hardening. Add a securityContext block to this
container with runAsNonRoot: true, readOnlyRootFilesystem: true, and
allowPrivilegeEscalation: false; add a capabilities section to drop ALL
capabilities; add resource limits (both cpu and memory limits in addition to the
existing requests); and add both liveness and readiness probes with appropriate
initial delays and timeouts. If hostNetwork is not actually required for this
container's operation, consider moving it to a separate restricted deployment or
pod without host networking to minimize the security surface.

Source: Coding guidelines

Comment thread assets/components/ovn/multi-node/master/daemonset.yaml
Comment on lines +298 to +334
# ovnkube cluster-manager: allocates subnets to nodes, handles cluster-wide IPAM
- name: ovnkube-cluster-manager
image: {{ .ReleaseImage.ovn_kubernetes_microshift }}
command:
- /bin/bash
- -c
- |
set -xe
if [[ -f "/env/_master" ]]; then
set -o allexport
source "/env/_master"
set +o allexport
fi

echo "$(date -Iseconds) - starting ovnkube-cluster-manager, Node: ${K8S_NODE}"
exec /usr/bin/ovnkube \
--init-cluster-manager "${K8S_NODE}" \
--config-file=/run/ovnkube-config/ovnkube.conf \
--loglevel "${OVN_KUBE_LOG_LEVEL}" \
--enable-multicast
env:
- name: OVN_KUBE_LOG_LEVEL
value: "4"
- name: K8S_NODE
valueFrom:
fieldRef:
fieldPath: spec.nodeName
volumeMounts:
- mountPath: /run/ovnkube-config/
name: ovnkube-config
- mountPath: /env
name: env-overrides
resources:
requests:
cpu: 10m
memory: 10Mi
terminationMessagePolicy: FallbackToLogsOnError

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 | 🏗️ Heavy lift

Avoid inheriting host namespaces without hardening this new container.

This new container only mounts config/env, but it is added to a pod with hostNetwork: true and hostPID: true, and has no explicit restricted securityContext, limits, or probes. Split it into a restricted workload if those host namespaces are not required; otherwise document the exception and add the missing hardening.

As per coding guidelines, "No hostPID, hostNetwork, hostIPC, privileged: true", "securityContext: runAsNonRoot, readOnlyRootFilesystem, allowPrivilegeEscalation: false", "Drop ALL capabilities", "Resource limits (cpu, memory) on every container", and "Liveness + readiness probes defined" are required.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@assets/components/ovn/single-node/master/daemonset.yaml` around lines 298 -
334, The ovnkube-cluster-manager container is running in a pod with host
namespaces (hostNetwork and hostPID) but lacks required security hardening. Add
a securityContext section to this container that includes runAsNonRoot set to
true, readOnlyRootFilesystem set to true, and allowPrivilegeEscalation set to
false. Additionally, add a capabilities drop for ALL, define both CPU and memory
resource limits (in addition to the existing requests), and include liveness and
readiness probes to meet the coding security guidelines.

Source: Coding guidelines

@pacevedom pacevedom force-pushed the rebase-8a0f4f23e-5.0.0-0.nightly-2026-06-18-000016_amd64-2026-06-18_arm64-2026-06-19 branch from 53d6923 to cd0e279 Compare June 21, 2026 10:49
@pacevedom

Copy link
Copy Markdown
Contributor Author

/test ocp-full-conformance-serial-rhel-eus

@pacevedom

Copy link
Copy Markdown
Contributor Author
/test ocp-full-conformance-rhel-eus

1 similar comment
@pacevedom

Copy link
Copy Markdown
Contributor Author

/test ocp-full-conformance-rhel-eus

@pacevedom pacevedom marked this pull request as ready for review June 21, 2026 12:17
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 21, 2026
@openshift-ci openshift-ci Bot requested a review from eslutsky June 21, 2026 12:18
@openshift-ci openshift-ci Bot requested a review from pmtk June 21, 2026 12:18
@openshift-ci

openshift-ci Bot commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

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

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-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants