Commit Graph

53 Commits

Author SHA1 Message Date
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
Patrick Ohly
cda2fc5874 prow.sh: avoid AllAlpha=true
It turned out to not work. Instead of reverting the commit which
introduced this, let's better document this explicitly.
2019-04-09 10:48:37 +02:00
Patrick Ohly
546d5504a1 prow.sh: debug failing KinD cluster creation
When KinD fails in a Prow job, we need additional information to
understand why it failed.
2019-04-09 10:48:37 +02:00
Patrick Ohly
aa45a1cd9b prow.sh: more efficient execution of individual tests
When running only some tests, sometimes extra, unnecessarily work was
done, like bringing up the cluster without alpha gates.
2019-04-09 10:48:37 +02:00
Patrick Ohly
f3d1d2df5c prow.sh: fix hostpath driver version check
The previous logic failed for canary jobs, those also deploy a recent
driver. Instead of guessing what driver gets installed based on job
parameters, check what really runs in the cluster and base the
decision on that.

We only need to maintain this blacklist for 1.0.x until we replace it
with 1.1.0, then this entire hostpath_supports_block can be removed.
2019-04-08 16:39:58 +02:00
Patrick Ohly
31dfaf31dc prow.sh: fix running of just "alpha" tests
"grep -w" treated "serial-alpha" as two words and therefore
CSI_PROW_TESTS sometimes ran too many tests.
2019-04-08 13:01:32 +02:00
Patrick Ohly
f5014439fc prow.sh: AllAlpha=true for unknown Kubernetes versions
This ensures that also new, currently unknown alpha gates are enabled
when testing against a future Kubernetes versions. For all currently
known Kubernetes versions we just use the minimal set of alpha gates,
which ensures that we don't miss any of them in our documentation.
2019-04-08 13:01:27 +02:00
Patrick Ohly
d87eccb46d prow.sh: switch back to upstream csi-driver-host-path
The temporary fork was merged, we can use the upstream repo again.
2019-04-03 14:59:33 +02:00
Patrick Ohly
6602d38bfb prow.sh: different E2E suite depending on Kubernetes version
Instead of always using the latest E2E tests for all Kubernetes
versions, the plan now is to use the tests that match the Kubernetes
version. However, for 1.13 we have to make an exception because the
suite for that version did not support the necessary
--storage.testdriver parameter.
2019-04-03 13:54:01 +02:00
Patrick Ohly
741319bd30 prow.sh: improve building Kubernetes from source
While switching back and forth between release-1.13 and release-1.14
locally, there was the problem that the local kind image kept using
the wrong kubelet binary despite rebuilding from source. The problem
went away after cleaning the Bazel cache. Exact root cause unknown,
but perhaps using unique tags and properly cleaning the repo helps.

If not, then the unique tags at least will show what the problem is.
2019-04-03 12:42:33 +02:00
Patrick Ohly
29545bb012 prow.sh: take Go version from Kubernetes source
Using the same (recent) Go version for all Kubernetes versions can
break for older versions when there are incompatible changes in Go. To
avoid that, we use exactly the minimum version of Go required for each
Kubernetes version. This is based on the assumption that this
combination was tested successfully.

When building the E2E suite from Kubernetes (the default) we do the
same, but still allow building it from elsewhere.

We allow the Go version to be empty when it doesn't matter.
2019-04-03 12:38:33 +02:00