Skip to content

Instantly share code, notes, and snippets.

@mjudeikis
Last active September 13, 2018 12:33
Show Gist options
  • Save mjudeikis/679fbc168ecce80082283faf9b0b9645 to your computer and use it in GitHub Desktop.
Save mjudeikis/679fbc168ecce80082283faf9b0b9645 to your computer and use it in GitHub Desktop.
storage-retry-kubernetes
#!/bin/bash -e
for i in `seq 1 50`; do
echo "Create pod $i"
echo ""
oc new-project storage-stress
cat <<EOF | oc create -f -
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: test
name: test
namespace: storage-stress
spec:
podManagementPolicy: Parallel
replicas: 1
selector:
matchLabels:
app: test
template:
metadata:
labels:
app: test
name: test
spec:
containers:
- image: 'k8s.gcr.io/busybox'
command: ["/bin/sh", "-c", "touch /data/test && touch /data2/test && sleep 5"]
name: test
volumeMounts:
- mountPath: /data
name: data
- mountPath: /data2
name: data2
nodeSelector:
region: primary
serviceAccountName: default
updateStrategy:
type: RollingUpdate
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 128Gi
- metadata:
name: data2
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 128Gi
EOF
done=0
time=0
while : ; do
if [[ $(oc get pod test-0 -o jsonpath='{.status.phase}') == "Running" ]] ; then
echo "Pod is running"
oc get pvc
sleep 10
done=1
else
oc describe pods test-0 | grep "Events" -A 15
oc get pvc
sleep 10
time=$(( $time + 10 ))
fi
if [ "$done" != 0 ]; then
echo $time >> results
oc delete project storage-stress &> /dev/null
while : ; do
if [[ $(oc get project storage-stress &> /dev/null; echo $?) != "0" ]] ; then
break
fi
done
echo "namespace deleted"
break
fi
done
done
@mjudeikis
Copy link
Author

160
120
170
110
100
140
100
130
210
130
180
210
130
120
130
160
210
150
220
160
110
130
120
210
210

@mjudeikis
Copy link
Author

160
120
170
110
100
140
100
130
210
130
180
210
130
120
130
160
210
150
220
160
110
130
120
210
210
220
160
110
130
310
140
130
300

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