Skip to content

[release-4.18] OCPBUGS-111878: backport of #2662 - #3125

Open
LionelJouin wants to merge 4 commits into
openshift:release-4.18from
LionelJouin:ocpbugs-53316-4.18
Open

[release-4.18] OCPBUGS-111878: backport of #2662#3125
LionelJouin wants to merge 4 commits into
openshift:release-4.18from
LionelJouin:ocpbugs-53316-4.18

Conversation

@LionelJouin

Copy link
Copy Markdown

Backport of #2662 to release-4.18.

Fixes ovn-ipsec-host on RHEL worker nodes as there is a shared library mismatch with RHEL 8. Since #2576, the host binaries are used instead of the container binaries, #2662 fixed it.

This will also be backported to 4.17, 4.16, 4.15.
4.19+ is not impacted as RHEL worker node is no longer supported.
RHEL worker nodes with RHEL 9+ is not impacted as shared library are existing.

/usr/libexec/ipsec/addconn: error while loading shared libraries: libunbound.so.2: cannot open shared object file: No such file or directory

The consumption of openvswitch-ipsec systemd service from the host for the
ovn-ipsec-host deployment helps to avoid using any host binaries to be
running from ovn-ipsec container, so it solves protocol, glibc and hardware
compatibility issues when RHEL10 is supported for OCP platforms.

Hence this commit does the following:

1. Stop spawning ovs-monitor-ipsec as foreground process in the ovn-ipsec
container. Instead setup required IPsec configuration parameters in the
/etc/sysconfig/openvswitch file, enable and start the openvswitch-ipsec service
on the host. This is done at the time when ovn-ipsec-host pod is coming up
for the first time. For the pod restart scenarios, it just checks
openvswitch-ipsec service is running on the host, otherwise exit from the
container with error.

2. Keep running an ovn-ipsec container that waits for the ovs-monitor-ipsec.log
file to be created, monitors the openvswitch-ipsec service health, and redirects
/var/log/openvswitch/ovs-monitor-ipsec.log to the ovn-ipsec container's stdout
console. The container fails if the systemd service stops unexpectedly, ensuring
proper pod lifecycle management.

3. There is no necessity of doing ipsec state and policy cleanup in ovn-ipsec-cleanup
container when OVN IPsec is handled via openvswitch-ipsec systemd service.

4. During the OCP upgrade, the new ipsec os extension takes a while to deploy with
openvswitch3.5-ipsec package, so by the time ovn-ipsec-host daemonset is rendered,
we need to handle that scenario by running ovs-monitor-ipsec in the container.
So this commit is also considering the transition phase of the process that is moving
from container to host.

5. The ovn-keys init container configures ovs with IPsec certificate paths, so the
container uses same host directory path to store and configure ovs with certificates
because the ovs-monitor-ipsec process is running on the host now.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
This commit removes the mount of /usr/sbin from the host to eliminate
need for host binaries. it would make chroot to use container binary
which avoids GLIBC compatibility issue.

The 'ipsec --checknss' check is removed, it doesn't run during
upgrade until openvswitch3.5-ipsec is deployed to the node anyway,
so it's safe to skip during that transition period.

The liveness probe now uses 'ovs-appctl -t ovs-monitor-ipsec ipsec/status'
instead of 'ipsec whack --trafficstatus' to check for configured IPsec
tunnels without requiring host binaries.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
During OCP upgrade the new ovn-ipsec-host pod is rendered before the machine
config rolls out openvswitch3.5-ipsec package to node. This causes the
container to fall back to running ovs-monitor-ipsec in the container, but
mounting host's /usr/libexec shadows container binaries and causes GLIBC
compatibility errors (GLIBC_ABI_DT_RELR not found) when executing binaries
like addconn and platform-python.

- Remove /usr/libexec host mount entirely as it's no longer needed.
- Use container's /usr/libexec/platform-python binary to run ovs-monitor-ipsec
script.
- Remove addconn validation as /etc/ipsec.conf is managed by ovs-monitor-ipsec
and wait-for-ipsec-connect service, so it is always syntactically correct.
- Remove _stackmanager check as it's obsolete (removed in libreswan 5.3+) and OCP
must be using this version since 4.19.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 654ac29b-6077-4fe4-b14d-4727db056059

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@openshift-ci
openshift-ci Bot requested review from arghosh93 and danwinship August 17, 2026 19:14
@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: LionelJouin
Once this PR has been reviewed and has the lgtm label, please assign abhat 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

