From 7a824aaf491e176bbd4502aa90a03f2543e5cbe7 Mon Sep 17 00:00:00 2001 From: jay vyas Date: Wed, 4 May 2016 18:56:10 -0400 Subject: [PATCH] Cassandra de-flake --- hack/lib/test.sh | 2 ++ hack/test-cmd.sh | 11 +++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/hack/lib/test.sh b/hack/lib/test.sh index 99c5847f923..bb694b3f12d 100644 --- a/hack/lib/test.sh +++ b/hack/lib/test.sh @@ -26,6 +26,8 @@ kube::test::clear_all() { kubectl delete "${kube_flags[@]}" rc,pods --all --grace-period=0 } +# Force exact match of a returned result for a object query. Wrap this with || to support multiple +# valid return types. kube::test::get_object_assert() { local object=$1 local request=$2 diff --git a/hack/test-cmd.sh b/hack/test-cmd.sh index 3ee6cf14af4..d3c344a706e 100755 --- a/hack/test-cmd.sh +++ b/hack/test-cmd.sh @@ -1724,9 +1724,16 @@ __EOF__ kube::log::status "Testing resource aliasing" kubectl create -f examples/cassandra/cassandra-controller.yaml "${kube_flags[@]}" kubectl create -f examples/cassandra/cassandra-service.yaml "${kube_flags[@]}" - kube::test::get_object_assert "all -l'app=cassandra'" "{{range.items}}{{range .metadata.labels}}{{.}}:{{end}}{{end}}" 'cassandra:cassandra:cassandra:cassandra:' - kubectl delete all -l app=cassandra "${kube_flags[@]}" + object="all -l'app=cassandra'" + request="{{range.items}}{{range .metadata.labels}}{{.}}:{{end}}{{end}}" + + # all 4 cassandra's might not be in the request immediately... + kube::test::get_object_assert "$object" "$request" 'cassandra:cassandra:cassandra:cassandra:' || \ + kube::test::get_object_assert "$object" "$request" 'cassandra:cassandra:cassandra:' || \ + kube::test::get_object_assert "$object" "$request" 'cassandra:cassandra:' + + kubectl delete all -l app=cassandra "${kube_flags[@]}" ########### # Explain #