Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f8aabdf
commit 36329d5
Showing
2 changed files
with
20 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,20 @@ | ||
#!/bin/bash | ||
|
||
dsGenVer=`kubectl get ds -n kube-system ovs-ovn -o jsonpath={.metadata.generation}` | ||
podNames=`kubectl get pod -n kube-system | grep ovs-ovn | awk '{print $1}'` | ||
for pod in $podNames | ||
do | ||
podGenVer=`kubectl get pod -n kube-system $pod -o jsonpath={.metadata.labels.pod-template-generation}` | ||
if [ $dsGenVer == $podGenVer ] | ||
then | ||
echo "pod $pod alreay upgraded" | ||
continue | ||
fi | ||
echo "upgrade pod $pod" | ||
kubectl delete pod -n kube-system $pod | ||
set -e | ||
|
||
desireNum=$(kubectl get daemonset -n kube-system | grep ovs-ovn | awk {'print $2'}) | ||
currentNum=$(kubectl get daemonset -n kube-system | grep ovs-ovn | awk {'print $3'}) | ||
readyNum=$(kubectl get daemonset -n kube-system | grep ovs-ovn | awk {'print $4'}) | ||
availableNum=$(kubectl get daemonset -n kube-system | grep ovs-ovn | awk {'print $6'}) | ||
echo "daemonset ovs-ovn, desire $desireNum, current $currentNum, ready $readyNum, available $availableNum" | ||
while [ $desireNum != $currentNum ] || [ $desireNum != $readyNum ] || [ $desireNum != $availableNum ] | ||
do | ||
desireNum=$(kubectl get daemonset -n kube-system | grep ovs-ovn | awk {'print $2'}) | ||
currentNum=$(kubectl get daemonset -n kube-system | grep ovs-ovn | awk {'print $3'}) | ||
readyNum=$(kubectl get daemonset -n kube-system | grep ovs-ovn | awk {'print $4'}) | ||
availableNum=$(kubectl get daemonset -n kube-system | grep ovs-ovn | awk {'print $6'}) | ||
echo "ovs-ovn upgrade, desire $desireNum, current $currentNum, ready $readyNum, available $availableNum" | ||
sleep 0.5 | ||
POD_NAMESPACE=${POD_NAMESPACE:-kube-system} | ||
|
||
dsGenVer=`kubectl -n $POD_NAMESPACE get ds ovs-ovn -o jsonpath={.metadata.generation}` | ||
for node in `kubectl get node -o jsonpath='{.items[*].metadata.name}'`; do | ||
# delete pod with old version | ||
kubectl -n $POD_NAMESPACE delete pod -l app=ovs,pod-template-generation!=$dsGenVer --field-selector spec.nodeName=$node | ||
# wait the pod with new version to be created and delete it | ||
while true; do | ||
pod=`kubectl -n $POD_NAMESPACE get pod -l app=ovs,pod-template-generation=$dsGenVer --field-selector spec.nodeName=$node -o name` | ||
if [ ! -z $pod ]; then | ||
kubectl -n $POD_NAMESPACE delete $pod --wait=false | ||
break | ||
fi | ||
sleep 0.1 | ||
done | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters