Skip to content

[release-4.15] OCPBUGS-36688: Add ipsec connect wait service - #4937

Merged
openshift-merge-bot[bot] merged 2 commits into
openshift:release-4.15from
pperiyasamy:ipsec-connect-wait-4.15
Apr 3, 2025
Merged

[release-4.15] OCPBUGS-36688: Add ipsec connect wait service#4937
openshift-merge-bot[bot] merged 2 commits into
openshift:release-4.15from
pperiyasamy:ipsec-connect-wait-4.15

Conversation

@pperiyasamy

Copy link
Copy Markdown
Member

Manual cherry-pick of 4.16 PR #4931. No conflicts.

When node goes for a reboot on an IPsec enabled cluster, once it comes up,
after ovn-ipsec-host pod is deployed, the ovs-monitor-ipsec process deployed
by the pod parses /etc/ipsec.d/openshift.conf file, makes pluto daemon to
establish IKE SAs with peer nodes, but these are established after kubelet
is started, workload pods scheduled on this node would fail communicating
with other node pods until IPsec SAs are established.

So this commit adds wait-for-ipsec-connect.service systemd service which
depends on ipsecenabler.service created by IPsec machine config. This new
service loads existing IPsec connections created by OVN/OVS into pluto
daemon with "auto=start" option and waits upto 60s until IPsec tunnels
are established. This gives a better chance IPsec SAs are established even
before kubelet is started and when ovn-ipsec-host pod comes up later, it
doesn't have to do anything for existing IPsec connections.

We derived total wait time 60s based on the testing from 6 and 32 nodes
cluster. In 6 node cluster, it took mostly about 2s (in worst case 4s),
In 32 node cluster, it took mostly about 2s or 4s (in worst case 14s)
to get IPsec connections up with peer nodes.

The wait-for-ipsec-connect.service service is added into the base template
to avoid two reboots during upgrade if it goes into IPsec machine configs
rendered by the network operator.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 2417566)
(cherry picked from commit 16e81a4)
(cherry picked from commit 77e4ef2)
(cherry picked from commit c31fd9c)
We noticed pluto is tearing down established IPsec connections in parallel
with crio stopping all pod containers which includes stopping api server
pod container. It happens when node reboot initiated for rendering new
machine configs at the time of OCP upgrade.
This creates api connection disruptions in the cluster, these disruptions are
generating events, caught by origin monitor tests and failing IPsec upgrade CI
lane and it may also cause noticeable temporary pod traffic failure during
upgrade for IPsec enabled cluster.
Hence this commit adds Before=crio.service dependency on the ipsec.service so
that pluto daemon is stopped after the shutdown of crio service, all pod
containers are stopped on the node. This gives enough room for clients to
gracefully move to another control plane node for API connections.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 1fa5eaa)
(cherry picked from commit 680d1ce)
(cherry picked from commit 2e46d76)
(cherry picked from commit b09c4ac)
@openshift-ci-robot openshift-ci-robot added jira/severity-moderate Referenced Jira bug's severity is moderate for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Mar 21, 2025
@openshift-ci-robot

openshift-ci-robot commented Mar 21, 2025

Copy link
Copy Markdown
Contributor

@pperiyasamy: This pull request references Jira Issue OCPBUGS-36688, which is invalid:

  • expected dependent Jira Issue OCPBUGS-52952 to be in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA), but it is New instead
  • dependent bug SDN-5703 is not in the required OCPBUGS project

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:

Manual cherry-pick of 4.16 PR #4931. No conflicts.

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 requested review from cgwalters and sinnykumari March 21, 2025 11:26
@pperiyasamy

Copy link
Copy Markdown
Member Author

/assign @huiran0826 @anuragthehatter

@openshift-ci

openshift-ci Bot commented Mar 21, 2025

Copy link
Copy Markdown
Contributor

@pperiyasamy: The following tests 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-gcp-op b57530e link false /test okd-scos-e2e-gcp-op
ci/prow/okd-scos-e2e-gcp-ovn-upgrade b57530e link false /test okd-scos-e2e-gcp-ovn-upgrade
ci/prow/okd-scos-e2e-aws-ovn b57530e 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.

@anuragthehatter

Copy link
Copy Markdown

Looks good on QE tests

/label qe-approved

@openshift-ci openshift-ci Bot added the qe-approved Signifies that QE has signed off on this PR label Mar 24, 2025
@openshift-ci-robot

openshift-ci-robot commented Mar 24, 2025

Copy link
Copy Markdown
Contributor

@pperiyasamy: This pull request references Jira Issue OCPBUGS-36688, which is invalid:

  • expected dependent Jira Issue OCPBUGS-52952 to be in one of the following states: VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA), but it is New instead
  • dependent bug SDN-5703 is not in the required OCPBUGS project

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:

Manual cherry-pick of 4.16 PR #4931. No conflicts.

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.

@pperiyasamy

Copy link
Copy Markdown
Member Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Apr 3, 2025
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@pperiyasamy: This pull request references Jira Issue OCPBUGS-36688, which is valid.

7 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.15.z) matches configured target version for branch (4.15.z)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)
  • release note text is set and does not match the template
  • dependent bug Jira Issue OCPBUGS-52952 is in the state Verified, which is one of the valid states (VERIFIED, RELEASE PENDING, CLOSED (ERRATA), CLOSED (CURRENT RELEASE), CLOSED (DONE), CLOSED (DONE-ERRATA))
  • dependent Jira Issue OCPBUGS-52952 targets the "4.16.z" version, which is one of the valid target versions: 4.16.0, 4.16.z
  • bug has dependents

Requesting review from QA contact:
/cc @anuragthehatter

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.

@openshift-ci
openshift-ci Bot requested a review from anuragthehatter April 3, 2025 13:33
@pperiyasamy

Copy link
Copy Markdown
Member Author

/assign @djoshy

@djoshy

djoshy commented Apr 3, 2025

Copy link
Copy Markdown
Contributor

/lgtm

/label backport-risk-assessed

@openshift-ci openshift-ci Bot added the backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. label Apr 3, 2025
@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Apr 3, 2025
@openshift-ci

openshift-ci Bot commented Apr 3, 2025

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: djoshy, pperiyasamy

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 Apr 3, 2025
@anuragthehatter

Copy link
Copy Markdown

/label cherry-pick-approved

@openshift-ci openshift-ci Bot added the cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. label Apr 3, 2025
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

/retest-required

Remaining retests: 0 against base HEAD d6c0825 and 2 for PR HEAD b57530e in total

@openshift-merge-bot
openshift-merge-bot Bot merged commit b23bb29 into openshift:release-4.15 Apr 3, 2025
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@pperiyasamy: Jira Issue OCPBUGS-36688: Some pull requests linked via external trackers have merged:

The following pull requests linked via external trackers have not merged:

These pull request must merge or be 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-36688 has not been moved to the MODIFIED state.

Details

In response to this:

Manual cherry-pick of 4.16 PR #4931. No conflicts.

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

Copy link
Copy Markdown
Contributor

[ART PR BUILD NOTIFIER]

Distgit: ose-machine-config-operator
This PR has been included in build ose-machine-config-operator-container-v4.15.0-202504081004.p0.gb23bb29.assembly.stream.el8.
All builds following this will include this PR.

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. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. jira/severity-moderate Referenced Jira bug's severity is moderate for the branch this PR is targeting. 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. qe-approved Signifies that QE has signed off on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.