X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=tests%2Fk8s%2Fconformance%2Fconformance.robot;h=8cf83dd65226897de1d465492f75a4fe03a78484;hb=120f1c310200e601f45a6601f2e7ec20f21fc744;hp=dbf66be61780ef173552cca13889d4cc6961ed3f;hpb=607858fe0707102decd3d388cadf50ef64219b36;p=validation.git diff --git a/tests/k8s/conformance/conformance.robot b/tests/k8s/conformance/conformance.robot index dbf66be..8cf83dd 100644 --- a/tests/k8s/conformance/conformance.robot +++ b/tests/k8s/conformance/conformance.robot @@ -24,8 +24,10 @@ Library Collections Library String Library SSHLibrary Library Process +Library JSONLibrary Test Setup Run Keywords ... Check that k8s cluster is reachable +... Define Images ... Onboard Images ... Create Manifest File Test Teardown Run Keywords @@ -36,11 +38,11 @@ Test Teardown Run Keywords ${LOG} ${LOG_PATH}${/}${SUITE_NAME.replace(' ','_')}.log &{SONOBUOY} path=gcr.io/heptio-images -... name=sonobuoy:v0.15.1 -&{E2E} path=akraino -... name=validation:kube-conformance-v1.15 -&{SYSTEMD_LOGS} path=akraino -... name=validation:sonobuoy-plugin-systemd-logs-latest +... name=sonobuoy:v0.16.1 +&{E2E} path=k8s.gcr.io +... name=Actual value set dynamically +&{SYSTEMD_LOGS} path=gcr.io/heptio-images +... name=sonobuoy-plugin-systemd-logs:latest &{SONOBUOY_IMGS} sonobuoy=&{SONOBUOY} ... e2e=&{E2E} ... systemd_logs=&{SYSTEMD_LOGS} @@ -50,7 +52,16 @@ ${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 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 @@ -58,10 +69,11 @@ Run Sonobuoy Conformance Test Run kubectl apply -f ${CURDIR}${/}sonobuoy.yaml 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} @@ -82,6 +94,10 @@ Check that k8s cluster is reachable Append To File ${LOG} ${output}${\n} 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 ... kubectl delete -f ${CURDIR}${/}sonobuoy.yaml @@ -121,10 +137,23 @@ 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 +Define Images + ${result}= Run Process kubectl version -o json + Should Be Equal As Integers ${result.rc} 0 + ${versions}= Convert String To JSON ${result.stdout} + ${major}= Get Value From Json ${versions} $.serverVersion.major + ${minor}= Get Value From Json ${versions} $.serverVersion.minor + ${gitVersion}= Get Value From Json ${versions} $.serverVersion.gitVersion + ${major}= Get Regexp Matches ${major[0]} \\d+ + ${minor}= Get Regexp Matches ${minor[0]} \\d+ + ${gitVersion}= Get Regexp Matches ${gitVersion[0]} \\d+ + Set To Dictionary ${SONOBUOY_IMGS['e2e']} name=conformance:${gitVersion[0]} + Onboard Images ${INT_REG}= Get Variable Value ${INTERNAL_REGISTRY} ${EMPTY} Set Test Variable ${INT_REG}