diff --git a/ci-operator/step-registry/baremetalds/devscripts/setup/baremetalds-devscripts-setup-commands.sh b/ci-operator/step-registry/baremetalds/devscripts/setup/baremetalds-devscripts-setup-commands.sh index 99bb50bc320c7..ea78d31cd69c2 100644 --- a/ci-operator/step-registry/baremetalds/devscripts/setup/baremetalds-devscripts-setup-commands.sh +++ b/ci-operator/step-registry/baremetalds/devscripts/setup/baremetalds-devscripts-setup-commands.sh @@ -91,5 +91,17 @@ fi echo 'export KUBECONFIG=/root/dev-scripts/ocp/ostest/auth/kubeconfig' >> /root/.bashrc timeout -s 9 105m make +EOF + +# Copy dev-scripts variables to be shared with the test step +ssh "${SSHOPTS[@]}" "root@${IP}" bash - << EOF |& sed -e 's/.*auths.*/*** PULL_SECRET ***/g' +cd /root/dev-scripts +source common.sh +source ocp_install_env.sh +echo "export DS_OPENSHIFT_VERSION=\$(openshift_version)" >> /tmp/ds-vars.conf +echo "export DS_REGISTRY=\$LOCAL_REGISTRY_DNS_NAME:\$LOCAL_REGISTRY_PORT" >> /tmp/ds-vars.conf +echo "export DS_WORKING_DIR=\$WORKING_DIR" >> /tmp/ds-vars.conf EOF + +scp "${SSHOPTS[@]}" "root@${IP}:/tmp/ds-vars.conf" "${SHARED_DIR}/ds-vars.conf" \ No newline at end of file diff --git a/ci-operator/step-registry/baremetalds/e2e/test/baremetalds-e2e-test-commands.sh b/ci-operator/step-registry/baremetalds/e2e/test/baremetalds-e2e-test-commands.sh index d81ca018cfea2..fd751098490d6 100644 --- a/ci-operator/step-registry/baremetalds/e2e/test/baremetalds-e2e-test-commands.sh +++ b/ci-operator/step-registry/baremetalds/e2e/test/baremetalds-e2e-test-commands.sh @@ -6,101 +6,110 @@ set -o pipefail echo "************ baremetalds test command ************" -# Fetch packet basic configuration -# shellcheck source=/dev/null -source "${SHARED_DIR}/packet-conf.sh" - collect_artifacts() { + echo "$(date +%s)" > "${SHARED_DIR}/TEST_TIME_TEST_END" + echo "### Fetching results" ssh "${SSHOPTS[@]}" "root@${IP}" tar -czf - /tmp/artifacts | tar -C "${ARTIFACT_DIR}" -xzf - } trap collect_artifacts EXIT TERM -# Copy test binaries on packet server -echo "### Copying test binaries" -scp "${SSHOPTS[@]}" /usr/bin/openshift-tests /usr/bin/kubectl "root@${IP}:/usr/local/bin" - -# Tests execution -set +e - -# Mirroring test images is supported only for versions greater than or equal to 4.7 -# In such case the dev-scripts private reigstry is reused for mirroring the images. -# Current openshift version is detected through dev-scripts -# shellcheck disable=SC2046 -read -d '' OPENSHIFT_VERSION DEVSCRIPTS_REGISTRY DEVSCRIPTS_WORKING_DIR <<<$(ssh "${SSHOPTS[@]}" "root@${IP}" "set +x; source /root/dev-scripts/common.sh; source /root/dev-scripts/ocp_install_env.sh; cd /root/dev-scripts; echo \$(openshift_version); echo \$LOCAL_REGISTRY_DNS_NAME:\$LOCAL_REGISTRY_PORT; echo \$WORKING_DIR") - -TEST_ARGS="" -if printf '%s\n%s' "4.7" "${OPENSHIFT_VERSION}" | sort -C -V; then - echo "### Mirroring test images" - - DEVSCRIPTS_TEST_IMAGE_REPO=${DEVSCRIPTS_REGISTRY}/localimages/local-test-image - # shellcheck disable=SC2087 - ssh "${SSHOPTS[@]}" "root@${IP}" bash - << EOF -set +x +function copy_test_binaries() { + # Copy test binaries on packet server + echo "### Copying test binaries" + scp "${SSHOPTS[@]}" /usr/bin/openshift-tests /usr/bin/kubectl "root@${IP}:/usr/local/bin" +} -source /root/dev-scripts/common.sh -source /root/dev-scripts/ocp_install_env.sh +function mirror_test_images() { + echo "### Mirroring test images" + DEVSCRIPTS_TEST_IMAGE_REPO=${DS_REGISTRY}/localimages/local-test-image + # shellcheck disable=SC2087 + ssh "${SSHOPTS[@]}" "root@${IP}" bash - << EOF openshift-tests images --to-repository ${DEVSCRIPTS_TEST_IMAGE_REPO} > /tmp/mirror -oc image mirror -f /tmp/mirror --registry-config ${DEVSCRIPTS_WORKING_DIR}/pull_secret.json +oc image mirror -f /tmp/mirror --registry-config ${DS_WORKING_DIR}/pull_secret.json EOF + TEST_ARGS="--from-repository ${DEVSCRIPTS_TEST_IMAGE_REPO}" +} - TEST_ARGS="--from-repository ${DEVSCRIPTS_TEST_IMAGE_REPO}" - - echo "### Enriching test-list cases" - cat "${SHARED_DIR}/test-list-ext" >> "${SHARED_DIR}/test-list" -fi +function use_minimal_test_list() { + echo "### Skipping test images mirroring, fall back to minimal tests list" + + TEST_ARGS="--file /tmp/tests" + TEST_SKIPS="" + echo "${TEST_MINIMAL_LIST}" > /tmp/tests +} -# Test upgrade for workflows that requested it -if [[ "$RUN_UPGRADE_TEST" == true ]]; then - echo "### Running Upgrade tests" - timeout \ - --kill-after 10m \ - 120m \ - ssh \ - "${SSHOPTS[@]}" \ - "root@${IP}" \ - openshift-tests \ - run-upgrade \ - ${TEST_ARGS} \ - --to-image "$OPENSHIFT_UPGRADE_RELEASE_IMAGE" \ - -o /tmp/artifacts/e2e-upgrade.log \ - --junit-dir /tmp/artifacts/junit-upgrade \ - platform -else - if [[ -s "${SHARED_DIR}/test-list" ]]; then - echo "### Copying test-list file" - scp \ - "${SSHOPTS[@]}" \ - "${SHARED_DIR}/test-list" \ - "root@${IP}:/tmp/test-list" - echo "### Running tests" - timeout \ - --kill-after 10m \ - 120m \ - ssh \ - "${SSHOPTS[@]}" \ - "root@${IP}" \ - openshift-tests \ - run \ - "openshift/conformance" \ - --dry-run \ - \| grep -Ff /tmp/test-list \|openshift-tests run ${TEST_ARGS} -o /tmp/artifacts/e2e.log --junit-dir /tmp/artifacts/junit -f - +case "${CLUSTER_TYPE}" in +packet) + # shellcheck source=/dev/null + source "${SHARED_DIR}/packet-conf.sh" + # shellcheck source=/dev/null + source "${SHARED_DIR}/ds-vars.conf" + copy_test_binaries + export TEST_PROVIDER=\"\" + + echo "### Checking release version" + # Mirroring test images is supported only for versions greater than or equal to 4.7 + if printf '%s\n%s' "4.7" "${DS_OPENSHIFT_VERSION}" | sort -C -V; then + mirror_test_images else - echo "### Running tests" - ssh \ - "${SSHOPTS[@]}" \ - "root@${IP}" \ - openshift-tests \ - run \ - "openshift/conformance/parallel" \ - --dry-run \ - \| grep 'Feature:ProjectAPI' \| openshift-tests run ${TEST_ARGS} -o /tmp/artifacts/e2e.log --junit-dir /tmp/artifacts/junit -f - + use_minimal_test_list fi -fi + ;; +*) echo >&2 "Unsupported cluster type '${CLUSTER_TYPE}'"; exit 1;; +esac + +function upgrade() { + set -x + ssh "${SSHOPTS[@]}" "root@${IP}" \ + openshift-tests run-upgrade all \ + --to-image "${OPENSHIFT_UPGRADE_RELEASE_IMAGE_OVERRIDE}" \ + --provider "${TEST_PROVIDER}" \ + -o "/tmp/artifacts/e2e.log" \ + --junit-dir "/tmp/artifacts/junit" + set +x +} -rv=$? +function suite() { + if [[ -n "${TEST_SKIPS}" ]]; then + TESTS="$(ssh "${SSHOPTS[@]}" "root@${IP}" openshift-tests run --dry-run --provider "${TEST_PROVIDER}" "${TEST_SUITE}")" + echo "${TESTS}" | grep -v "${TEST_SKIPS}" >/tmp/tests + echo "Skipping tests:" + echo "${TESTS}" | grep "${TEST_SKIPS}" + TEST_ARGS="${TEST_ARGS:-} --file /tmp/tests" + fi + + scp "${SSHOPTS[@]}" /tmp/tests "root@${IP}:/tmp/tests" + + set -x + ssh "${SSHOPTS[@]}" "root@${IP}" \ + openshift-tests run "${TEST_SUITE}" "${TEST_ARGS:-}" \ + --provider "${TEST_PROVIDER}" \ + -o "/tmp/artifacts/e2e.log" \ + --junit-dir "/tmp/artifacts/junit" + set +x +} -set -e -echo "### Done! (${rv})" -exit $rv +echo "$(date +%s)" > "${SHARED_DIR}/TEST_TIME_TEST_START" + +case "${TEST_TYPE}" in +upgrade-conformance) + upgrade + TEST_LIMIT_START_TIME="$(date +%s)" TEST_SUITE=openshift/conformance/parallel suite + ;; +upgrade) + upgrade + ;; +suite-conformance) + suite + TEST_LIMIT_START_TIME="$(date +%s)" TEST_SUITE=openshift/conformance/parallel suite + ;; +suite) + suite + ;; +*) + echo >&2 "Unsupported test type '${TEST_TYPE}'" + exit 1 + ;; +esac \ No newline at end of file diff --git a/ci-operator/step-registry/baremetalds/e2e/test/baremetalds-e2e-test-ref.yaml b/ci-operator/step-registry/baremetalds/e2e/test/baremetalds-e2e-test-ref.yaml index dc931c35fc97a..0ca73692bdd7e 100644 --- a/ci-operator/step-registry/baremetalds/e2e/test/baremetalds-e2e-test-ref.yaml +++ b/ci-operator/step-registry/baremetalds/e2e/test/baremetalds-e2e-test-ref.yaml @@ -2,6 +2,7 @@ ref: as: baremetalds-e2e-test from: tests commands: baremetalds-e2e-test-commands.sh + timeout: 10800s resources: requests: cpu: "3" @@ -11,9 +12,322 @@ ref: env: - name: RUN_UPGRADE_TEST default: "false" - documentation: If the value is equal to "true", run only the upgrade tests + documentation: Not used anymore. It is necessary to remove its definition from all the jobs before removing it from this step + - name: TEST_TYPE + default: "suite" + documentation: | + The type of test to perform. + * 'suite' - Run the test suite defined by TEST_SUITE. By default this executes the + OpenShift parallel conformance suite. All product components must run the + default suite on pull requests prior to merge. + * 'suite-conformance' - Runs the test suite defined by TEST_SUITE, then runs the product conformance + suite to verify the cluster is still functional. This is typically used for testing + disruption from one suite, then confirming that the disruption did not degrade the + product. + * 'upgrade' - Perform an upgrade to the image defined by OPENSHIFT_UPGRADE_RELEASE_IMAGE_OVERRIDE. + The TEST_UPGRADE_OPTIONS flag may be optionally set. All product components + must run the default upgrade test (verify an upgrade completes) on pull requests + prior to merge. + * 'upgrade-conformance' - Performs the 'upgrade' test and then executes the full conformance + suite after upgrade completes. Does not honor TEST_SUITE but will respect + TEST_UPGRADE_OPTIONS. All product releases must pass the conformance suite after + an upgrade completes or have explicit logic in their test to tolerate behavior after + upgrade. + - name: TEST_SUITE + default: openshift/conformance/parallel + documentation: The test suite to run. Use 'openshift-test run --help' to list available suites. + - name: TEST_SKIPS + default: |- + \[Conformance\]\[sig-api-machinery\]\[Feature:APIServer\] local kubeconfig .* should be present on all masters and work \[Suite:openshift/conformance/parallel/minimal\] + \[k8s.io\] Container Runtime blackbox test when running a container with a new image should be able to pull from private registry with secret \[NodeConformance\] \[sig-node\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[k8s.io\] \[sig-node\] Pods Extended \[k8s.io\] Pod Container Status should never report success for a pending container \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-api-machinery\] API priority and fairness should ensure that requests can be classified by testing flow-schemas/priority-levels \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-api-machinery\] CustomResourcePublishOpenAPI \[Privileged:ClusterAdmin\] works for CRD with validation schema \[Conformance\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-api-machinery\]\[Feature:APIServer\]\[Late\] kube-apiserver terminates within graceful termination period \[Suite:openshift/conformance/parallel\] + \[sig-api-machinery\]\[Feature:APIServer\]\[Late\] kubelet terminates kube-apiserver gracefully \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs should adhere to Three Laws of Controllers \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs adoption will orphan all RCs and adopt them back when recreated \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs generation should deploy based on a status version bump \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs keep the deployer pod invariant valid should deal with cancellation after deployer pod succeeded \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs paused should disable actions on deployments \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs rolled back should rollback to an older deployment \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs should respect image stream tag reference policy resolve the image pull spec \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs viewing rollout history should print the rollout history \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs when changing image change trigger should successfully trigger from an updated image \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs when run iteratively should only deploy the last deployment \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs when tagging images should successfully tag the deployed image \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs with custom deployments should run the custom deployment steps \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs with enhanced status should include various info in status \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs with env in params referencing the configmap should expand the config map key to a value \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs with failing hook should get all logs from retried hooks \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs with minimum ready seconds set should not transition the deployment to Complete before satisfied \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs with multiple image change triggers should run a successful deployment with a trigger used by different containers \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs with multiple image change triggers should run a successful deployment with multiple triggers \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs with revision history limits should never persist more old deployments than acceptable after being observed by the controller \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs with test deployments should run a deployment to completion and then scale to zero \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:DeploymentConfig\] deploymentconfigs won't deploy RC with unresolved images when patched with empty image \[Suite:openshift/conformance/parallel\] + \[sig-apps\]\[Feature:Jobs\] Users should be able to create and run a job in a user project \[Suite:openshift/conformance/parallel\] + \[sig-arch\] Managed cluster should ensure control plane pods do not run in best-effort QoS \[Suite:openshift/conformance/parallel\] + \[sig-arch\] Managed cluster should have no crashlooping pods in core namespaces over four minutes \[Suite:openshift/conformance/parallel\] + \[sig-arch\] Managed cluster should only include cluster daemonsets that have maxUnavailable update of 10 or 33 percent \[Suite:openshift/conformance/parallel\] + \[sig-arch\]\[Early\] Managed cluster should start all core operators \[Suite:openshift/conformance/parallel\] + \[sig-auth\] \[Feature:NodeAuthenticator\] The kubelet can delegate ServiceAccount tokens to the API server \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-auth\] \[Feature:NodeAuthenticator\] The kubelet's main port 10250 should reject requests with no credentials \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-auth\]\[Feature:HTPasswdAuth\] HTPasswd IDP should successfully configure htpasswd and be responsive \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:LDAP\] LDAP IDP should authenticate against an ldap server \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Headers\] expected headers returned from the authorize URL \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Headers\] expected headers returned from the grant URL \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Headers\] expected headers returned from the login URL for the allow all IDP \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Headers\] expected headers returned from the login URL for the bootstrap IDP \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Headers\] expected headers returned from the login URL for when there is only one IDP \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Headers\] expected headers returned from the logout URL \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Headers\] expected headers returned from the root URL \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Headers\] expected headers returned from the token URL \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Headers\] expected headers returned from the token request URL \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Token Expiration\] Using a OAuth client with a non-default token max age to generate tokens that do not expire works as expected when using a code authorization flow \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Token Expiration\] Using a OAuth client with a non-default token max age to generate tokens that do not expire works as expected when using a token authorization flow \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Token Expiration\] Using a OAuth client with a non-default token max age to generate tokens that expire shortly works as expected when using a code authorization flow \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:OAuthServer\] \[Token Expiration\] Using a OAuth client with a non-default token max age to generate tokens that expire shortly works as expected when using a token authorization flow \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:SCC\]\[Early\] should not have pod creation failures during install \[Suite:openshift/conformance/parallel\] + \[sig-auth\]\[Feature:SecurityContextConstraints\] TestPodDefaultCapabilities \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] Multi-stage image builds should succeed \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] Optimized image builds should succeed \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] build can reference a cluster service with a build being created from new-build should be able to run a build that references a cluster service \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] build have source revision metadata started build should contain source revision information \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] build with empty source started build should build even with an empty source in build config \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] build without output image building from templates should create an image from a S2i template without an output image reference defined \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] build without output image building from templates should create an image from a docker template without an output image reference defined \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] clone repository using git:// protocol should clone using git:// if no proxy is configured \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] custom build with buildah being created from new-build should complete build with custom builder image \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] imagechangetriggers imagechangetriggers should trigger builds of all types \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] oc new-app should fail with a --name longer than 58 characters \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] oc new-app should succeed with a --name of 58 characters \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] oc new-app should succeed with an imagestream \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] prune builds based on settings in the buildconfig buildconfigs should have a default history limit set when created via the group api \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] prune builds based on settings in the buildconfig should prune builds after a buildConfig change \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] prune builds based on settings in the buildconfig should prune canceled builds based on the failedBuildsHistoryLimit setting \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] prune builds based on settings in the buildconfig should prune completed builds based on the successfulBuildsHistoryLimit setting \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] prune builds based on settings in the buildconfig should prune errored builds based on the failedBuildsHistoryLimit setting \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] prune builds based on settings in the buildconfig should prune failed builds based on the failedBuildsHistoryLimit setting \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] result image should have proper labels set Docker build from a template should create a image from .* template with proper Docker labels \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] result image should have proper labels set S2I build from a template should create a image from .* template with proper Docker labels \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] s2i build with a quota Building from a template should create an s2i build with a quota and run it \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] s2i build with a root user image should create a root build and pass with a privileged SCC \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] verify /run filesystem contents are writeable using a simple Docker Strategy Build \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\] verify /run filesystem contents do not have unexpected content using a simple Docker Strategy Build \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\]\[pullsecret\] docker build using a pull secret Building from a template should create a docker build that pulls using a secret run it \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\]\[timing\] capture build stages and durations should record build stages and durations for docker \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\]\[timing\] capture build stages and durations should record build stages and durations for s2i \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\]\[valueFrom\] process valueFrom in build strategy environment variables should fail resolving unresolvable valueFrom in docker build environment variable references \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\]\[valueFrom\] process valueFrom in build strategy environment variables should fail resolving unresolvable valueFrom in sti build environment variable references \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\]\[valueFrom\] process valueFrom in build strategy environment variables should successfully resolve valueFrom in docker build environment variables \[Suite:openshift/conformance/parallel\] + \[sig-builds\]\[Feature:Builds\]\[valueFrom\] process valueFrom in build strategy environment variables should successfully resolve valueFrom in s2i build environment variables \[Suite:openshift/conformance/parallel\] + \[sig-cli\] CLI can run inside of a busybox container \[Suite:openshift/conformance/parallel\] + \[sig-cli\] oc adm must-gather runs successfully \[Suite:openshift/conformance/parallel\] + \[sig-cli\] oc adm must-gather runs successfully for audit logs \[Suite:openshift/conformance/parallel\] + \[sig-cli\] oc adm must-gather runs successfully with options \[Suite:openshift/conformance/parallel\] + \[sig-cli\] oc debug deployment configs from a build \[Suite:openshift/conformance/parallel\] + \[sig-cli\] oc debug does not require a real resource on the server \[Suite:openshift/conformance/parallel\] + \[sig-cli\] oc debug ensure it works with image streams \[Suite:openshift/conformance/parallel\] + \[sig-cli\] oc explain should contain proper fields description for special types \[Suite:openshift/conformance/parallel\] + \[sig-cli\] oc explain should contain proper spec+status for CRDs \[Suite:openshift/conformance/parallel\] + \[sig-cli\] oc observe works as expected \[Suite:openshift/conformance/parallel\] + \[sig-cli\] oc rsh rsh specific flags should work well when access to a remote shell \[Suite:openshift/conformance/parallel\] + \[sig-cli\] oc rsh specific flags should work well when access to a remote shell \[Suite:openshift/conformance/parallel\] + \[sig-cluster-lifecycle\] Pods cannot access the /config/master API endpoint \[Suite:openshift/conformance/parallel\] + \[sig-devex\] check registry.redhat.io is available and samples operator can import sample imagestreams run sample related validations \[Suite:openshift/conformance/parallel\] + \[sig-devex\]\[Feature:Templates\] templateinstance readiness test should report failed soon after an annotated objects has failed \[Suite:openshift/conformance/parallel\] + \[sig-devex\]\[Feature:Templates\] templateinstance readiness test should report ready soon after all annotated objects are ready \[Suite:openshift/conformance/parallel\] + \[sig-imageregistry\]\[Feature:ImageAppend\] Image append should create images by appending them \[Suite:openshift/conformance/parallel\] + \[sig-imageregistry\]\[Feature:ImageExtract\] Image extract should extract content from an image \[Suite:openshift/conformance/parallel\] + \[sig-imageregistry\]\[Feature:ImageInfo\] Image info should display information about images \[Suite:openshift/conformance/parallel\] + \[sig-imageregistry\]\[Feature:ImageLayers\] Image layer subresource should return layers from tagged images \[Suite:openshift/conformance/parallel\] + \[sig-imageregistry\]\[Feature:ImageLookup\] Image policy should perform lookup when the Deployment gets the resolve-names annotation later \[Suite:openshift/conformance/parallel\] + \[sig-imageregistry\]\[Feature:ImageLookup\] Image policy should perform lookup when the object has the resolve-names annotation \[Suite:openshift/conformance/parallel\] + \[sig-imageregistry\]\[Feature:ImageLookup\] Image policy should update standard Kube object image fields when local names are on \[Suite:openshift/conformance/parallel\] + \[sig-imageregistry\]\[Feature:ImageTriggers\] Annotation trigger reconciles after the image is overwritten \[Suite:openshift/conformance/parallel\] + \[sig-imageregistry\]\[Feature:Image\] oc tag should change image reference for internal images \[Suite:openshift/conformance/parallel\] + \[sig-imageregistry\]\[Feature:Image\] oc tag should preserve image reference for external images \[Suite:openshift/conformance/parallel\] + \[sig-imageregistry\]\[Feature:Image\] oc tag should work when only imagestreams api is available \[Suite:openshift/conformance/parallel\] + \[sig-instrumentation\] Prometheus when installed on the cluster should have a AlertmanagerReceiversNotConfigured alert in firing state \[Suite:openshift/conformance/parallel\] + \[sig-instrumentation\] Prometheus when installed on the cluster should have important platform topology metrics \[Suite:openshift/conformance/parallel\] + \[sig-instrumentation\] Prometheus when installed on the cluster should have non-Pod host cAdvisor metrics \[Suite:openshift/conformance/parallel\] + \[sig-instrumentation\] Prometheus when installed on the cluster should provide ingress metrics \[Suite:openshift/conformance/parallel\] + \[sig-instrumentation\] Prometheus when installed on the cluster should provide named network metrics \[Suite:openshift/conformance/parallel\] + \[sig-instrumentation\] Prometheus when installed on the cluster should start and expose a secured proxy and unsecured metrics \[Suite:openshift/conformance/parallel\] + \[sig-instrumentation\] Prometheus when installed on the cluster shouldn't have failing rules evaluation \[Suite:openshift/conformance/parallel\] + \[sig-instrumentation\] Prometheus when installed on the cluster shouldn't report any alerts in firing state apart from Watchdog and AlertmanagerReceiversNotConfigured \[Early\] \[Suite:openshift/conformance/parallel\] + \[sig-instrumentation\]\[Late\] Alerts should have a Watchdog alert in firing state the entire cluster run \[Suite:openshift/conformance/parallel\] + \[sig-instrumentation\]\[Late\] Alerts shouldn't report any alerts in firing state apart from Watchdog and AlertmanagerReceiversNotConfigured \[Suite:openshift/conformance/parallel\] + \[sig-instrumentation\]\[sig-builds\]\[Feature:Builds\] Prometheus when installed on the cluster should start and expose a secured proxy and verify build metrics \[Suite:openshift/conformance/parallel\] + \[sig-network-edge\]\[Conformance\]\[Area:Networking\]\[Feature:Router\] The HAProxy router should be able to connect to a service that is idled because a GET on the route will unidle it \[Suite:openshift/conformance/parallel/minimal\] + \[sig-network\] Conntrack should be able to preserve UDP traffic when server pod cycles for a ClusterIP service \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] Conntrack should be able to preserve UDP traffic when server pod cycles for a NodePort service \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] DNS should provide /etc/hosts entries for the cluster \[LinuxOnly\] \[Conformance\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] DNS should provide DNS for ExternalName services \[Conformance\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] DNS should provide DNS for pods for Hostname \[LinuxOnly\] \[Conformance\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] DNS should provide DNS for pods for Subdomain \[Conformance\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] DNS should provide DNS for services \[Conformance\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] DNS should provide DNS for the cluster \[Conformance\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] DNS should resolve DNS of partial qualified names for services \[LinuxOnly\] \[Conformance\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] DNS should resolve DNS of partial qualified names for the cluster \[LinuxOnly\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] Internal connectivity for TCP and UDP on ports 9000-9999 is allowed \[Suite:openshift/conformance/parallel\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should allow egress access on one named port \[Feature:NetworkPolicy\] \[Skipped:Network/OVNKubernetes\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Skipped:Network/OpenShiftSDN\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should allow egress access to server in CIDR block \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Skipped:Network/OpenShiftSDN\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should allow ingress access from namespace on one named port \[Feature:NetworkPolicy\] \[Skipped:Network/OVNKubernetes\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Skipped:Network/OpenShiftSDN\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should allow ingress access from updated namespace \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should allow ingress access from updated pod \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should allow ingress access on one named port \[Feature:NetworkPolicy\] \[Skipped:Network/OVNKubernetes\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Skipped:Network/OpenShiftSDN\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should deny ingress access to updated pod \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce egress policy allowing traffic to a server in a different namespace based on PodSelector and NamespaceSelector \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Skipped:Network/OpenShiftSDN\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce except clause while egress access to server in CIDR block \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Skipped:Network/OpenShiftSDN\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce multiple egress policies with egress allow-all policy taking precedence \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Skipped:Network/OpenShiftSDN\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce multiple ingress policies with ingress allow-all policy taking precedence \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce multiple, stacked policies with overlapping podSelectors \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce policies to check ingress and egress policies can be controlled independently based on PodSelector \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Skipped:Network/OpenShiftSDN\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce policy based on NamespaceSelector with MatchExpressions\[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce policy based on PodSelector and NamespaceSelector \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce policy based on PodSelector or NamespaceSelector \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce policy based on PodSelector with MatchExpressions\[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce policy based on Ports \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce policy to allow traffic from pods within server namespace based on PodSelector \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce policy to allow traffic only from a different namespace, based on NamespaceSelector \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce policy to allow traffic only from a pod in a different namespace based on PodSelector and NamespaceSelector \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should enforce updated policy \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should ensure an IP overlapping both IPBlock.CIDR and IPBlock.Except is allowed \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Skipped:Network/OpenShiftSDN\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should not allow access by TCP when a policy specifies only SCTP \[Feature:NetworkPolicy\] \[Feature:SCTP\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should stop enforcing policies after they are deleted \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should support a 'default-deny-all' policy \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Skipped:Network/OpenShiftSDN\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should support a 'default-deny-ingress' policy \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should support allow-all policy \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] NetworkPolicy \[LinuxOnly\] NetworkPolicy between server and client should work with Ingress,Egress specified together \[Feature:NetworkPolicy\] \[Skipped:Network/OpenShiftSDN/Multitenant\] \[Skipped:Network/OpenShiftSDN\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] Networking Granular Checks: Services should function for client IP based session affinity: udp \[LinuxOnly\] \[Skipped:Network/OVNKubernetes\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] Networking should provide Internet connection for containers \[Feature:Networking-IPv4\] \[Skipped:azure\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-network\] Services should be able to switch session affinity for NodePort service \[LinuxOnly\] \[Conformance\] \[Skipped:Network/OVNKubernetes\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] Services should be able to switch session affinity for service with type clusterIP \[LinuxOnly\] \[Conformance\] \[Skipped:Network/OVNKubernetes\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] Services should have session affinity timeout work for NodePort service \[LinuxOnly\] \[Conformance\] \[Skipped:Network/OVNKubernetes\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] Services should have session affinity timeout work for service with type clusterIP \[LinuxOnly\] \[Conformance\] \[Skipped:Network/OVNKubernetes\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] Services should have session affinity work for NodePort service \[LinuxOnly\] \[Conformance\] \[Skipped:Network/OVNKubernetes\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] Services should have session affinity work for service with type clusterIP \[LinuxOnly\] \[Conformance\] \[Skipped:Network/OVNKubernetes\] \[Suite:openshift/conformance/parallel/minimal\] \[Suite:k8s\] + \[sig-network\] services basic functionality should allow connections to another pod on a different node via a service IP \[Suite:openshift/conformance/parallel\] + \[sig-network\] services basic functionality should allow connections to another pod on the same node via a service IP \[Suite:openshift/conformance/parallel\] + \[sig-network\] services when using a plugin that does not isolate namespaces by default should allow connections to pods in different namespaces on different nodes via service IPs \[Suite:openshift/conformance/parallel\] + \[sig-network\] services when using a plugin that does not isolate namespaces by default should allow connections to pods in different namespaces on the same node via service IPs \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should enable openshift-monitoring to pull metrics \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should expose a health check on the metrics port \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should expose prometheus metrics for a route \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should expose the profiling endpoints \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should override the route host for overridden domains with a custom value \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should override the route host with a custom value \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should respond with 503 to unrecognized hosts \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should run even if it has no access to update status \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should serve a route that points to two services and respect weights \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should serve routes that were created from an ingress \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should serve the correct routes when scoped to a single namespace and label set \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[Feature:Router\] The HAProxy router should support reencrypt to services backed by a serving certificate automatically \[Suite:openshift/conformance/parallel\] + \[sig-network\]\[endpoints\] admission TestEndpointAdmission \[Suite:openshift/conformance/parallel\] + \[sig-node\] Managed cluster should report ready nodes the entire duration of the test run \[Late\] \[Suite:openshift/conformance/parallel\] + \[sig-operator\] an end user can use OLM can subscribe to the operator \[Suite:openshift/conformance/parallel\] + \[sig-storage\] GCP Volumes GlusterFS should be mountable \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Inline-volume (default fs)\] subPath should be able to unmount after the subpath directory is deleted \[LinuxOnly\] \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Inline-volume (default fs)\] subPath should support existing directories when readOnly specified in the volumeSource \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Inline-volume (default fs)\] subPath should support existing directory \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Inline-volume (default fs)\] subPath should support existing single file \[LinuxOnly\] \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Inline-volume (default fs)\] subPath should support file as subpath \[LinuxOnly\] \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Inline-volume (default fs)\] subPath should support non-existent path \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Inline-volume (default fs)\] subPath should support readOnly directory specified in the volumeMount \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Inline-volume (default fs)\] subPath should support readOnly file specified in the volumeMount \[LinuxOnly\] \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Inline-volume (default fs)\] volumes should allow exec of files on the volume \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Inline-volume (default fs)\] volumes should store data \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Pre-provisioned PV (default fs)\] subPath should be able to unmount after the subpath directory is deleted \[LinuxOnly\] \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Pre-provisioned PV (default fs)\] subPath should support existing directories when readOnly specified in the volumeSource \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Pre-provisioned PV (default fs)\] subPath should support existing directory \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Pre-provisioned PV (default fs)\] subPath should support existing single file \[LinuxOnly\] \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Pre-provisioned PV (default fs)\] subPath should support file as subpath \[LinuxOnly\] \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Pre-provisioned PV (default fs)\] subPath should support non-existent path \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Pre-provisioned PV (default fs)\] subPath should support readOnly directory specified in the volumeMount \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Pre-provisioned PV (default fs)\] subPath should support readOnly file specified in the volumeMount \[LinuxOnly\] \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Pre-provisioned PV (default fs)\] volumes should allow exec of files on the volume \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: gluster\] \[Testpattern: Pre-provisioned PV (default fs)\] volumes should store data \[Skipped:ibmcloud\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: nfs\] \[Testpattern: Dynamic PV (default fs)\] provisioning should provision storage with mount options \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: nfs\] \[Testpattern: Dynamic PV (default fs)\] subPath should support existing directories when readOnly specified in the volumeSource \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: nfs\] \[Testpattern: Dynamic PV (default fs)\] subPath should support existing directory \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: nfs\] \[Testpattern: Dynamic PV (default fs)\] subPath should support existing single file \[LinuxOnly\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: nfs\] \[Testpattern: Dynamic PV (default fs)\] subPath should support file as subpath \[LinuxOnly\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: nfs\] \[Testpattern: Dynamic PV (default fs)\] subPath should support non-existent path \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: nfs\] \[Testpattern: Dynamic PV (default fs)\] subPath should support readOnly directory specified in the volumeMount \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: nfs\] \[Testpattern: Dynamic PV (default fs)\] subPath should support readOnly file specified in the volumeMount \[LinuxOnly\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: nfs\] \[Testpattern: Dynamic PV (default fs)\] volumes should allow exec of files on the volume \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: nfs\] \[Testpattern: Dynamic PV (default fs)\] volumes should store data \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\] In-tree Volumes \[Driver: nfs\] \[Testpattern: Pre-provisioned PV (default fs)\] subPath should support existing directory \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + \[sig-storage\]\[Late\] Metrics should report short attach times \[Suite:openshift/conformance/parallel\] + \[sig-storage\]\[Late\] Metrics should report short mount times \[Suite:openshift/conformance/parallel\] + \[sig-network\] Networking Granular Checks: Services should function for client IP based session affinity: http \[LinuxOnly\] \[Skipped:Network/OVNKubernetes\] \[Suite:openshift/conformance/parallel\] \[Suite:k8s\] + documentation: Regular expression (POSIX basic regular expression) of tests to skip. Note that the current list it's just a temporary measure for the baremetal platform. + - name: TEST_UPGRADE_OPTIONS + default: "abort-at=100" + documentation: Options controlling how an upgrade is performed. See `openshift-test run-upgrade --help` for more details. + - name: TEST_MINIMAL_LIST + default: |- + "[k8s.io] Kubelet when scheduling a busybox command that always fails in a pod should be possible to delete [NodeConformance] [Conformance] [sig-node] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[k8s.io] Lease lease API should be available [Conformance] [sig-node] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[k8s.io] Probing container with readiness probe that fails should never be ready and never restart [NodeConformance] [Conformance] [sig-node] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[k8s.io] [sig-node] Pods Extended [k8s.io] Pods Set QOS Class should be set on Pods with matching resource requests and limits for memory and cpu [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourceDefinition Watch [Privileged:ClusterAdmin] CustomResourceDefinition Watch watch on custom resource definition objects [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourceDefinition resources [Privileged:ClusterAdmin] Simple CustomResourceDefinition creating/deleting custom resource definition objects works [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourceDefinition resources [Privileged:ClusterAdmin] Simple CustomResourceDefinition getting/updating/patching custom resource definition status sub-resource works [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourceDefinition resources [Privileged:ClusterAdmin] Simple CustomResourceDefinition listing custom resource definition objects works [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourceDefinition resources [Privileged:ClusterAdmin] custom resource defaulting for requests and from storage works [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourceDefinition resources [Privileged:ClusterAdmin] should include custom resource definition resources in discovery documents [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] removes definition from spec when one version gets changed to not be served [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] updates the published spec when one version gets renamed [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] works for CRD preserving unknown fields at the schema root [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] works for CRD preserving unknown fields in an embedded object [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] works for CRD with validation schema [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] works for CRD without validation schema [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] works for multiple CRDs of different groups [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] works for multiple CRDs of same group and version but different kinds [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] CustomResourcePublishOpenAPI [Privileged:ClusterAdmin] works for multiple CRDs of same group but different versions [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Garbage collector should delete RS created by deployment when not orphaning [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Garbage collector should delete pods created by rc when not orphaning [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Garbage collector should keep the rc around until all its pods are deleted if the deleteOptions says so [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Garbage collector should not be blocked by dependency circle [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Garbage collector should not delete dependents that have both valid owner and owner that's waiting for dependents to be deleted [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Garbage collector should orphan RS created by deployment when deleteOptions.PropagationPolicy is Orphan [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Garbage collector should orphan pods created by rc if delete options say so [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] ResourceQuota should be able to update and delete ResourceQuota. [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture the life of a configMap. [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture the life of a pod. [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture the life of a replica set. [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture the life of a replication controller. [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture the life of a secret. [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] ResourceQuota should create a ResourceQuota and capture the life of a service. [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] ResourceQuota should create a ResourceQuota and ensure its status is promptly calculated. [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] ResourceQuota should verify ResourceQuota with best effort scope. [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Secrets should fail to create secret due to empty secret key [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Secrets should patch a secret [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Servers with support for Table transformation should return a 406 for a backend which does not implement metadata [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Watchers should be able to restart watching from the last resource version observed by the previous watch [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Watchers should be able to start watching from a specific resource version [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Watchers should observe add, update, and delete watch notifications on configmaps [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Watchers should observe an object deletion if it stops meeting the requirements of the selector [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-api-machinery] Watchers should receive events on concurrent watches in same order [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-apps] ReplicationController should release no longer matching pods [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-apps] ReplicationController should surface a failure condition on a common issue like exceeded quota [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-auth] ServiceAccounts should allow opting out of API token automount [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-cli] Kubectl client Kubectl api-versions should check if v1 is in available api versions [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-cli] Kubectl client Kubectl version should check is all data is printed [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-cli] Kubectl client Proxy server should support --unix-socket=/path [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-cli] Kubectl client Proxy server should support proxy with --port 0 [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-network] Proxy version v1 should proxy logs on node using proxy subresource [Suite:openshift/conformance/parallel] [Suite:k8s]" + "[sig-network] Proxy version v1 should proxy logs on node with explicit kubelet port using proxy subresource [Suite:openshift/conformance/parallel] [Suite:k8s]" + "[sig-network] Services should find a service from listing all namespaces [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-network] Services should provide secure master service [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-node] ConfigMap should fail to create ConfigMap with empty key [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + "[sig-scheduling] LimitRange should create a LimitRange with defaults and ensure pod has those defaults applied. [Conformance] [Suite:openshift/conformance/parallel/minimal] [Suite:k8s]" + documentation: This is a minimal list of working tests to be used when test images mirroring is not supported by openshift-test (baremetal ipi only) dependencies: - name: "release:latest" - env: OPENSHIFT_UPGRADE_RELEASE_IMAGE + env: OPENSHIFT_UPGRADE_RELEASE_IMAGE_OVERRIDE documentation: |- The Baremtal DS E2E step executes the common end-to-end test suite. diff --git a/ci-operator/step-registry/baremetalds/e2e/upgrade/baremetalds-e2e-upgrade-workflow.yaml b/ci-operator/step-registry/baremetalds/e2e/upgrade/baremetalds-e2e-upgrade-workflow.yaml index 4a7db38019657..a994b56a5b0fb 100644 --- a/ci-operator/step-registry/baremetalds/e2e/upgrade/baremetalds-e2e-upgrade-workflow.yaml +++ b/ci-operator/step-registry/baremetalds/e2e/upgrade/baremetalds-e2e-upgrade-workflow.yaml @@ -12,9 +12,11 @@ workflow: post: - ref: baremetalds-devscripts-gather - ref: baremetalds-packet-teardown - env: - RUN_UPGRADE_TEST: "true" dependencies: - OPENSHIFT_INSTALL_RELEASE_IMAGE: release:initial + OPENSHIFT_INSTALL_RELEASE_IMAGE: "release:initial" + OPENSHIFT_UPGRADE_RELEASE_IMAGE_OVERRIDE: "release:latest" + env: + TEST_TYPE: upgrade + TEST_SUITE: "" documentation: |- This workflow executes the common end-to-end upgrade test suite on a cluster provisioned by running dev-scripts on a packet server.