Commit Graph

63 Commits

Author SHA1 Message Date
Patrick Ohly 522361ec9a prow.sh: only run alpha tests for latest Kubernetes release
Commit 7bcee13d79 added alpha feature gates for Kubernetes 1.19 in
the CSI_PROW_E2E_ALPHA_GATES_LATEST variable based on the comment in
https://github.com/kubernetes-csi/external-provisioner/pull/493#discussion_r502663402
that alpha testing only runs for the latest Kubernetes.

But some components (like external-health-monitor) are configured with
a single Prow job which runs the default set of tests on a stable
Kubernetes release (currently 1.17). Those tests used to include alpha
testing which then broke during Kind cluster startup because the
Kubernetes 1.19 feature gates weren't recognized by 1.17.

The solution is to disable alpha testing for Kubernetes != latest in
the default set of tests.
2020-10-27 13:12:26 +01:00
Patrick Ohly 7bcee13d79 prow.sh: update to kind 0.9, support Kubernetes 1.19
kind 0.9 adds support for recent Kubernetes releases like 1.19 and
simplifies configuration of feature gates and runtime config.

With Kubernetes 1.19, new feature gates were introduced which might
become relevant for the alpha Prow jobs.

The updated kind release comes with images for different Kubernetes
releases than the one before. To avoid breaking existing jobs,
the script now picks kind images automatically. As an additional
bonus, it then uses images with hash, i.e. it's less likely to break
if those image tags change because of a future kind release.
2020-10-17 11:25:52 +02:00
Patrick Ohly df518fbd6a prow.sh: usage of Bazel optional
Bazel makes sense in the Prow jobs because those often get invoked
with a pre-populated Bazel cache. But local invocation don't need it
and now can turn it off with CSI_PROW_USE_BAZEL=false.
2020-10-17 11:21:29 +02:00
xing-yang dde93b220e Update to snapshot-controller v3.0.0 2020-10-09 03:33:10 +00:00
Michelle Au 7100c1209e Only set staging registry when running canary job 2020-10-06 11:25:19 -07:00
Michelle Au e73c2ce531 Use staging registry for canary tests 2020-09-25 17:41:33 -07:00
Patrick Ohly 0979c09102 prow.sh: fix E2E suite for Kubernetes >= 1.18
It used to be necessary to override from where the E2E suite came on a
case-by-case basis (initially, testing was using a more recent suite
against an older Kubernetes). This should never become necessary again
and the lack of a specific entry for 1.18 already had the unintended
effect that Kubernetes 1.18 was tested with the suite from master, so
overall it is better to always use the E2E suite which matches
Kubernetes.
2020-08-14 15:03:02 +02:00
Patrick Ohly 3b4a2f1d95 prow.sh: fix installing Go for Kubernetes 1.19.0
Kubernetes 1.19.0 uses Go 1.15, but refers to it as 1.15.0. This broke
both the check whether we need to install 1.15 (because "go version"
reports 1.15, which didn't match 1.15.0) and then downloading the
release archive (because the URL also only uses 1.15).
2020-08-14 15:03:02 +02:00
Yibo Cai 43e50d6f64 prow.sh: enable building arm64 image 2020-06-16 10:59:05 +08:00
Patrick Ohly db0c2a7dc8 cloud build: initialize support for running commands in Dockerfile
If the Dockerfile needs to run some command, that step fails unless
QEMU is set up properly first:
      failed to solve: rpc error: code = Unknown desc = failed to load
      LLB: runtime execution on platform linux/ppc64le not supported
2020-06-04 10:52:04 +02:00
Patrick Ohly bd416901d4 cloud build: initial set of shared files
The approach taken here extends the existing support for
cross-compiling binaries on the build host and specifying the Go
compiler: Go is installed if needed (as in Prow testing), binaries are
build on the host, then one image is created for each platform, and
finally those are combined into a single multi-architecture image.
2020-05-28 10:31:35 +02:00
Grant Griffiths d8c76fee3e Support local snapshot RBAC for pull jobs
Signed-off-by: Grant Griffiths <grant@portworx.com>
2020-04-20 15:21:57 -07:00
Grant Griffiths 7edc1461ea Update snapshotter to version 2.0.1
Signed-off-by: Grant Griffiths <grant@portworx.com>
2020-03-11 10:48:03 -07:00
Patrick Ohly 3863a0f674 build for multiple platforms only in CI, add s390x
Developers should not be forced to build for all platforms by
default. We also don't want to copy-and-paste the go invocation for
each new platform.

To address both, the target platform(s) are now configurable via
BUILD_PLATFORMS and additional platforms are only enabled in the Prow
CI.

For now this serves as a test that the source actually compiles for
multiple platforms. Building images for different target platforms is a
different problem.
2020-03-04 11:39:24 +01:00
Patrick Ohly 7c5a89c8fc prow.sh: use 1.3.0 hostpath driver for testing
The final 1.3.0 release of the hostpath driver really uses the 1.3.0
driver image in its deployment, in contrast to the previous -rc
candidates which still used 1.2.0.
2020-02-14 10:17:23 +01:00
Kubernetes Prow Robot d717c8c48a
Merge pull request #69 from pohly/test-driver-config
prow.sh: generic driver installation
2020-02-10 09:07:55 -08:00
Patrick Ohly 5f74333a46 prow.sh: also configure feature gates for kubelet
That this hasn't been done before is an oversight. Apparently it
hasn't been a problem because there never have been feature gates that
mattered?
2020-02-10 14:39:39 +01:00
Patrick Ohly 84f78b120e prow.sh: generic driver installation
This relies on a slightly different deployment script: a "deploy.sh"
must exist which knows that it has to dump a test driver configurion
into the file pointed to with CSI_PROW_TEST_DRIVER, if that env
variable is set.

That way, we no longer need to know what capabilities the installed
driver has.
2020-02-10 14:36:41 +01:00
Kubernetes Prow Robot 23be652549
Merge pull request #65 from msau42/update-hostpath
Update hostpath driver version to get fix for connection-timeout
2020-01-09 17:48:34 -08:00
Michelle Au 6582f2ff3b Update hostpath driver version to get fix for connection-timeout 2020-01-09 17:25:38 -08:00
Grant Griffiths 8191eab6ff Update snapshotter to version v2.0.0
Signed-off-by: Grant Griffiths <grant@portworx.com>
2020-01-07 18:10:54 -08:00
Michelle Au 8b0316c7e4 Fix overriding of junit results by using unique names for each e2e run 2020-01-02 14:38:57 -08:00
saad-ali af9549b5a1 Update prow hostpath driver version to 1.3.0-rc2 2020-01-02 14:29:40 -08:00
Grant Griffiths fc80975954 Fix version_gt to work with kubernetes prefix
Signed-off-by: Grant Griffiths <grant@portworx.com>
2019-12-20 16:47:51 -08:00
Michelle Au b98b2aed08 Enable snapshot tests in 1.17 to be run in non-alpha jobs.
This requires adding one more parallel e2e test run with
a special focus flag because snapshot tests are still guarded
with a "[Feature:VolumeSnapshotDataSource]" tag. The setting that
skips all tests with "[Feature:.*]" has to be removed because it
overrides the focus.

We don't have serial snapshot tests yet. This needs to be modified
again if we add any in the future.
2019-12-16 19:13:38 -08:00
Kubernetes Prow Robot 771ca6f262
Merge pull request #49 from ggriffiths/prowsh_improve_version_gt
Improve snapshot-controller running check and version_gt to support multiple formats
2019-12-04 11:12:58 -08:00
Grant Griffiths 4ad69492c9 Improve snapshot pod running checks and improve version_gt
Signed-off-by: Grant Griffiths <grant@portworx.com>
2019-12-03 23:48:29 -08:00
Michelle Au 9a7a685ee1 Create a kind cluster with two worker nodes so that the topology feature can be tested. Test cases that test accessing volumes from multiple nodes need to be skipped 2019-12-02 17:45:57 -08:00
Sunny 80bba1fe20
Use kind v0.6.0
kind v0.6.0 appends the kubeconfig with the default config at
~/.kube/config.
2019-11-30 00:31:44 +05:30
Kubernetes Prow Robot 8adde494a5
Merge pull request #45 from ggriffiths/snapshot_beta_crds
Add snapshotter CRDs after cluster setup
2019-11-25 07:41:09 -08:00
Grant Griffiths 003c14b2d4 Add snapshotter CRDs after cluster setup
Signed-off-by: Grant Griffiths <grant@portworx.com>
2019-11-24 11:19:48 -08:00
Mucahit Kurt 1eaaaa1cb4 Delete kind cluster after tests run.
Inside a real Prow job it is better to clean up at runtime instead of leaving that to the Prow job cleanup code because the later sometimes times out.

Signed-off-by: Mucahit Kurt <mucahitkurt@gmail.com>
2019-11-21 17:31:18 +03:00
Kubernetes Prow Robot 4fcafece59
Merge pull request #43 from pohly/system-pod-logging
prow.sh: also log output of system containers
2019-11-05 18:29:01 -08:00
Patrick Ohly f41c1351a3 prow.sh: also log output of system containers
Depending on the error, those logs are needed to debug failures.
2019-11-05 16:40:29 +01:00
Patrick Ohly 23df4aef51 prow.sh: use vendor directory if available
This avoids dependencies on the Go module cache or the upstream code
hosting.
2019-11-04 15:21:49 +01:00
Michelle Au e0fde8c4f5 Add new variables for 1.16 and remove 1.13 2019-10-30 18:08:41 -07:00
Hemant Kumar 6208f6ab47 Enable hostpath expansion 2019-09-16 17:59:04 -04:00
Mucahit Kurt a8ea8bcc5c create 2-node kind cluster since topology support is added to hostpath driver
Signed-off-by: Mucahit Kurt <mucahitkurt@gmail.com>
2019-09-07 02:31:15 +03:00
Patrick Ohly 35ceaedcbd prow.sh: install dep if needed
"make test-vendor" depends on dep if the current project uses
dep. Without it, the vendor directory checking was skipped under Prow.
2019-08-29 15:28:21 +02:00
Michelle Au dc0a5d8380 Update kind to v0.5.0 2019-08-21 15:19:39 -07:00
Michelle Au f46191d9a8 Kubernetes master changed the way that releases are tagged, which needed
changes to kind. There are 3 changes made to prow.sh:

1. Use a master commit of kind that includes the fix for Kubernetes
master.
2. Use git clone instead of git checkout (shallow) to source Kubernetes.
This lets kind correctly figure out the Kubernetes release tag.
3. Build kind with make install. The kind fix was not working correctly
when built with go build.
2019-08-08 22:21:41 -07:00
Michelle Au 0c0dc300ca prow.sh: tag master images with a large version number 2019-07-15 12:42:20 -07:00
Michelle Au 4e31f078a2 Change default hostpath driver name to hostpath.csi.k8s.io 2019-07-11 17:45:28 -07:00
Michelle Au 4b6fa4a0bd Update hostpath version for sidecar testing to v1.2.0-rc2 2019-07-11 17:45:25 -07:00
Michelle Au ecc79187c5 Update kind to v0.4.0. This requires overriding Kubernetes versions
with specific patch versions that kind 0.4.0 supports. Also, feature
gate setting is only supported on 1.15+ due to
kind.sigs.k8s.io/v1alpha3 and kubeadm.k8s.io/v1beta2 dependencies.
2019-07-11 14:49:07 -07:00
Michelle Au a6f21d4054 Add variables for 1.15 2019-07-11 14:33:47 -07:00
Patrick Ohly b2f4e051d4 prow.sh: flexible test driver config
By moving the code into a separate function, other CSI drivers have a
chance to overwrite it. For the hostpath driver itself we need the
ability to set the driver name depending on which revision is getting
installed.
2019-07-08 21:58:53 +02:00
Patrick Ohly 0fafc663dc prow.sh: skip sanity testing if component doesn't support it
Whether a component supports sanity testing depends on the
component. For example, csi-driver-host-path enables it because it
makes sense there (and only there). Letting the prow.sh script decide
whether it actually runs simplifies the job definitions in test-infra.
2019-04-11 22:32:01 +02:00
Patrick Ohly 0b10f6a4b0 prow.sh: update csi-driver-host-path
This pulls in
https://github.com/kubernetes-csi/csi-driver-host-path/pull/37, which
turned out to be necessary for pre-submit testing of the
livenessprobe.
2019-04-11 13:37:43 +02:00
Patrick Ohly 7aaac22571 prow.sh: remove AllAlpha=all, part II
This was already meant to be done earlier in cda2fc5874.
While at it, extend the permanent TODO with guidance on future feature
gates.
2019-04-10 08:44:54 +02:00