From e6405dccf68b81654d4230d09a633c4cadf5d114 Mon Sep 17 00:00:00 2001 From: Shiyang Wang Date: Thu, 19 Oct 2017 13:48:55 +0800 Subject: [PATCH] add apply --force --overwrite deployment lables e2e test enhance --- hack/make-rules/test-cmd-util.sh | 18 ++++++++++++++++++ hack/testdata/deployment-label-change1.yaml | 18 ++++++++++++++++++ hack/testdata/deployment-label-change2.yaml | 18 ++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 hack/testdata/deployment-label-change1.yaml create mode 100644 hack/testdata/deployment-label-change2.yaml diff --git a/hack/make-rules/test-cmd-util.sh b/hack/make-rules/test-cmd-util.sh index 3b6fb5a8c0c..1aa4c5d083d 100755 --- a/hack/make-rules/test-cmd-util.sh +++ b/hack/make-rules/test-cmd-util.sh @@ -1142,6 +1142,24 @@ run_kubectl_apply_deployments_tests() { kube::test::wait_object_assert replicasets "{{range.items}}{{$id_field}}:{{end}}" '' kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" '' + # kubectl apply deployment --overwrite=true --force=true + # Pre-Condition: no deployment exists + kube::test::get_object_assert deployments "{{range.items}}{{$id_field}}:{{end}}" '' + # apply deployment nginx + kubectl apply -f hack/testdata/deployment-label-change1.yaml "${kube_flags[@]}" + # check right deployment exists + kube::test::get_object_assert 'deployment nginx' "{{${id_field}}}" 'nginx' + # apply deployment with wrong labels mismatch selector throws errors + output_message=$(! kubectl apply -f hack/testdata/deployment-label-change2.yaml 2>&1 "${kube_flags[@]}") + kube::test::if_has_string "${output_message}" 'Invalid value' + # apply deployment with --force and --overwrite will success + kubectl apply -f hack/testdata/deployment-label-change2.yaml --overwrite=true --force=true --grace-period=10 + # check the changed deployment + output_message=$(kubectl apply view-last-applied deploy/nginx -o json 2>&1 "${kube_flags[@]}" |grep nginx2) + kube::test::if_has_string "${output_message}" '"name": "nginx2"' + # cleanup + kubectl delete deployments --all --grace-period=10 + set +o nounset set +o errexit } diff --git a/hack/testdata/deployment-label-change1.yaml b/hack/testdata/deployment-label-change1.yaml new file mode 100644 index 00000000000..cfcbae3d741 --- /dev/null +++ b/hack/testdata/deployment-label-change1.yaml @@ -0,0 +1,18 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: nginx + labels: + name: nginx +spec: + replicas: 3 + template: + metadata: + labels: + name: nginx1 + spec: + containers: + - name: nginx + image: gcr.io/google-containers/nginx:test-cmd + ports: + - containerPort: 80 diff --git a/hack/testdata/deployment-label-change2.yaml b/hack/testdata/deployment-label-change2.yaml new file mode 100644 index 00000000000..7f551d32112 --- /dev/null +++ b/hack/testdata/deployment-label-change2.yaml @@ -0,0 +1,18 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: nginx + labels: + name: nginx +spec: + replicas: 3 + template: + metadata: + labels: + name: nginx2 + spec: + containers: + - name: nginx + image: gcr.io/google-containers/nginx:test-cmd + ports: + - containerPort: 80