Add bash test for kubectl scale --selector and --all

pull/6/head
zhengjiajin 2017-08-27 15:42:20 +08:00
parent a24be450b2
commit f441de6be8
4 changed files with 94 additions and 0 deletions

View File

@ -2899,8 +2899,27 @@ run_rs_tests() {
kubectl scale --current-replicas=3 --replicas=2 replicasets frontend "${kube_flags[@]}"
# Post-condition: 2 replicas
kube::test::get_object_assert 'rs frontend' "{{$rs_replicas_field}}" '2'
# Set up three deploy, two deploy have same label
kubectl create -f hack/testdata/scale-deploy-1.yaml "${kube_flags[@]}"
kubectl create -f hack/testdata/scale-deploy-2.yaml "${kube_flags[@]}"
kubectl create -f hack/testdata/scale-deploy-3.yaml "${kube_flags[@]}"
kube::test::get_object_assert 'deploy scale-1' "{{.spec.replicas}}" '1'
kube::test::get_object_assert 'deploy scale-2' "{{.spec.replicas}}" '1'
kube::test::get_object_assert 'deploy scale-3' "{{.spec.replicas}}" '1'
# Test kubectl scale --selector
kubectl scale deploy --replicas=2 -l run=hello
kube::test::get_object_assert 'deploy scale-1' "{{.spec.replicas}}" '2'
kube::test::get_object_assert 'deploy scale-2' "{{.spec.replicas}}" '2'
kube::test::get_object_assert 'deploy scale-3' "{{.spec.replicas}}" '1'
# Test kubectl scale --all
kubectl scale deploy --replicas=3 --all
kube::test::get_object_assert 'deploy scale-1' "{{.spec.replicas}}" '3'
kube::test::get_object_assert 'deploy scale-2' "{{.spec.replicas}}" '3'
kube::test::get_object_assert 'deploy scale-3' "{{.spec.replicas}}" '3'
# Clean-up
kubectl delete rs frontend "${kube_flags[@]}"
kubectl delete deploy scale-1 scale-2 scale-3 "${kube_flags[@]}"
### Expose replica set as service
kubectl create -f hack/testdata/frontend-replicaset.yaml "${kube_flags[@]}"

25
hack/testdata/scale-deploy-1.yaml vendored Normal file
View File

@ -0,0 +1,25 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
run: hello
name: scale-1
spec:
replicas: 1
selector:
matchLabels:
run: hello
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
run: hello
spec:
containers:
- image: aronchick/hello-node:2.0
imagePullPolicy: IfNotPresent
name: hello

25
hack/testdata/scale-deploy-2.yaml vendored Normal file
View File

@ -0,0 +1,25 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
run: hello
name: scale-2
spec:
replicas: 1
selector:
matchLabels:
run: hello
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
run: hello
spec:
containers:
- image: aronchick/hello-node:2.0
imagePullPolicy: IfNotPresent
name: hello

25
hack/testdata/scale-deploy-3.yaml vendored Normal file
View File

@ -0,0 +1,25 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
foo: boo
name: scale-3
spec:
replicas: 1
selector:
matchLabels:
run: hello
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
run: hello
spec:
containers:
- image: aronchick/hello-node:2.0
imagePullPolicy: IfNotPresent
name: hello