Use the steps at below link to setup automated builds via
release-tools.
https://github.com/kubernetes-csi/csi-release-tools
- add release-tools via git subtree
- update Makefile to use the release-tools/make
- add cloudbuild links from release-tools
- update Dockerfile that can be used for multi-arch by release tools
Signed-off-by: kmova <kiran.mova@mayadata.io>
Builds of external-snapshotter sometimes timed out because it builds
three images and that takes almost half an hour (the previous limit)
and more if the network is slow.
There's no good way to set timeouts per repo and a too high timeout
for shouldn't cause any issue, therefore the timeout gets increased
everywhere.
This PR installs snapshot CRDs and rbac rules from the repo
and installs snapshot controller from a local image if it is
a PR in external-snapshotter repo.
Otherwise it uses main or a stable version.
Kind 0.9.0 accesses the "bazel-out" directory with a relative path,
which only works when the command is invoked inside the Kubernetes
source code
directory (https://github.com/kubernetes-sigs/kind/issues/1910).
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.
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.
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.