|
1 | 1 | # use sh pod_failover_test_aws.sh 100 file.txt to test 1 pod 3 pvc pod failover test on aws for 100 times and write results in file.txt.
|
2 | 2 | kubectl create ns ebs-pod-failover-1pod3pvc
|
| 3 | +deletion_due_time=$(date -u -d "+3 hour" +'%Y-%m-%dT%H:%M:%SZ') |
3 | 4 | cat <<EOF | kubectl apply -f -
|
4 | 5 | apiVersion: storage.k8s.io/v1
|
5 | 6 | kind: StorageClass
|
6 | 7 | metadata:
|
7 | 8 | name: ebs-pod-failover-1pod3pvc-sc
|
8 | 9 | parameters:
|
| 10 | + tagSpecification_1: "deletion_due_time=${deletion_due_time}" |
9 | 11 | csi.storage.k8s.io/fstype: xfs
|
10 | 12 | type: gp2
|
11 | 13 | provisioner: ebs.csi.aws.com
|
@@ -135,26 +137,16 @@ status:
|
135 | 137 | updateRevision: pod-failover-statefulset-8565df4b89
|
136 | 138 | updatedReplicas: 1
|
137 | 139 | EOF
|
138 |
| -readynum=$(kubectl get pod -n ebs-pod-failover-1pod3pvc --field-selector=status.phase==Running | awk 'END{print NR}') |
139 |
| -while [ $readynum -le 1 ] |
140 |
| -do |
141 |
| -sleep 1 |
142 |
| -readynum=$(kubectl get pod -n ebs-pod-failover-1pod3pvc --field-selector=status.phase==Running | awk 'END{print NR}') |
143 |
| -done |
| 140 | +kubectl wait --for=condition=Ready pod/pod-failover-statefulset-0 -n ebs-pod-failover-1pod3pvc --timeout=600s |
144 | 141 | for i in $(seq $1)
|
145 | 142 | do
|
146 | 143 | nodename=$(kubectl get po pod-failover-statefulset-0 -n ebs-pod-failover-1pod3pvc -o custom-columns=NODE:.spec.nodeName --no-headers)
|
147 | 144 | kubectl cordon $nodename
|
148 | 145 | kubectl delete pod pod-failover-statefulset-0 -n ebs-pod-failover-1pod3pvc
|
149 | 146 | predate=$(date +"%Y-%m-%d %H:%M:%S")
|
150 |
| -readynum=$(kubectl get pod -n ebs-pod-failover-1pod3pvc --field-selector=status.phase==Running | awk 'END{print NR}') |
151 |
| -while [ $readynum -le 1 ] |
152 |
| -do |
153 |
| -sleep 1 |
| 147 | +kubectl wait --for=condition=Ready pod/pod-failover-statefulset-0 -n ebs-pod-failover-1pod3pvc --timeout=600s |
154 | 148 | date=$(date +"%Y-%m-%d %H:%M:%S")
|
155 |
| -readynum=$(kubectl get pod -n ebs-pod-failover-1pod3pvc --field-selector=status.phase==Running | awk 'END{print NR}') |
156 |
| -done |
157 |
| -echo "`date` test $i: $(( $(date -d "$date" "+%s") - $(date -d "$predate" "+%s") ))" >> $2 |
| 149 | +echo "`echo $(date -u +"%Y-%m-%dT%H:%M:%SZ")` test $i: $(( $(date -d "$date" "+%s") - $(date -d "$predate" "+%s") ))" >> $2 |
158 | 150 | kubectl uncordon $nodename
|
159 | 151 | done
|
160 | 152 | kubectl delete ns ebs-pod-failover-1pod3pvc
|
|
0 commit comments