Skip to content
This repository was archived by the owner on Dec 3, 2024. It is now read-only.

Conversation

@mkumatag
Copy link
Contributor

Fixes: #17

This PR reuses the build tools present in the csi-release-tools repository helps to build and push both binaries and the container images.

Followed the instructions mentioned here: https://github.com/kubernetes-csi/csi-release-tools#sharing-and-updating

xing-yang and others added 23 commits October 9, 2020 03:33
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.
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.
prow.sh: update to kind 0.9, support Kubernetes 1.19
Add go ldflags using LDFLAGS at the time of compilation
Commit 7bcee13 added alpha feature gates for Kubernetes 1.19 in
the CSI_PROW_E2E_ALPHA_GATES_LATEST variable based on the comment in
kubernetes-csi/external-provisioner#493 (comment)
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.0 accesses the "bazel-out" directory with a relative path,
which only works when the command is invoked inside the Kubernetes
source code
directory (kubernetes-sigs/kind#1910).
…uild-workaround

prow.sh: work around "kind build node-image" failure
prow.sh: only run alpha tests for latest Kubernetes release
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.
…shot_controller

Fix the install of snapshot CRDs and controller
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.
cloud build: double the timeout, now 1 hour
…82af4'

git-subtree-dir: release-tools
git-subtree-mainline: 20d2924
git-subtree-split: 3b6d17b
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: mkumatag
To complete the pull request process, please assign saad-ali after the PR has been reviewed.
You can assign the PR to them by writing /assign @saad-ali in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Dec 24, 2020
@mkumatag
Copy link
Contributor Author

/cc @brahmaroutu

@brahmaroutu
Copy link
Contributor

@mkumatag Please do not copy release-tools, Makefile fetches release-tools and we should just checkin a cloud build yaml.

$(shell cp -r ${TMP}/container-object-storage-interface-spec/release-tools ${CURDIR}/)
$(shell rm -rf ${TMP})
ln -s release-tools/travis.yml travis.yml
.PHONY: all cosi-controller-manager clean test
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will copy release-tools from spec.

@@ -0,0 +1 @@
./release-tools/cloudbuild.yaml No newline at end of file
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this file be maintained for the repo?

@wlan0
Copy link
Contributor

wlan0 commented Mar 10, 2021

needs a major rebase. Closing until that is done

@wlan0 wlan0 closed this Mar 10, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create cloudbuild.yaml for the post submit job.

8 participants