@@ -46,7 +46,7 @@ kubectl_wait_daemonset(){
4646 echo " CURRENT READY REPLICAS: $READY_REPLICAS , CURRENT DESIRED REPLICAS: $DESIRED_REPLICAS for the DaemonSet $1 "
4747 if [[ $READY_REPLICAS -eq $DESIRED_REPLICAS ]]; then
4848 UP_TO_DATE_REPLICAS=$( run_kubectl get daemonsets.apps $1 -n ovn-kubernetes -o=jsonpath=' {.status.updatedNumberScheduled}' )
49- echo " CURRENT UP TO DATE REPLICAS: $UP_TO_DATE_REPLICAS for the Deployment $1 "
49+ echo " CURRENT UP TO DATE REPLICAS: $UP_TO_DATE_REPLICAS for the DaemonSet $1 "
5050 if [[ $READY_REPLICAS -eq $UP_TO_DATE_REPLICAS ]]; then
5151 break
5252 fi
@@ -71,7 +71,7 @@ kubectl_wait_deployment(){
7171 READY_REPLICAS=$( run_kubectl get deployments.apps $1 -n ovn-kubernetes -o=jsonpath=' {.status.readyReplicas}' )
7272 echo " CURRENT READY REPLICAS: $READY_REPLICAS , CURRENT DESIRED REPLICAS: $DESIRED_REPLICAS for the Deployment $1 "
7373 if [[ $READY_REPLICAS -eq $DESIRED_REPLICAS ]]; then
74- UP_TO_DATE_REPLICAS=$( run_kubectl get deployments.apps ovnkube-master -n ovn-kubernetes -o=jsonpath=' {.status.updatedReplicas}' )
74+ UP_TO_DATE_REPLICAS=$( run_kubectl get deployments.apps $1 -n ovn-kubernetes -o=jsonpath=' {.status.updatedReplicas}' )
7575 echo " CURRENT UP TO DATE REPLICAS: $UP_TO_DATE_REPLICAS for the Deployment $1 "
7676 if [[ $READY_REPLICAS -eq $UP_TO_DATE_REPLICAS ]]; then
7777 break
@@ -130,6 +130,7 @@ create_ovn_kube_manifests() {
130130 --net-cidr=" ${NET_CIDR} " \
131131 --svc-cidr=" ${SVC_CIDR} " \
132132 --gateway-mode=" ${OVN_GATEWAY_MODE} " \
133+ --enable-interconnect=" ${OVN_ENABLE_INTERCONNECT} " \
133134 --hybrid-enabled=" ${OVN_HYBRID_OVERLAY_ENABLE} " \
134135 --disable-snat-multiple-gws=" ${OVN_DISABLE_SNAT_MULTIPLE_GWS} " \
135136 --disable-forwarding=" ${OVN_DISABLE_FORWARDING} " \
@@ -164,6 +165,7 @@ set_default_ovn_manifest_params() {
164165 OVN_ENABLE_OVNKUBE_IDENTITY=${OVN_ENABLE_OVNKUBE_IDENTITY:- true}
165166 # ovn configs
166167 OVN_GATEWAY_MODE=${OVN_GATEWAY_MODE:- shared}
168+ OVN_ENABLE_INTERCONNECT=${OVN_ENABLE_INTERCONNECT:- true}
167169 OVN_HYBRID_OVERLAY_ENABLE=${OVN_HYBRID_OVERLAY_ENABLE:- false}
168170 OVN_DISABLE_SNAT_MULTIPLE_GWS=${OVN_DISABLE_SNAT_MULTIPLE_GWS:- false}
169171 OVN_DISABLE_FORWARDING=${OVN_DISABLE_FORWARDING:- false}
@@ -213,6 +215,7 @@ print_ovn_manifest_params() {
213215 echo " PLATFORM_IPV6_SUPPORT = $PLATFORM_IPV6_SUPPORT "
214216 echo " OVN_HA = $OVN_HA "
215217 echo " OVN_GATEWAY_MODE = $OVN_GATEWAY_MODE "
218+ echo " OVN_ENABLE_INTERCONNECT = $OVN_ENABLE_INTERCONNECT "
216219 echo " OVN_HYBRID_OVERLAY_ENABLE = $OVN_HYBRID_OVERLAY_ENABLE "
217220 echo " OVN_DISABLE_SNAT_MULTIPLE_GWS = $OVN_DISABLE_SNAT_MULTIPLE_GWS "
218221 echo " OVN_DISABLE_FORWARDING = $OVN_DISABLE_FORWARDING "
@@ -290,45 +293,63 @@ if [ "${OVN_ENABLE_OVNKUBE_IDENTITY}" == true ]; then
290293 kubectl_wait_daemonset ovnkube-identity
291294fi
292295
296+ if [ " ${OVN_ENABLE_OVNKUBE_IDENTITY} " == false ]; then
297+ # install updated ovnkube-node daemonset
298+ run_kubectl apply -f ovnkube-node.yaml
293299
294- # install updated ovnkube-node daemonset
295- run_kubectl apply -f ovnkube-node.yaml
300+ kubectl_wait_daemonset ovnkube-node
296301
297- kubectl_wait_daemonset ovnkube-node
302+ run_kubectl get all -n ovn-kubernetes
303+ CURRENT_REPLICAS_OVNKUBE_DB=$( run_kubectl get deploy -n ovn-kubernetes ovnkube-db -o=jsonpath=' {.spec.replicas}' )
304+ run_kubectl scale deploy -n ovn-kubernetes ovnkube-db --replicas=0
298305
299- run_kubectl get all -n ovn-kubernetes
300- CURRENT_REPLICAS_OVNKUBE_DB=$( run_kubectl get deploy -n ovn-kubernetes ovnkube-db -o=jsonpath=' {.spec.replicas}' )
301- run_kubectl scale deploy -n ovn-kubernetes ovnkube-db --replicas=0
306+ # install updated ovnkube-db daemonset
307+ if [ " $OVN_HA " == true ]; then
308+ run_kubectl apply -f ovnkube-db-raft.yaml
309+ else
310+ run_kubectl apply -f ovnkube-db.yaml
311+ fi
302312
303- # install updated ovnkube-db daemonset
304- if [ " $OVN_HA " == true ]; then
305- run_kubectl apply -f ovnkube-db-raft.yaml
306- else
307- run_kubectl apply -f ovnkube-db.yaml
308- fi
313+ run_kubectl scale deploy -n ovn-kubernetes ovnkube-db --replicas=$CURRENT_REPLICAS_OVNKUBE_DB
314+ kubectl_wait_deployment ovnkube-db
309315
310- run_kubectl scale deploy -n ovn-kubernetes ovnkube-db --replicas=$CURRENT_REPLICAS_OVNKUBE_DB
311- kubectl_wait_deployment ovnkube-db
316+ CURRENT_REPLICAS_OVNKUBE_MASTER=$( run_kubectl get deploy -n ovn-kubernetes ovnkube-master -o=jsonpath=' {.spec.replicas}' )
312317
313- CURRENT_REPLICAS_OVNKUBE_MASTER=$( run_kubectl get deploy -n ovn-kubernetes ovnkube-master -o=jsonpath=' {.spec.replicas}' )
318+ # scaling down replica before changing image briefly helps get around an issue seen with KIND
319+ # The issue was sometimes the KIND cluster won't scale down the ovnkube-master pod in time
320+ # and the new pod with the new image would be stuck in "Pending" state
321+ run_kubectl scale deploy -n ovn-kubernetes ovnkube-master --replicas=0
314322
315- # scaling down replica before changing image briefly helps get around an issue seen with KIND
316- # The issue was sometimes the KIND cluster won't scale down the ovnkube-master pod in time
317- # and the new pod with the new image would be stuck in "Pending" state
318- run_kubectl scale deploy -n ovn-kubernetes ovnkube-master --replicas=0
323+ # install updated ovnkube-master deployment
324+ run_kubectl apply -f ovnkube-master.yaml
319325
320- # install updated ovnkube-master deployment
321- run_kubectl apply -f ovnkube-master.yaml
326+ popd
322327
323- popd
328+ run_kubectl scale deploy -n ovn-kubernetes ovnkube-master --replicas=$CURRENT_REPLICAS_OVNKUBE_MASTER
329+ kubectl_wait_deployment ovnkube-master
330+ kubectl_wait_for_upgrade
324331
325- run_kubectl scale deploy -n ovn-kubernetes ovnkube-master --replicas=$CURRENT_REPLICAS_OVNKUBE_MASTER
326- kubectl_wait_deployment ovnkube-master
327- kubectl_wait_for_upgrade
332+ run_kubectl describe ds ovnkube-node -n ovn-kubernetes
328333
329- run_kubectl describe ds ovnkube-node -n ovn-kubernetes
334+ run_kubectl describe deployments.apps ovnkube-master -n ovn-kubernetes
330335
331- run_kubectl describe deployments.apps ovnkube-master -n ovn-kubernetes
336+ else
337+ # we only support single node per zone IC upgrades.
338+ run_kubectl apply -f ovnkube-single-node-zone.yaml
339+ kubectl_wait_daemonset ovnkube-node
340+
341+ run_kubectl get all -n ovn-kubernetes
342+ CURRENT_REPLICAS_OVNKUBE_CONTROL_PLANE=$( run_kubectl get deploy -n ovn-kubernetes ovnkube-control-plane -o=jsonpath=' {.spec.replicas}' )
343+
344+ run_kubectl scale deploy -n ovn-kubernetes ovnkube-control-plane --replicas=0
345+
346+ # install updated ovnkube-control-plane deployment
347+ run_kubectl apply -f ovnkube-control-plane.yaml
348+
349+ run_kubectl scale deploy -n ovn-kubernetes ovnkube-control-plane --replicas=$CURRENT_REPLICAS_OVNKUBE_CONTROL_PLANE
350+ kubectl_wait_deployment ovnkube-control-plane
351+ kubectl_wait_for_upgrade
352+ fi
332353
333354KIND_REMOVE_TAINT=${KIND_REMOVE_TAINT:- true}
334355MASTER_NODES=$( kubectl get nodes -l node-role.kubernetes.io/control-plane -o name)
0 commit comments