@openshift-ci

openshift-ci Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

@LionelJouin: 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/security 10e52d2 link false /test security

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.

@LionelJouin

LionelJouin commented Aug 18, 2026

Copy link
Copy Markdown
Author

/jira refresh

@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@LionelJouin: No Jira issue is referenced in the title of this pull request.
To reference a jira issue, add 'XYZ-NNN:' to the title of this pull request and request another refresh with /jira refresh.

Details

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.

@LionelJouin LionelJouin changed the title [release-4.18] OCPBUGS-53316 - backport of #2662 [release-4.18] OCPBUGS-53316: backport of #2662 Aug 18, 2026
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Aug 18, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@LionelJouin: This pull request references Jira Issue OCPBUGS-53316, which is invalid:

  • expected the bug to target the "4.18.z" version, but no target version was set
  • release note text must be set and not match the template OR release note type must be set to "Release Note Not Required". For more information you can reference the OpenShift Bug Process.
  • expected Jira Issue OCPBUGS-53316 to depend on a bug targeting a version in 4.19.0, 4.19.z and in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA), but no dependents were found

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

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

Details

In response to this:

Backport of #2662 to release-4.18.

Fixes ovn-ipsec-host on RHEL worker nodes as there is a shared library mismatch with RHEL 8. Since #2576, the host binaries are used instead of the container binaries, #2662 fixed it.

This will also be backported to 4.17, 4.16, 4.15.
4.19+ is not impacted as RHEL worker node is no longer supported.
RHEL worker nodes with RHEL 9+ is not impacted as shared library are existing.

/usr/libexec/ipsec/addconn: error while loading shared libraries: libunbound.so.2: cannot open shared object file: No such file or directory

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 openshift-ci-robot added the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Aug 18, 2026
@LionelJouin

Copy link
Copy Markdown
Author

/jira refresh

@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@LionelJouin: This pull request references Jira Issue OCPBUGS-53316, which is invalid:

  • expected the bug to target only the "4.18.z" version, but multiple target versions were set
  • expected Jira Issue OCPBUGS-53316 to depend on a bug targeting a version in 4.19.0, 4.19.z and in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA), but no dependents were found

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

Details

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.

@LionelJouin LionelJouin changed the title [release-4.18] OCPBUGS-53316: backport of #2662 [release-4.18] OCPBUGS-111878: backport of #2662 Aug 18, 2026
@openshift-ci-robot openshift-ci-robot added the jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. label Aug 18, 2026
@LionelJouin

Copy link
Copy Markdown
Author

/jira refresh

@openshift-ci-robot

Copy link
Copy Markdown
Contributor

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

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.18.z) matches configured target version for branch (4.18.z)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note type set to "Release Note Not Required"
  • dependent bug Jira Issue OCPBUGS-111876 is in the state Closed (Done), which is one of the valid states (VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA))
  • dependent Jira Issue OCPBUGS-111876 targets the "4.19.z" version, which is one of the valid target versions: 4.19.0, 4.19.z
  • bug has dependents

No GitHub users were found matching the public email listed for the QA contact in Jira (core-networking-bot@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:

Backport of #2662 to release-4.18.

Fixes ovn-ipsec-host on RHEL worker nodes as there is a shared library mismatch with RHEL 8. Since #2576, the host binaries are used instead of the container binaries, #2662 fixed it.

This will also be backported to 4.17, 4.16, 4.15.
4.19+ is not impacted as RHEL worker node is no longer supported.
RHEL worker nodes with RHEL 9+ is not impacted as shared library are existing.

/usr/libexec/ipsec/addconn: error while loading shared libraries: libunbound.so.2: cannot open shared object file: No such file or directory

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 openshift-ci-robot removed the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Aug 18, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@LionelJouin: This pull request references Jira Issue OCPBUGS-111878, which is valid.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.18.z) matches configured target version for branch (4.18.z)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note type set to "Release Note Not Required"
  • dependent bug Jira Issue OCPBUGS-111876 is in the state Closed (Done), which is one of the valid states (VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA))
  • dependent Jira Issue OCPBUGS-111876 targets the "4.19.z" version, which is one of the valid target versions: 4.19.0, 4.19.z
  • bug has dependents

No GitHub users were found matching the public email listed for the QA contact in Jira (core-networking-bot@redhat.com), skipping review request.

Details

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.

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

Labels

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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants