Merge pull request #42674 from nikhiljindal/secretKubeTe

Automatic merge from submit-queue

Enable secrets in federation kubectl tests

Fixes https://github.com/kubernetes/kubernetes/issues/40568
Superseedes https://github.com/kubernetes/kubernetes/pull/40714

Updating kubectl tests to wait for deletion if WAIT_FOR_DELETION is set to true. WAIT_FOR_DELETION will be set to true only when the tests are being run for federation apiserver.
This change will not impact kube apiserver tests and still enable federation and kubernetes to share the same test code.
This is a workaround until https://github.com/kubernetes/kubernetes/issues/42594 is fixed.

cc @kubernetes/sig-federation-pr-reviews
cc @liggitt as he reviewed https://github.com/kubernetes/kubernetes/pull/40714
This commit is contained in:
Kubernetes Submit Queue 2017-04-04 00:28:42 -07:00 committed by GitHub
commit 3c357139f3
2 changed files with 15 additions and 2 deletions

View File

@ -1868,6 +1868,9 @@ run_secrets_test() {
kubectl delete secret test-secret --namespace=test-secrets kubectl delete secret test-secret --namespace=test-secrets
### Create a docker-registry secret in a specific namespace ### Create a docker-registry secret in a specific namespace
if [[ "${WAIT_FOR_DELETION:-}" == "true" ]]; then
kube::test::wait_object_assert 'secrets --namespace=test-secrets' "{{range.items}}{{$id_field}}:{{end}}" ''
fi
# Pre-condition: no SECRET exists # Pre-condition: no SECRET exists
kube::test::get_object_assert 'secrets --namespace=test-secrets' "{{range.items}}{{$id_field}}:{{end}}" '' kube::test::get_object_assert 'secrets --namespace=test-secrets' "{{range.items}}{{$id_field}}:{{end}}" ''
# Command # Command
@ -1880,6 +1883,9 @@ run_secrets_test() {
kubectl delete secret test-secret --namespace=test-secrets kubectl delete secret test-secret --namespace=test-secrets
### Create a tls secret ### Create a tls secret
if [[ "${WAIT_FOR_DELETION:-}" == "true" ]]; then
kube::test::wait_object_assert 'secrets --namespace=test-secrets' "{{range.items}}{{$id_field}}:{{end}}" ''
fi
# Pre-condition: no SECRET exists # Pre-condition: no SECRET exists
kube::test::get_object_assert 'secrets --namespace=test-secrets' "{{range.items}}{{$id_field}}:{{end}}" '' kube::test::get_object_assert 'secrets --namespace=test-secrets' "{{range.items}}{{$id_field}}:{{end}}" ''
# Command # Command
@ -1914,6 +1920,9 @@ __EOF__
kubectl delete secret secret-string-data --namespace=test-secrets kubectl delete secret secret-string-data --namespace=test-secrets
### Create a secret using output flags ### Create a secret using output flags
if [[ "${WAIT_FOR_DELETION:-}" == "true" ]]; then
kube::test::wait_object_assert 'secrets --namespace=test-secrets' "{{range.items}}{{$id_field}}:{{end}}" ''
fi
# Pre-condition: no secret exists # Pre-condition: no secret exists
kube::test::get_object_assert 'secrets --namespace=test-secrets' "{{range.items}}{{$id_field}}:{{end}}" '' kube::test::get_object_assert 'secrets --namespace=test-secrets' "{{range.items}}{{$id_field}}:{{end}}" ''
# Command # Command

View File

@ -75,8 +75,12 @@ kube::log::status "Running kubectl tests for federation-apiserver"
setup setup
run_federation_apiserver run_federation_apiserver
run_federation_controller_manager run_federation_controller_manager
# TODO: Fix for secrets, replicasets and deployments. # TODO: Fix for replicasets and deployments.
SUPPORTED_RESOURCES=("configmaps" "daemonsets" "events" "ingress" "namespaces" "services") SUPPORTED_RESOURCES=("configmaps" "daemonsets" "events" "ingress" "namespaces" "services" "secrets")
# Set wait for deletion to true for federation apiserver since resources are
# deleted asynchronously.
# This is a temporary workaround until https://github.com/kubernetes/kubernetes/issues/42594 is fixed.
WAIT_FOR_DELETION="true"
# WARNING: Do not wrap this call in a subshell to capture output, e.g. output=$(runTests) # WARNING: Do not wrap this call in a subshell to capture output, e.g. output=$(runTests)
# Doing so will suppress errexit behavior inside runTests # Doing so will suppress errexit behavior inside runTests
runTests runTests