Skip to content

Conversation

@ggriffiths
Copy link
Contributor

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Updates the release tools to latest upstream

Which issue(s) this PR fixes:
Fixes #385

Special notes for your reviewer:
n/a

Does this PR introduce a user-facing change?:

NONE

msau42 and others added 27 commits April 23, 2020 10:21
Update patch release notes generation command
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.
cloud build: initial set of shared files
"make push-multiarch" matched both push-multiarch and push-%.  This
seems to be none-deterministic and in at least one
repo (external-provisioner), make picked the wildcard rule which then
failed because there is no "multiarch" command.

This ambiguity gets resolved by instantiating the wildcard rules only
for existing commands. The advantage also is that "make
push-no-such-command" will fail with an obvious "No rule to make
target 'push-no-such-command'" instead of attempting to build the
command.
It's not a real file and thus should better be marked as phony.
Most repos inherit the default BUILD_PLATFORMS, which includes
Windows, but don't have the necessary Dockerfile.Windows yet. To
simplify the rollout of multiarch image builds, Windows binary
building continues to be tested (i.e. BUILD_PLATFORMS remains
unchanged), but push-multiarch skips Windows if the Dockerfile.Windows
is missing.
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
cloud build: initialize support for running commands in Dockerfile
As discussed in kubernetes/k8s.io#943, we want
to consolidate under k8s-staging-sig-storage.
prow.sh: enable building arm64 image
Signed-off-by: Animesh Kumar <animuz111@gmail.com>
Signed-off-by: Animesh Kumar <animuz111@gmail.com>
Go 1.15 was released and is the major version that Kubernetes 1.19.0
is going to use. There are probably bugs in the older 1.13.3 that were
fixed, so we should update.
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).
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.
@k8s-ci-robot k8s-ci-robot added release-note-none Denotes a PR that doesn't merit a release note. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. labels Oct 1, 2020
@k8s-ci-robot k8s-ci-robot requested a review from msau42 October 1, 2020 18:15
@k8s-ci-robot k8s-ci-robot requested a review from pohly October 1, 2020 18:15
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Oct 1, 2020
@xing-yang
Copy link
Collaborator

/retest

@ggriffiths
Copy link
Contributor Author

This fixed the build error mentioned in #385, but for some reason the jobs are failing to pull a few images.

@ggriffiths
Copy link
Contributor Author

/retest

@ggriffiths ggriffiths force-pushed the r21_fix_build_install_go115 branch from cb596cc to 3a54364 Compare October 3, 2020 01:43
@k8s-ci-robot k8s-ci-robot added needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Oct 3, 2020
@ggriffiths ggriffiths force-pushed the r21_fix_build_install_go115 branch from 3a54364 to b7bba3e Compare October 3, 2020 01:44
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Oct 3, 2020
@ggriffiths
Copy link
Contributor Author

I think I found the problem. Latest release tools uses the new staging registry:
kubernetes-csi/csi-release-tools@e73c2ce

but, some of the images below are not there:

  1. gcr.io/k8s-staging-sig-storage/csi-attacher:v3.0.0-rc1
  2. gcr.io/k8s-staging-sig-storage/hostpathplugin:v1.4.0-rc2

I'm updating the release-tools here to a few commits before that to unblock PRs to external-snapshotter:release-2.1.

cc @xing-yang @msau42

@msau42
Copy link
Collaborator

msau42 commented Oct 3, 2020

I think what needs to happen is to release a new 1.4.1 of the hostpath driver with updated sidecars, and then we update gen-jobs in test-infra to use 1.4.1: https://github.com/kubernetes/test-infra/pull/19280/files#diff-96340ecad23cb8abd9aa581e9b2864ecR47. I can work on that next week.

In the meantime, updating release tools to before this commit is fine.

@ggriffiths
Copy link
Contributor Author

That sounds good! I can help with those updates as well.

@ggriffiths
Copy link
Contributor Author

/test pull-kubernetes-csi-external-snapshotter-1-19-on-kubernetes-1-19

@ggriffiths ggriffiths changed the title release-2.1: Update to latest release-tools release-2.1: Update release tools for go build fix Oct 3, 2020
@xing-yang
Copy link
Collaborator

This looks good to me.

@ggriffiths @msau42 anything else needs to be addressed in this PR before merging?

@msau42
Copy link
Collaborator

msau42 commented Oct 5, 2020

/lgtm
/approve

We'll address the remaining items as a followup

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 5, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ggriffiths, msau42

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

The pull request process is described 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 the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 5, 2020
@k8s-ci-robot k8s-ci-robot merged commit e3e1fb6 into kubernetes-csi:release-2.1 Oct 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesn't merit a release note. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants