Skip to content

Commit

Permalink
prow.sh: fix mock testing
Browse files Browse the repository at this point in the history
Mock testing was added in 74cfbc9 with the goal of increasing
test coverage and ensuring that the sidecars and driver work once
we try to use them in Kubernetes.

It turned out that this is problematic in "canary-on-<some old
Kubernetes>" jobs because those old Kubernetes version sometimes have
incompatible deployments (-provisioner argument in
external-provisioner!) because they did mock testing with much older
sidecars. Only testing against Kubernetes master is (relatively) save
and also more useful because that is where intend to use the sidecars.

Another issue was that filtering of JUnit entries did not preserve the
new mock volume entries.
  • Loading branch information
pohly committed May 26, 2021
1 parent d7146c7 commit 9e438f8
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions prow.sh
Original file line number Diff line number Diff line change
Expand Up @@ -303,10 +303,12 @@ tests_need_alpha_cluster () {
# in the e2e.test's normal YAML files.
#
# The default is to enable this for all jobs which use canary images
# because we want to know whether our release candidates will pass all
# existing tests (the storage testsuites and mock testing in
# Kubernetes).
configvar CSI_PROW_E2E_MOCK "$(if [ "${CSI_PROW_DRIVER_CANARY}" = "canary" ]; then echo true; else echo false; fi)" "enable CSI mock volume tests"
# and the latest Kubernetes because those images will be used for mock
# testing once they are released. Using them for mock testing with
# older Kubernetes releases is too risky because the deployment files
# can be very old (for example, still using a removed -provisioner
# parameter in external-provisioner).
configvar CSI_PROW_E2E_MOCK "$(if [ "${CSI_PROW_DRIVER_CANARY}" = "canary" ] && [ "${CSI_PROW_KUBERNETES_VERSION}" = "latest" ]; then echo true; else echo false; fi)" "enable CSI mock volume tests"

# Regex for non-alpha, feature-tagged tests that should be run.
#
Expand Down Expand Up @@ -981,7 +983,7 @@ run_e2e () (
# the full Kubernetes E2E testsuite while only running a few tests.
move_junit () {
if ls "${ARTIFACTS}"/junit_[0-9]*.xml 2>/dev/null >/dev/null; then
run_filter_junit -t="External Storage" -o "${ARTIFACTS}/junit_${name}.xml" "${ARTIFACTS}"/junit_[0-9]*.xml && rm -f "${ARTIFACTS}"/junit_[0-9]*.xml
run_filter_junit -t="External.Storage|CSI.mock.volume" -o "${ARTIFACTS}/junit_${name}.xml" "${ARTIFACTS}"/junit_[0-9]*.xml && rm -f "${ARTIFACTS}"/junit_[0-9]*.xml
fi
}
trap move_junit EXIT
Expand Down

0 comments on commit 9e438f8

Please sign in to comment.