Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update release-1.23 to go1.19 #113983

Merged
merged 21 commits into from Dec 21, 2022
Merged

Conversation

liggitt
Copy link
Member

@liggitt liggitt commented Nov 17, 2022

What type of PR is this?

/kind cleanup

What this PR does / why we need it:

Picks commits (from #113956 on top of #113416) needed to update release-1.23 to go1.19.

go1.18 goes out of support in ~Feb 2023. go1.19 is supported through ~August 2023, which covers the remainder of the 1.23 releases.

Historically, we haven't been able to reliably update release branches to new go versions. However, the go1.17 → go1.19 transition only has three changes we needed to adapt to (ErrDot LookPath errors, GC tuning changes, and removal of sha1 support by default), all of which we can adjust in-process to avoid changing release-1.23 behavior (once we get a go version containing https://go-review.googlesource.com/c/go/+/445656)

This PR includes commits from:

The golang.org/x/net update also happens to pick up the fix for CVE-2022-41717.

Before this can merge, 1.23 CI would need to be updated to use go1.19, so that gofmt and dependency CI checks pass (xref kubernetes/release#2822)

Which issue(s) this PR fixes:

xref #112408

Special notes for your reviewer:

Does this PR introduce a user-facing change?

Kubernetes 1.23 is now built with go1.19.4. To match behavior of previous Kubernetes 1.23 patch releases:
* `kube-apiserver` defaults the GOGC setting to 63, to approximate go1.17 garbage collection memory performance in heavily loaded API servers
* `kube-apiserver` defaults the GODEBUG x509sha1 setting to `x509sha1=1` to match go1.17 support for sha1 certificates

@k8s-ci-robot k8s-ci-robot added the do-not-merge/cherry-pick-not-approved Indicates that a PR is not yet approved to merge into a release branch. label Nov 17, 2022
@k8s-ci-robot k8s-ci-robot added this to the v1.23 milestone Nov 17, 2022
@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. area/apiserver area/cloudprovider area/code-generation area/dependency Issues or PRs related to dependency changes area/kubectl area/kubelet area/provider/gcp Issues or PRs related to gcp provider area/release-eng Issues or PRs related to the Release Engineering subproject area/test labels Nov 17, 2022
@k8s-ci-robot k8s-ci-robot added the kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API label Nov 17, 2022
@k8s-ci-robot k8s-ci-robot requested a review from a team November 17, 2022 22:37
@k8s-ci-robot k8s-ci-robot added sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. and removed do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Nov 17, 2022
@k8s-ci-robot k8s-ci-robot added sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. and removed lgtm "Looks good to me", indicates that a PR is ready to be merged. labels Dec 20, 2022
@liggitt
Copy link
Member Author

liggitt commented Dec 20, 2022

pushed to rebase to pick up #114264 and address a review comment from the 1.24 PR in this copy of the commit

@dchen1107
Copy link
Member

/lgtm
/approve from SIG Node

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

LGTM label has been added.

Git tree hash: d4b28a0fd50a04519e6d2c3b425ec105ba88f044

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 20, 2022
@liggitt
Copy link
Member Author

liggitt commented Dec 20, 2022

required pull-kubernetes-dependencies and pull-kubernetes-verify presubmits will go green once we switch presubmit CI to go1.19.4 (xref kubernetes/release#2832 and kubernetes/test-infra#28293)

edit: they are now green 🎉

@liggitt
Copy link
Member Author

liggitt commented Dec 21, 2022

interestingly, the pull-kubernetes-e2e-aks-engine-azure-disk-windows-dockershim-1-23 failure looks like that job now requires go1.18+:

# sigs.k8s.io/azuredisk-csi-driver/test/e2e
package sigs.k8s.io/azuredisk-csi-driver/test/e2e (test)
	imports sigs.k8s.io/azuredisk-csi-driver/test/e2e/testsuites
	imports sigs.k8s.io/azuredisk-csi-driver/test/utils/azure
	imports github.com/Azure/azure-sdk-for-go/sdk/azcore: build constraints exclude all Go files in /home/prow/go/src/sigs.k8s.io/azuredisk-csi-driver/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore
FAIL	sigs.k8s.io/azuredisk-csi-driver/test/e2e [setup failed]

all files in https://github.com/Azure/azure-sdk-for-go/blob/main/sdk/azcore require go1.18+

I can't find any evidence of that job ever having passed, but it may start passing once kubernetes/test-infra#28293 merges and CI switches to go1.19 and that build succeeds

edit: pull-kubernetes-e2e-aks-engine-azure-disk-windows-dockershim-1-23 now passes with CI go version updated to 1.19.4 🎉

@liggitt
Copy link
Member Author

liggitt commented Dec 21, 2022

pre-existing e2e flake

/retest

@liggitt
Copy link
Member Author

liggitt commented Dec 21, 2022

all green, cc @kubernetes/release-managers

🎁 Merry Christmas 🎄

SIG Node CI/Test Board automation moved this from Archive-it to PRs - Needs Approver Dec 21, 2022
Copy link
Member

@xmudrii xmudrii left a comment

Choose a reason for hiding this comment

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

/lgtm
/approve

@xmudrii xmudrii added the cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. label Dec 21, 2022
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/cherry-pick-not-approved Indicates that a PR is not yet approved to merge into a release branch. label Dec 21, 2022
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: BenTheElder, dchen1107, dims, liggitt, pohly, xmudrii

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 merged commit 92c9913 into kubernetes:release-1.23 Dec 21, 2022
SIG Node CI/Test Board automation moved this from PRs - Needs Approver to Done Dec 21, 2022
SIG Node PR Triage automation moved this from Needs Approver to Done Dec 21, 2022
@liggitt liggitt deleted the 1.23-go-1.19 branch December 21, 2022 22:57
@liggitt
Copy link
Member Author

liggitt commented Dec 22, 2022

watching post-submit signal on 92c9913 or later (will update as jobs run):

https://testgrid.k8s.io/sig-release-1.23-blocking:

https://testgrid.k8s.io/sig-release-1.23-informing:

@liggitt
Copy link
Member Author

liggitt commented Dec 22, 2022

post-submits all look just as good as they did prior to this merge

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. area/apiserver area/cloudprovider area/code-generation area/conformance Issues or PRs related to kubernetes conformance tests area/dependency Issues or PRs related to dependency changes area/e2e-test-framework Issues or PRs related to refactoring the kubernetes e2e test framework area/ipvs area/kubeadm area/kubectl area/kubelet area/network-policy Issues or PRs related to Network Policy subproject area/provider/gcp Issues or PRs related to gcp provider area/release-eng Issues or PRs related to the Release Engineering subproject area/test cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API 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. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/apps Categorizes an issue or PR as relevant to SIG Apps. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/autoscaling Categorizes an issue or PR as relevant to SIG Autoscaling. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/instrumentation Categorizes an issue or PR as relevant to SIG Instrumentation. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/release Categorizes an issue or PR as relevant to SIG Release. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. sig/storage Categorizes an issue or PR as relevant to SIG Storage. sig/testing Categorizes an issue or PR as relevant to SIG Testing. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on. wg/structured-logging Categorizes an issue or PR as relevant to WG Structured Logging.
Development

Successfully merging this pull request may close these issues.

None yet