Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NP-974: Validation for live migration from OpenShiftSDN to OVNKubernetes #2344

Merged

Conversation

kyrtapz
Copy link
Contributor

@kyrtapz kyrtapz commented Apr 19, 2024

Adds the following validations for OpenShiftSDN to OVNKubernetes live migration:

  • Do not allow migrating from OpenShiftSDN in multitenant mode.
  • Check whether any of the ClusterNetwork and ServiceNetwork CIDRs conflict with the internal OVNKubernetes subnets: v[4|6]InternalSubnet, v[4|6]InternalTransitSwithSubnet and v[4|6]InternalMasquerateSubnet.
  • Do not allow migrating from OpenShiftSDN if there are any pods
    with pod.network.openshift.io/assign-macvlan annotation present in the cluster.

@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 Apr 19, 2024
@kyrtapz
Copy link
Contributor Author

kyrtapz commented Apr 19, 2024

/test e2e-aws-live-migration-sdn-ovn

Copy link
Contributor

openshift-ci bot commented Apr 19, 2024

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 19, 2024
@kyrtapz
Copy link
Contributor Author

kyrtapz commented Apr 19, 2024

/test e2e-aws-live-migration-sdn-ovn

@kyrtapz
Copy link
Contributor Author

kyrtapz commented Apr 22, 2024

/test e2e-aws-live-migration-sdn-ovn

@kyrtapz kyrtapz force-pushed the live_migration_preflight branch 2 times, most recently from f6ae361 to 2ae4a49 Compare April 22, 2024 13:51
@kyrtapz kyrtapz changed the title Add live migration validation for OpenShiftSDN->OVNKubernetes Live migration validation for OpenShiftSDN->OVNKubernetes Apr 22, 2024
@kyrtapz kyrtapz changed the title Live migration validation for OpenShiftSDN->OVNKubernetes Validation for live migration from OpenShiftSDN to OVNKubernetes Apr 22, 2024
@kyrtapz
Copy link
Contributor Author

kyrtapz commented Apr 22, 2024

/test ?

Copy link
Contributor

openshift-ci bot commented Apr 22, 2024

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

  • /test 4.16-upgrade-from-stable-4.15-images
  • /test e2e-aws-live-migration-sdn-ovn
  • /test e2e-aws-ovn-network-migration
  • /test e2e-aws-ovn-windows
  • /test e2e-gcp-ovn
  • /test e2e-gcp-ovn-upgrade
  • /test e2e-hypershift-ovn
  • /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-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 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-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-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-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-gcp-ovn
  • pull-ci-openshift-cluster-network-operator-master-e2e-gcp-ovn-upgrade
  • pull-ci-openshift-cluster-network-operator-master-e2e-hypershift-ovn
  • 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

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.

@kyrtapz
Copy link
Contributor Author

kyrtapz commented Apr 22, 2024

/test e2e-aws-live-migration-sdn-ovn-rollback
/test e2e-aws-live-migration-sdn-ovn

@kyrtapz kyrtapz changed the title Validation for live migration from OpenShiftSDN to OVNKubernetes NP-974: Validation for live migration from OpenShiftSDN to OVNKubernetes Apr 23, 2024
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Apr 23, 2024
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Apr 23, 2024

@kyrtapz: This pull request references NP-974 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.16.0" version, but no target version was set.

In response to this:

Adds the following validations for OpenShiftSDN to OVNKubernetes live migration:

  • Do not allow migrating from OpenShiftSDN in multitenant mode.
  • Check whether any of the ClusterNetwork and ServiceNetwork CIDRs conflict with the internal OVNKubernetes subnets: v[4|6]InternalSubnet, v[4|6]InternalTransitSwithSubnet and v[4|6]InternalMasquerateSubnet.
  • Do not allow migrating from OpenShiftSDN if there are any pods
    with pod.network.openshift.io/assign-macvlan annotation present in the cluster.

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.

@kyrtapz kyrtapz marked this pull request as ready for review April 23, 2024 08:52
@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 Apr 23, 2024
@openshift-ci openshift-ci bot requested review from abhat and jcaamano April 23, 2024 08:54
@kyrtapz
Copy link
Contributor Author

kyrtapz commented Apr 23, 2024

/retest

