Switch test manifests to apps/v1, remove beta workloads calls

This commit is contained in:
Jordan Liggitt
2019-01-08 14:14:23 -05:00
parent 24f04b32c2
commit 6ca80760fd
23 changed files with 57 additions and 565 deletions

View File

@@ -31,21 +31,21 @@ run_daemonset_tests() {
# Command
kubectl apply -f hack/testdata/rollingupdate-daemonset.yaml "${kube_flags[@]:?}"
# Template Generation should be 1
kube::test::get_object_assert 'daemonsets bind' "{{${template_generation_field:?}}}" '1'
kube::test::get_object_assert 'daemonsets bind' "{{${generation_field:?}}}" '1'
kubectl apply -f hack/testdata/rollingupdate-daemonset.yaml "${kube_flags[@]:?}"
# Template Generation should stay 1
kube::test::get_object_assert 'daemonsets bind' "{{${template_generation_field:?}}}" '1'
kube::test::get_object_assert 'daemonsets bind' "{{${generation_field:?}}}" '1'
# Test set commands
kubectl set image daemonsets/bind "${kube_flags[@]:?}" "*=k8s.gcr.io/pause:test-cmd"
kube::test::get_object_assert 'daemonsets bind' "{{${template_generation_field:?}}}" '2'
kube::test::get_object_assert 'daemonsets bind' "{{${generation_field:?}}}" '2'
kubectl set env daemonsets/bind "${kube_flags[@]:?}" foo=bar
kube::test::get_object_assert 'daemonsets bind' "{{${template_generation_field:?}}}" '3'
kube::test::get_object_assert 'daemonsets bind' "{{${generation_field:?}}}" '3'
kubectl set resources daemonsets/bind "${kube_flags[@]:?}" --limits=cpu=200m,memory=512Mi
kube::test::get_object_assert 'daemonsets bind' "{{${template_generation_field:?}}}" '4'
kube::test::get_object_assert 'daemonsets bind' "{{${generation_field:?}}}" '4'
# Rollout restart should change generation
kubectl rollout restart daemonset/bind "${kube_flags[@]}"
kube::test::get_object_assert 'daemonsets bind' "{{${template_generation_field}}}" '5'
kubectl rollout restart daemonset/bind "${kube_flags[@]:?}"
kube::test::get_object_assert 'daemonsets bind' "{{${generation_field:?}}}" '5'
# Clean up
kubectl delete -f hack/testdata/rollingupdate-daemonset.yaml "${kube_flags[@]:?}"
@@ -127,12 +127,9 @@ run_kubectl_apply_deployments_tests() {
# apply new deployment with new template labels
kubectl apply -f hack/testdata/null-propagation/deployment-l2.yaml "${kube_flags[@]:?}"
# check right labels exists
kube::test::get_object_assert 'deployments my-depl' "{{.spec.template.metadata.labels.l1}}" '<no value>'
kube::test::get_object_assert 'deployments my-depl' "{{.spec.selector.matchLabels.l1}}" '<no value>'
kube::test::get_object_assert 'deployments my-depl' "{{.spec.template.metadata.labels.l1}}" 'l1'
kube::test::get_object_assert 'deployments my-depl' "{{.spec.selector.matchLabels.l1}}" 'l1'
kube::test::get_object_assert 'deployments my-depl' "{{.metadata.labels.l1}}" '<no value>'
kube::test::get_object_assert 'deployments my-depl' "{{.spec.template.metadata.labels.l2}}" 'l2'
kube::test::get_object_assert 'deployments my-depl' "{{.spec.selector.matchLabels.l2}}" 'l2'
kube::test::get_object_assert 'deployments my-depl' "{{.metadata.labels.l2}}" 'l2'
# cleanup
# need to explicitly remove replicasets and pods because we changed the deployment selector and orphaned things
@@ -189,24 +186,20 @@ run_deployment_tests() {
# and old generator was used, iow. old defaults are applied
output_message=$(kubectl get deployment.apps/test-nginx-extensions -o jsonpath='{.spec.revisionHistoryLimit}')
kube::test::if_has_not_string "${output_message}" '2'
# Ensure we can interact with deployments through extensions and apps endpoints
output_message=$(kubectl get deployment.extensions -o=jsonpath='{.items[0].apiVersion}' 2>&1 "${kube_flags[@]:?}")
kube::test::if_has_string "${output_message}" 'extensions/v1beta1'
# Ensure we can interact with deployments through apps endpoints
output_message=$(kubectl get deployment.apps -o=jsonpath='{.items[0].apiVersion}' 2>&1 "${kube_flags[@]:?}")
kube::test::if_has_string "${output_message}" 'apps/v1'
# Clean up
kubectl delete deployment test-nginx-extensions "${kube_flags[@]:?}"
# Test kubectl create deployment
kubectl create deployment test-nginx-apps --image=k8s.gcr.io/nginx:test-cmd --generator=deployment-basic/apps.v1beta1
kubectl create deployment test-nginx-apps --image=k8s.gcr.io/nginx:test-cmd --generator=deployment-basic/apps.v1
# Post-Condition: Deployment "nginx" is created.
kube::test::get_object_assert 'deploy test-nginx-apps' "{{${container_name_field:?}}}" 'nginx'
# and new generator was used, iow. new defaults are applied
output_message=$(kubectl get deployment/test-nginx-apps -o jsonpath='{.spec.revisionHistoryLimit}')
kube::test::if_has_string "${output_message}" '2'
# Ensure we can interact with deployments through extensions and apps endpoints
output_message=$(kubectl get deployment.extensions -o=jsonpath='{.items[0].apiVersion}' 2>&1 "${kube_flags[@]:?}")
kube::test::if_has_string "${output_message}" 'extensions/v1beta1'
kube::test::if_has_string "${output_message}" '10'
# Ensure we can interact with deployments through apps endpoints
output_message=$(kubectl get deployment.apps -o=jsonpath='{.items[0].apiVersion}' 2>&1 "${kube_flags[@]:?}")
kube::test::if_has_string "${output_message}" 'apps/v1'
# Describe command (resource only) should print detailed information

View File

@@ -1123,26 +1123,10 @@ run_rc_tests() {
kube::test::if_has_string "${output_message}" 'service/expose-test-deployment exposed'
# Clean-up
kubectl delete service/expose-test-deployment "${kube_flags[@]}"
# Uses deployment selectors for created service
output_message=$(kubectl expose -f test/fixtures/pkg/kubectl/cmd/expose/appsv1beta2deployment.yaml --port 80 2>&1 "${kube_flags[@]}")
# Post-condition: service created for deployment.
kube::test::if_has_string "${output_message}" 'service/expose-test-deployment exposed'
# Clean-up
kubectl delete service/expose-test-deployment "${kube_flags[@]}"
# Uses deployment selectors for created service
output_message=$(kubectl expose -f test/fixtures/pkg/kubectl/cmd/expose/appsv1beta1deployment.yaml --port 80 2>&1 "${kube_flags[@]}")
# Post-condition: service created for deployment.
kube::test::if_has_string "${output_message}" 'service/expose-test-deployment exposed'
# Clean-up
kubectl delete service/expose-test-deployment "${kube_flags[@]}"
# Contains no selectors, should fail.
output_message=$(! kubectl expose -f test/fixtures/pkg/kubectl/cmd/expose/appsv1deployment-no-selectors.yaml --port 80 2>&1 "${kube_flags[@]}")
# Post-condition: service created for deployment.
kube::test::if_has_string "${output_message}" 'invalid deployment: no selectors'
# Contains no selectors, should fail.
output_message=$(! kubectl expose -f test/fixtures/pkg/kubectl/cmd/expose/appsv1beta2deployment-no-selectors.yaml --port 80 2>&1 "${kube_flags[@]}")
# Post-condition: service created for deployment.
kube::test::if_has_string "${output_message}" 'invalid deployment: no selectors'
### Expose a deployment as a service
kubectl create -f test/fixtures/doc-yaml/user-guide/deployment.yaml "${kube_flags[@]}"

View File

@@ -269,10 +269,10 @@ run_recursive_resources_tests() {
kube::test::get_object_assert deployment "{{range.items}}{{$id_field}}:{{end}}" 'nginx:'
kube::test::get_object_assert deployment "{{range.items}}{{${image_field0:?}}}:{{end}}" "${IMAGE_DEPLOYMENT_R1}:"
# Command
output_message=$(kubectl convert --local -f hack/testdata/deployment-revision1.yaml --output-version=apps/v1 -o yaml "${kube_flags[@]}")
# Post-condition: apiVersion is still extensions/v1beta1 in the live deployment, but command output is the new value
kube::test::get_object_assert 'deployment nginx' "{{ .apiVersion }}" 'extensions/v1beta1'
kube::test::if_has_string "${output_message}" "apps/v1"
output_message=$(kubectl convert --local -f hack/testdata/deployment-revision1.yaml --output-version=extensions/v1beta1 -o yaml "${kube_flags[@]}")
# Post-condition: apiVersion is still apps/v1 in the live deployment, but command output is the new value
kube::test::get_object_assert 'deployment nginx' "{{ .apiVersion }}" 'apps/v1'
kube::test::if_has_string "${output_message}" "extensions/v1beta1"
# Clean up
kubectl delete deployment nginx "${kube_flags[@]}"

View File

@@ -365,7 +365,6 @@ runTests() {
pdb_min_available=".spec.minAvailable"
pdb_max_unavailable=".spec.maxUnavailable"
generation_field=".metadata.generation"
template_generation_field=".spec.templateGeneration"
container_len="(len .spec.template.spec.containers)"
image_field0="(index .spec.template.spec.containers 0).image"
image_field1="(index .spec.template.spec.containers 1).image"