X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=tests%2Fk8s%2Fconformance%2Fconformance.robot;h=17f05d37edff838b321cd66c86d82e699d469840;hb=ba20f1b0e4f2d573708d4d37a2061d4c97b31dbb;hp=9418772ed0ae2546e6eac5537168fc2908ff08dc;hpb=bcfe962f40d0ed2697bc3c6bdc56c89f163bb812;p=validation.git diff --git a/tests/k8s/conformance/conformance.robot b/tests/k8s/conformance/conformance.robot index 9418772..17f05d3 100644 --- a/tests/k8s/conformance/conformance.robot +++ b/tests/k8s/conformance/conformance.robot @@ -36,25 +36,42 @@ Test Teardown Run Keywords ${LOG} ${LOG_PATH}${/}${SUITE_NAME.replace(' ','_')}.log &{SONOBUOY} path=gcr.io/heptio-images -... name=sonobuoy:v0.15.1 +... name=sonobuoy:v0.16.1 &{E2E} path=akraino -... name=validation:kube-conformance-v1.15 +... name=validation:kube-conformance-v1.16 &{SYSTEMD_LOGS} path=akraino ... name=validation:sonobuoy-plugin-systemd-logs-latest &{SONOBUOY_IMGS} sonobuoy=&{SONOBUOY} ... e2e=&{E2E} ... systemd_logs=&{SYSTEMD_LOGS} +# Following tests assume DNS domain is "cluster.local" +${DNS_DOMAIN_TESTS} SEPARATOR= +... DNS should provide /etc/hosts entries for the cluster| +... DNS should provide DNS for services| +... DNS should provide DNS for ExternalName services| +... DNS should provide DNS for the cluster| +... DNS should provide DNS for pods for Subdomain| +... DNS should provide DNS for pods for Hostname + +# Images listed by Sonobuoy but not available for downloading +@{SKIP_IMGS} gcr.io/kubernetes-e2e-test-images/windows-nanoserver:v1 +... gcr.io/authenticated-image-pulling/windows-nanoserver:v1 +... gcr.io/authenticated-image-pulling/alpine:3.7 +... k8s.gcr.io/invalid-image:invalid-tag +... invalid.com/invalid/alpine:3.1 + *** Test Cases *** Run Sonobuoy Conformance Test # Start the test Run kubectl apply -f ${CURDIR}${/}sonobuoy.yaml - Sleep 10s + Sleep 20s ${rc} ${output}= Run And Return Rc And Output - ... kubectl describe pod/sonobuoy -n heptio-sonobuoy + ... kubectl describe pod/sonobuoy -n sonobuoy Append To File ${LOG} ${output}${\n} # Wait until the test finishes execution + Wait Until Keyword Succeeds 3x 20 sec Check that sonobuoy is running Run while sonobuoy status | grep "Sonobuoy is still running"; do sleep 180; done Append To File ${LOG} "Sonobuoy has completed"${\n} @@ -71,9 +88,13 @@ Check that k8s cluster is reachable # Make sure the pod is reachable with the local k8s client ${rc} ${output}= Run And Return Rc And Output - ... kubectl get pods --all-namespaces + ... kubectl version Append To File ${LOG} ${output}${\n} - Should Contain ${output} kube-system + Should Contain ${output} Server Version: version.Info + +Check that sonobuoy is running + ${output}= Run kubectl get pod sonobuoy --namespace sonobuoy + Should Contain ${output} Running Cleanup Sonobuoy ${rc} ${output}= Run And Return Rc And Output @@ -114,6 +135,7 @@ Onboard Kubernetes e2e Test Images Should Be Equal As Integers ${result.rc} 0 @{images}= Split String ${result.stdout} FOR ${img} IN @{images} + Continue For Loop If $img in $SKIP_IMGS ${path} ${name} Split String From Right ${img} / 1 Upload To Internal Registry ${path} ${name} END @@ -126,10 +148,19 @@ Onboard Images Onboard Sonobuoy Images Onboard Kubernetes e2e Test Images +Get Tests To Skip + ${flag}= Set Variable Aggregator|Alpha|\\[(Disruptive|Feature:[^\\]]+|Flaky)\\] + ${flag}= Run Keyword If '${DNS_DOMAIN}' != 'cluster.local' + ... Catenate SEPARATOR=| ${flag} ${DNS_DOMAIN_TESTS} + ... ELSE + ... Set Variable ${flag} + [Return] ${flag} + Create Manifest File + ${skip}= Get Tests To Skip @{flags}= Set Variable ... --e2e-focus \\[Conformance\\\] - ... --e2e-skip Aggregator|Alpha|\\[(Disruptive|Feature:[^\\]]+|Flaky)\\] + ... --e2e-skip ${skip} ... --kube-conformance-image ${SONOBUOY_IMGS.e2e.path}/${SONOBUOY_IMGS.e2e.name} ... --sonobuoy-image ${SONOBUOY_IMGS.sonobuoy.path}/${SONOBUOY_IMGS.sonobuoy.name} ... --image-pull-policy Always