pkg/network/cluster_config.go Outdated Show resolved Hide resolved
})
}

v4InternalSubnet, v6InternalSubnet := GetInternalSubnets(operConfig.Spec.DefaultNetwork.OVNKubernetesConfig)
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need to check the IPv6 subnet? We don't support IPv6 in live migration.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think it doesn't hurt to have if here, there is a chance that a creative user sets the IPv6 CIDRs to overlapping values before kicking of the migration right?

Copy link
Contributor

Choose a reason for hiding this comment

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

We don't support SDN to dual-stack OVN migration. We may reject it here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The user can change the cluster to dual-stack after migrating from SDN, there is no way to make the cluster dual-stack during the migration.
I don't think that there is any harm in having the ipv6 checks in place here although I agree that this is an unlikely scenario.

pkg/network/cluster_config.go Show resolved Hide resolved
pkg/network/ovn_kubernetes.go Show resolved Hide resolved
@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 8, 2024

/retest

@pliurh
Copy link
Contributor

pliurh commented May 9, 2024

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label May 9, 2024
@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 2129174 and 2 for PR HEAD 8ab8197 in total

Adds the following validations:
 - Do not allow migrating from OpenShiftSDN in multitenant mode.
 - Check whether any of the clusterNetwork/serviceNetwork subnets conflict
   the internal OVNKubernetes subnets(internal, transitstwitch and masquerade).
 - Do not allow migrating from OpenShiftSDN if there are any pods
   with pod.network.openshift.io/assign-macvlan annotation present in the cluster.

Signed-off-by: Patryk Diak <[email protected]>
@pliurh
Copy link
Contributor

pliurh commented May 9, 2024

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label May 9, 2024
Copy link
Contributor

openshift-ci bot commented May 9, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kyrtapz, pliurh

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

The pull request process is described here

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-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 2129174 and 2 for PR HEAD d9244af in total

@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 9, 2024

/retest

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 3bb2096 and 1 for PR HEAD d9244af in total

@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 13, 2024

/test ?

Copy link
Contributor

openshift-ci bot commented May 13, 2024

@kyrtapz: 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-ovn-techpreview-serial
  • /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

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-sigs/prow repository.

@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 13, 2024

/retest
/test e2e-aws-ovn-techpreview-serial

@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 14, 2024

/retest-required
/test e2e-aws-ovn-techpreview-serial

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 9c3a57e and 0 for PR HEAD d9244af in total

@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 20, 2024

/label acknowledge-critical-fixes-only

@openshift-ci openshift-ci bot added the acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. label May 20, 2024
@openshift-ci-robot
Copy link
Contributor

/hold

Revision d9244af was retested 3 times: holding

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 20, 2024
@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 20, 2024

/hold cancel

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 20, 2024
@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 019fa77 and 2 for PR HEAD d9244af in total

@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 20, 2024

/retest-required

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 40c2bbc and 1 for PR HEAD d9244af in total

@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 21, 2024

/cherry-pick release-4.16 release-4.15

@openshift-cherrypick-robot

@kyrtapz: once the present PR merges, I will cherry-pick it on top of release-4.16 in a new PR and assign it to you.

In response to this:

/cherry-pick release-4.16 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.

@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 21, 2024

/tide refresh

@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 21, 2024

/skip

@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 21, 2024

/retest-required

Copy link
Contributor

openshift-ci bot commented May 21, 2024

@kyrtapz: 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/e2e-vsphere-ovn-dualstack-primaryv6 d9244af link false /test e2e-vsphere-ovn-dualstack-primaryv6
ci/prow/security d9244af link false /test security
ci/prow/4.16-upgrade-from-stable-4.15-e2e-azure-ovn-upgrade d9244af link false /test 4.16-upgrade-from-stable-4.15-e2e-azure-ovn-upgrade

Full PR test history. Your PR dashboard.

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.

@kyrtapz
Copy link
Contributor Author

kyrtapz commented May 21, 2024

/test e2e-azure-ovn-upgrade

@openshift-merge-bot openshift-merge-bot bot merged commit 56e9d86 into openshift:master May 21, 2024
39 checks passed
@openshift-cherrypick-robot

@kyrtapz: new pull request created: #2376

In response to this:

/cherry-pick release-4.16 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. 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. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants