Skip to content

[WIP] Two stage update hypershift IC rebase#1860

Closed
flavio-fernandes wants to merge 9 commits intoopenshift:masterfrom
flavio-fernandes:two-stage-update-rebased
Closed

[WIP] Two stage update hypershift IC rebase#1860
flavio-fernandes wants to merge 9 commits intoopenshift:masterfrom
flavio-fernandes:two-stage-update-rebased

Conversation

@flavio-fernandes
Copy link
Contributor

This combines ricky-rav's PR #1838 and
JacobTanenbaum's PR #1857

It should be used with latest ovnk8's downstream to upgrade from 4.13 to 4.14 in Hypershift deployments.

ricky-rav and others added 9 commits July 3, 2023 14:55
- Determine OVN interconnect zone mode by inspecting an (optional) configMap; apply the desired zone mode.
- upgrade from non-IC to IC OVN-K by going through an intermediate step with 1-zone
- Switch from IC single zone to IC multizone (as in upgrades) and back (not fully supported yet, for internal use only)

Avoid clashes between single-zone ovnkube-master (using ports 9102, 9641, 9642, 29102) and multizone ovnkube-node (initially using ports 9103, 9105, 9102, 29102, 29103) during upgrade from 4.13 and avoid using ports reserved for the storage components, as described in https://github.com/openshift/enhancements/blob/master/dev-guide/host-port-registry.md  This caused the storage operator to never be available after installation of or upgrade to 4.14.

In multizone ovnkube-node let's now have:
- 9103, 9105, 29103 (which don't collide with single-zone ovnkube-master)
- 9112, 9112 9113, 29113 so as to not collide with single-zone ovnkube-master

Signed-off-by: Riccardo Ravaioli <rravaiol@redhat.com>
Signed-off-by: Riccardo Ravaioli <rravaiol@redhat.com>
Signed-off-by: Riccardo Ravaioli <rravaiol@redhat.com>
In the very last step of the 2-phase upgrade to OVN interconnect, we remove the IC configmap.
At this point, SetFromPods from pod_status.go won't be called any more, because all changes to the daemonsets have been processed. Patch the ovnk master daemonset with a dummy annotation to trigger status recalculation.

TODO: find a better way to run SetFromPods instead of updating ovnk master annotations

Signed-off-by: Riccardo Ravaioli <rravaiol@redhat.com>
Signed-off-by: Riccardo Ravaioli <rravaiol@redhat.com>
here I rename the yaml files and change them to work for hypershift-IC

(cherry picked from commit 7b78d2b)
The major difference between managed and self hosted IC upgrade is the
stateful set on the master side. patch the update so the commit works
for this too.

HACK to get the stateful set updated was to remove it when safe to do so
in order to allow the CNO to create a version updated as we need to in
phase 2

(cherry picked from commit 2f12a1d)
@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 Jul 4, 2023
@openshift-ci openshift-ci bot requested review from dougbtv and tssurya July 4, 2023 04:41
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 4, 2023

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: flavio-fernandes
Once this PR has been reviewed and has the lgtm label, please assign abhat for approval. For more information see the Kubernetes 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
Copy link
Contributor

openshift-ci bot commented Jul 4, 2023

@flavio-fernandes: 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-openstack-ovn 8f5a651 link false /test e2e-openstack-ovn
ci/prow/e2e-aws-sdn-upgrade 8f5a651 link false /test e2e-aws-sdn-upgrade
ci/prow/e2e-aws-ovn-single-node 8f5a651 link false /test e2e-aws-ovn-single-node
ci/prow/e2e-aws-sdn-network-reverse-migration 8f5a651 link true /test e2e-aws-sdn-network-reverse-migration
ci/prow/e2e-gcp-ovn 8f5a651 link true /test e2e-gcp-ovn
ci/prow/e2e-azure-ovn 8f5a651 link false /test e2e-azure-ovn
ci/prow/e2e-hypershift-ovn 8f5a651 link true /test e2e-hypershift-ovn
ci/prow/e2e-aws-sdn-multi 8f5a651 link true /test e2e-aws-sdn-multi
ci/prow/e2e-aws-ovn-network-migration 8f5a651 link true /test e2e-aws-ovn-network-migration
ci/prow/e2e-ovn-ipsec-step-registry 8f5a651 link false /test e2e-ovn-ipsec-step-registry
ci/prow/e2e-ovn-hybrid-step-registry 8f5a651 link false /test e2e-ovn-hybrid-step-registry
ci/prow/e2e-vsphere-ovn-windows 8f5a651 link true /test e2e-vsphere-ovn-windows
ci/prow/e2e-vsphere-ovn-dualstack 8f5a651 link false /test e2e-vsphere-ovn-dualstack
ci/prow/e2e-openstack-sdn 8f5a651 link false /test e2e-openstack-sdn
ci/prow/e2e-metal-ipi-ovn-ipv6 8f5a651 link true /test e2e-metal-ipi-ovn-ipv6
ci/prow/e2e-ovn-step-registry 8f5a651 link false /test e2e-ovn-step-registry
ci/prow/e2e-metal-ipi-ovn-ipv6-ipsec 8f5a651 link false /test e2e-metal-ipi-ovn-ipv6-ipsec
ci/prow/e2e-aws-ovn-serial 8f5a651 link false /test e2e-aws-ovn-serial
ci/prow/e2e-network-mtu-migration-ovn-ipv6 8f5a651 link false /test e2e-network-mtu-migration-ovn-ipv6
ci/prow/e2e-network-mtu-migration-ovn-ipv4 8f5a651 link false /test e2e-network-mtu-migration-ovn-ipv4
ci/prow/e2e-gcp-ovn-upgrade 8f5a651 link false /test e2e-gcp-ovn-upgrade
ci/prow/e2e-aws-ovn-windows 8f5a651 link true /test e2e-aws-ovn-windows
ci/prow/unit 8f5a651 link true /test unit
ci/prow/e2e-vsphere-ovn 8f5a651 link false /test e2e-vsphere-ovn
ci/prow/e2e-aws-sdn-network-migration-rollback 8f5a651 link true /test e2e-aws-sdn-network-migration-rollback

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/test-infra repository. I understand the commands that are listed here.

@@ -393,8 +393,15 @@ func renderOVNKubernetes(conf *operv1.NetworkSpec, bootstrapResult *bootstrap.Bo
manifestDirs = append(manifestDirs, filepath.Join(manifestDir, "network/ovn-kubernetes/common"))

if bootstrapResult.OVN.OVNKubernetesConfig.HyperShiftConfig.Enabled {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 12, 2023
@openshift-merge-robot
Copy link
Contributor

PR needs rebase.

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

@flavio-fernandes
Copy link
Contributor Author

no longer needed see #1874
/close

@openshift-ci openshift-ci bot closed this Jul 13, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 13, 2023

@flavio-fernandes: Closed this PR.

Details

In response to this:

no longer needed see #1874
/close

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.

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

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants