Update conformance test to support k8s 1.16
[validation.git] / tests / k8s / conformance / conformance.robot
index 9418772..3f2f1eb 100644 (file)
@@ -36,22 +36,38 @@ 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
@@ -114,6 +130,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 +143,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