Skip to content

OCPBUGS-32525: Check every MachineConfigPool for IPsec plugin existence - #2349

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
pperiyasamy:ipsec-mcp-pools
May 6, 2024
Merged

OCPBUGS-32525: Check every MachineConfigPool for IPsec plugin existence#2349
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
pperiyasamy:ipsec-mcp-pools

Conversation

@pperiyasamy

Copy link
Copy Markdown
Member

While testing IPsec upgrade on 24 node cluster in CI, it's noticed there are more than two (master, worker) machine config pools present. For example infra and workload pools were present which belong worker role. Hence this PR queries all machine config pools based on master and worker roles and check ipsec plugin existence on every pool.

@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 Apr 22, 2024
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@pperiyasamy: This pull request references Jira Issue OCPBUGS-32525, 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.16.0) matches configured target version for branch (4.16.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @anuragthehatter

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

Details

In response to this:

While testing IPsec upgrade on 24 node cluster in CI, it's noticed there are more than two (master, worker) machine config pools present. For example infra and workload pools were present which belong worker role. Hence this PR queries all machine config pools based on master and worker roles and check ipsec plugin existence on every pool.

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

/assign @jcaamano @jluhrsen @yuvalk

@jluhrsen

Copy link
Copy Markdown
Contributor

code looks fine to me, but I'm not the expert here.

@pperiyasamy

Copy link
Copy Markdown
Member Author

/retest

Comment thread pkg/platform/platform.go
Comment on lines +29 to +34
var (
MasterRoleMachineConfigLabel = "machineconfiguration.openshift.io/role=master"
WorkerRoleMachineConfigLabel = "machineconfiguration.openshift.io/role=worker"
)

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.

nit: make this const and unexport

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

ok, done.

Comment thread pkg/platform/platform.go Outdated
}
var mcpStatuses []mcfgv1.MachineConfigPoolStatus
for _, mcp := range mcpList.Items {
for lKey, lValue := range mcp.Spec.MachineConfigSelector.MatchLabels {

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.

What if MatchExpressions is used instead of MatchLabels?

  machineConfigSelector:
    matchExpressions:
      - {key: machineconfiguration.openshift.io/role, operator: In, values: [worker,infra]}

from https://github.com/openshift/machine-config-operator/blob/master/docs/custom-pools.md

I guess we need to use some kind of kubernetes library for label matching here.

@pperiyasamy pperiyasamy May 2, 2024

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

right! this is what infra and workload pools uses for machineConfigSelector, fixed it now.

@pperiyasamy

Copy link
Copy Markdown
Member Author

/test control-plane-ipsec-24nodes

@openshift-ci

openshift-ci Bot commented Apr 30, 2024

Copy link
Copy Markdown
Contributor

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

  • /test 4.16-upgrade-from-stable-4.15-e2e-gcp-ovn-rt-upgrade
  • /test 4.16-upgrade-from-stable-4.15-images
  • /test e2e-aws-live-migration-sdn-ovn
  • /test e2e-aws-ovn-hypershift-conformance
  • /test e2e-aws-ovn-network-migration
  • /test e2e-aws-ovn-upgrade
  • /test e2e-aws-ovn-windows
  • /test e2e-azure-ovn-upgrade
  • /test e2e-gcp-ovn
  • /test e2e-gcp-ovn-upgrade
  • /test e2e-metal-ipi-ovn-ipv6
  • /test images
  • /test lint
  • /test unit
  • /test verify

The following commands are available to trigger optional jobs:

  • /test 4.16-upgrade-from-stable-4.15-e2e-aws-ovn-upgrade
  • /test 4.16-upgrade-from-stable-4.15-e2e-azure-ovn-upgrade
  • /test 4.16-upgrade-from-stable-4.15-e2e-gcp-ovn-upgrade
  • /test e2e-aws-hypershift-ovn-kubevirt
  • /test e2e-aws-live-migration-sdn-ovn-rollback
  • /test e2e-aws-ovn-local-to-shared-gateway-mode-migration
  • /test e2e-aws-ovn-serial
  • /test e2e-aws-ovn-shared-to-local-gateway-mode-migration
  • /test e2e-aws-ovn-single-node
  • /test e2e-aws-sdn-upgrade
  • /test e2e-azure-ovn
  • /test e2e-azure-ovn-dualstack
  • /test e2e-azure-ovn-manual-oidc
  • /test e2e-gcp-ovn-techpreview
  • /test e2e-metal-ipi-ovn-ipv6-ipsec
  • /test e2e-network-mtu-migration-ovn-ipv4
  • /test e2e-network-mtu-migration-ovn-ipv6
  • /test e2e-openstack-ovn
  • /test e2e-ovn-hybrid-step-registry
  • /test e2e-ovn-ipsec-step-registry
  • /test e2e-ovn-step-registry
  • /test e2e-vsphere-ovn
  • /test e2e-vsphere-ovn-dualstack
  • /test e2e-vsphere-ovn-dualstack-primaryv6
  • /test e2e-vsphere-ovn-windows
  • /test okd-scos-images
  • /test qe-perfscale-aws-ovn-medium-cluster-density
  • /test qe-perfscale-aws-ovn-medium-node-density-cni
  • /test qe-perfscale-aws-ovn-small-cluster-density
  • /test qe-perfscale-aws-ovn-small-node-density-cni
  • /test security

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

  • pull-ci-openshift-cluster-network-operator-master-4.16-upgrade-from-stable-4.15-e2e-aws-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-4.16-upgrade-from-stable-4.15-e2e-azure-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-4.16-upgrade-from-stable-4.15-e2e-gcp-ovn-rt-upgrade
  • pull-ci-openshift-cluster-network-operator-master-4.16-upgrade-from-stable-4.15-e2e-gcp-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-4.16-upgrade-from-stable-4.15-images
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-hypershift-ovn-kubevirt
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-live-migration-sdn-ovn
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-live-migration-sdn-ovn-rollback
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-hypershift-conformance
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-local-to-shared-gateway-mode-migration
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-network-migration
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-serial
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-shared-to-local-gateway-mode-migration
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-single-node
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-windows
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-sdn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-e2e-azure-ovn
  • pull-ci-openshift-cluster-network-operator-master-e2e-azure-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-e2e-gcp-ovn
  • pull-ci-openshift-cluster-network-operator-master-e2e-gcp-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-e2e-metal-ipi-ovn-ipv6
  • pull-ci-openshift-cluster-network-operator-master-e2e-metal-ipi-ovn-ipv6-ipsec
  • pull-ci-openshift-cluster-network-operator-master-e2e-network-mtu-migration-ovn-ipv4
  • pull-ci-openshift-cluster-network-operator-master-e2e-network-mtu-migration-ovn-ipv6
  • pull-ci-openshift-cluster-network-operator-master-e2e-openstack-ovn
  • pull-ci-openshift-cluster-network-operator-master-e2e-ovn-hybrid-step-registry
  • pull-ci-openshift-cluster-network-operator-master-e2e-ovn-ipsec-step-registry
  • pull-ci-openshift-cluster-network-operator-master-e2e-ovn-step-registry
  • pull-ci-openshift-cluster-network-operator-master-e2e-vsphere-ovn
  • pull-ci-openshift-cluster-network-operator-master-e2e-vsphere-ovn-dualstack
  • pull-ci-openshift-cluster-network-operator-master-e2e-vsphere-ovn-dualstack-primaryv6
  • pull-ci-openshift-cluster-network-operator-master-images
  • pull-ci-openshift-cluster-network-operator-master-lint
  • pull-ci-openshift-cluster-network-operator-master-security
  • pull-ci-openshift-cluster-network-operator-master-unit
  • pull-ci-openshift-cluster-network-operator-master-verify
Details

In response to this:

/test control-plane-ipsec-24nodes

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/test-infra repository.

@pperiyasamy

Copy link
Copy Markdown
Member Author

/retest

@pperiyasamy

Copy link
Copy Markdown
Member Author

/retest-required

@pperiyasamy

Copy link
Copy Markdown
Member Author

/retest

@pperiyasamy

Copy link
Copy Markdown
Member Author

/test e2e-ovn-ipsec-step-registry

While testing IPsec upgrade on 24 node cluster in CI, it's noticed
there are more than two (master, worker) machine config pools present.
For example infra and workload pools were present which belong worker
role. Hence this commit queries all machine config pools based on master
and worker roles and check ipsec plugin existence on every pool.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
@pperiyasamy

Copy link
Copy Markdown
Member Author

/retest

@pperiyasamy

Copy link
Copy Markdown
Member Author

/test ?

@openshift-ci

openshift-ci Bot commented May 6, 2024

Copy link
Copy Markdown
Contributor

@pperiyasamy: The following commands are available to trigger required jobs:

  • /test 4.16-upgrade-from-stable-4.15-e2e-gcp-ovn-rt-upgrade
  • /test 4.16-upgrade-from-stable-4.15-images
  • /test e2e-aws-live-migration-sdn-ovn
  • /test e2e-aws-ovn-hypershift-conformance
  • /test e2e-aws-ovn-network-migration
  • /test e2e-aws-ovn-upgrade
  • /test e2e-aws-ovn-windows
  • /test e2e-azure-ovn-upgrade
  • /test e2e-gcp-ovn
  • /test e2e-gcp-ovn-upgrade
  • /test e2e-metal-ipi-ovn-ipv6
  • /test images
  • /test lint
  • /test unit
  • /test verify

The following commands are available to trigger optional jobs:

  • /test 4.16-upgrade-from-stable-4.15-e2e-aws-ovn-upgrade
  • /test 4.16-upgrade-from-stable-4.15-e2e-azure-ovn-upgrade
  • /test 4.16-upgrade-from-stable-4.15-e2e-gcp-ovn-upgrade
  • /test e2e-aws-hypershift-ovn-kubevirt
  • /test e2e-aws-live-migration-sdn-ovn-rollback
  • /test e2e-aws-ovn-ipsec-upgrade
  • /test e2e-aws-ovn-local-to-shared-gateway-mode-migration
  • /test e2e-aws-ovn-serial
  • /test e2e-aws-ovn-shared-to-local-gateway-mode-migration
  • /test e2e-aws-ovn-single-node
  • /test e2e-aws-sdn-upgrade
  • /test e2e-azure-ovn
  • /test e2e-azure-ovn-dualstack
  • /test e2e-azure-ovn-manual-oidc
  • /test e2e-gcp-ovn-techpreview
  • /test e2e-metal-ipi-ovn-ipv6-ipsec
  • /test e2e-network-mtu-migration-ovn-ipv4
  • /test e2e-network-mtu-migration-ovn-ipv6
  • /test e2e-openstack-ovn
  • /test e2e-ovn-hybrid-step-registry
  • /test e2e-ovn-ipsec-step-registry
  • /test e2e-ovn-step-registry
  • /test e2e-vsphere-ovn
  • /test e2e-vsphere-ovn-dualstack
  • /test e2e-vsphere-ovn-dualstack-primaryv6
  • /test e2e-vsphere-ovn-windows
  • /test okd-scos-images
  • /test qe-perfscale-aws-ovn-medium-cluster-density
  • /test qe-perfscale-aws-ovn-medium-node-density-cni
  • /test qe-perfscale-aws-ovn-small-cluster-density
  • /test qe-perfscale-aws-ovn-small-node-density-cni
  • /test security

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

  • pull-ci-openshift-cluster-network-operator-master-4.16-upgrade-from-stable-4.15-e2e-aws-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-4.16-upgrade-from-stable-4.15-e2e-azure-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-4.16-upgrade-from-stable-4.15-e2e-gcp-ovn-rt-upgrade
  • pull-ci-openshift-cluster-network-operator-master-4.16-upgrade-from-stable-4.15-e2e-gcp-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-4.16-upgrade-from-stable-4.15-images
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-hypershift-ovn-kubevirt
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-live-migration-sdn-ovn
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-live-migration-sdn-ovn-rollback
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-hypershift-conformance
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-local-to-shared-gateway-mode-migration
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-network-migration
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-serial
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-shared-to-local-gateway-mode-migration
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-single-node
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-windows
  • pull-ci-openshift-cluster-network-operator-master-e2e-aws-sdn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-e2e-azure-ovn
  • pull-ci-openshift-cluster-network-operator-master-e2e-azure-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-e2e-gcp-ovn
  • pull-ci-openshift-cluster-network-operator-master-e2e-gcp-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-e2e-metal-ipi-ovn-ipv6
  • pull-ci-openshift-cluster-network-operator-master-e2e-metal-ipi-ovn-ipv6-ipsec
  • pull-ci-openshift-cluster-network-operator-master-e2e-network-mtu-migration-ovn-ipv4
  • pull-ci-openshift-cluster-network-operator-master-e2e-network-mtu-migration-ovn-ipv6
  • pull-ci-openshift-cluster-network-operator-master-e2e-openstack-ovn
  • pull-ci-openshift-cluster-network-operator-master-e2e-ovn-hybrid-step-registry
  • pull-ci-openshift-cluster-network-operator-master-e2e-ovn-ipsec-step-registry
  • pull-ci-openshift-cluster-network-operator-master-e2e-ovn-step-registry
  • pull-ci-openshift-cluster-network-operator-master-e2e-vsphere-ovn
  • pull-ci-openshift-cluster-network-operator-master-e2e-vsphere-ovn-dualstack
  • pull-ci-openshift-cluster-network-operator-master-e2e-vsphere-ovn-dualstack-primaryv6
  • pull-ci-openshift-cluster-network-operator-master-images
  • pull-ci-openshift-cluster-network-operator-master-lint
  • pull-ci-openshift-cluster-network-operator-master-security
  • pull-ci-openshift-cluster-network-operator-master-unit
  • pull-ci-openshift-cluster-network-operator-master-verify
Details

In response to this:

/test ?

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/test-infra repository.

@pperiyasamy

Copy link
Copy Markdown
Member Author

/test e2e-aws-ovn-ipsec-upgrade

@jcaamano

jcaamano commented May 6, 2024

Copy link
Copy Markdown
Contributor

/lgtm

@yuvalk

yuvalk commented Jul 17, 2024

Copy link
Copy Markdown
Contributor

/cherry-pick release-4.15

@openshift-cherrypick-robot

Copy link
Copy Markdown

@yuvalk: #2349 failed to apply on top of branch "release-4.15":

Applying: Check every MachineConfigPool for IPsec plugin existence
Using index info to reconstruct a base tree...
M	pkg/bootstrap/types.go
M	pkg/network/ovn_kubernetes.go
M	pkg/network/ovn_kubernetes_test.go
M	pkg/platform/platform.go
Falling back to patching base and 3-way merge...
Auto-merging pkg/platform/platform.go
Auto-merging pkg/network/ovn_kubernetes_test.go
CONFLICT (content): Merge conflict in pkg/network/ovn_kubernetes_test.go
Auto-merging pkg/network/ovn_kubernetes.go
CONFLICT (content): Merge conflict in pkg/network/ovn_kubernetes.go
Auto-merging pkg/bootstrap/types.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Check every MachineConfigPool for IPsec plugin existence
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

Details

In response to this:

/cherry-pick release-4.15

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.

pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Jan 20, 2025
Due to known reasons as introduced in the PR openshift#2349,
The IPsec daemonset is removed at the time of OCP upgrade or MCP in progressing state. But it also accidently
disabling IPsec in OVN. This causes ovs-monitor-ipsec to refresh existing ipsec connections unnecessarily
(when pod comes up) as it is not able to find remote_name from tunnel. This may also trigger deleting IPsec
connection entries from openshift.conf file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is
removed. So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Jan 22, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Jan 23, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Jan 28, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Feb 12, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Feb 26, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
(cherry picked from commit 5323288)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Mar 5, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
(cherry picked from commit 5323288)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Mar 7, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
(cherry picked from commit 5323288)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Mar 11, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Mar 11, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
(cherry picked from commit 5323288)
(cherry picked from commit 5dbefce)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Mar 19, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Mar 20, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
(cherry picked from commit 5323288)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Mar 20, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
(cherry picked from commit 5323288)
(cherry picked from commit 5dbefce)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Mar 21, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
(cherry picked from commit 5323288)
(cherry picked from commit 5dbefce)
(cherry picked from commit 0ad1d0f)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Mar 31, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
(cherry picked from commit 35ce486)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Mar 31, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
(cherry picked from commit 35ce486)
(cherry picked from commit 67bd2c3)
pperiyasamy added a commit to pperiyasamy/cluster-network-operator that referenced this pull request Apr 2, 2025
   
The following change on the machine pool
`status.MachineCount == status.UpdatedMachineCount && hasSourceInMachineConfigStatus(status, machineConfigs)`
is introduced with PR openshift#2349
which ensures IPsec machine config is always installed on all the nodes in the cluster,
So this is deleting the IPsec daemonset as per the CNO state machine for IPsec when
the condition is not met. But this is also accidentally disabling IPsec in OVN which
is not an expected behavior. This causes ovs-monitor-ipsec to refresh existing ipsec
connections unnecessarily when IPsec pod comes up as it is not able to find remote_name
from the tunnel. This may also trigger deleting IPsec connection entries from openshift.conf
file if ovs-monitor-ipsec is not killed timely when ipsec daemonset is removed.
So this commit enables ovn ipsec option as long as the API is set with Full mode.

Signed-off-by: Periyasamy Palanisamy <pepalani@redhat.com>
(cherry picked from commit 4e57dcd)
(cherry picked from commit 35ce486)
(cherry picked from commit 67bd2c3)
(cherry picked from commit 2592e00)
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-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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants