Skip to content

[WIP][DO NOT MERGE] releng: Image promotion for Kubernetes v1.19.0-rc.2 #1047

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

Closed
wants to merge 1 commit into from

Conversation

justaugustus
Copy link
Member

@justaugustus justaugustus commented Jul 20, 2020

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jul 20, 2020
@k8s-ci-robot k8s-ci-robot requested review from dougm and idealhack July 20, 2020 17:15
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: justaugustus

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 approved Indicates a PR has been approved by an approver from all required OWNERS files. area/release-eng Issues or PRs related to the Release Engineering subproject sig/release Categorizes an issue or PR as relevant to SIG Release. labels Jul 20, 2020
@justaugustus justaugustus changed the title [DO NOT MERGE] releng: Image promotion for Kubernetes v1.19.0-rc.2 [WIP][DO NOT MERGE] releng: Image promotion for Kubernetes v1.19.0-rc.2 Jul 20, 2020
@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 20, 2020
@justaugustus
Copy link
Member Author

FYI @kubernetes/release-engineering -- as @listx has kicked off the VDF, we'll need to start publishing images to the k8s-staging-kubernetes GCP project (ref: kubernetes/release#1230) and then promoting them to prod.

I put this PR up as an example in the interim.
A similar promotion PR should be created tomorrow after the mock stage and mock release.
It should opened with a /hold and not released until the official release job is successful

You can generate a similar PR by:

  • Ensuring you have an up-to-date copy of this repo

  • Forking/cloning https://github.com/kubernetes-sigs/k8s-container-image-promoter

  • From the root of k8s-container-image-promoter:

    go install ./cmd/cip-mm/... # Installs the manifest merge utility, cip-mm
  • From the root of this repo:

    cip-mm --base_dir=$GOPATH/src/k8s.io/k8s.io/k8s.gcr.io --staging_repo=gcr.io/k8s-staging-kubernetes --filter_tag=v1.19.0-rc.2

That command should generate output similar to:

$ time cip-mm --base_dir=$GOPATH/src/k8s.io/k8s.io/k8s.gcr.io --staging_repo=gcr.io/k8s-staging-kubernetes --filter_tag=v1.19.0-rc.2
I0720 13:13:35.620914 1083995 inventory.go:318] *looking at "/home/augustus/go/src/k8s.io/k8s.io/k8s.gcr.io"
I0720 13:13:35.819799 1083995 grow_manifest.go:156] 45 manifests parsed
I0720 13:13:36.454616 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube   false}: OK
I0720 13:13:36.455151 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance-amd64   false}: OK
I0720 13:13:36.460374 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance-arm64   false}: OK
I0720 13:13:36.468361 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance-arm   false}: OK
I0720 13:13:36.468607 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner   false}: OK
I0720 13:13:36.488630 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance-s390x   false}: OK
I0720 13:13:36.491567 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance-ppc64le   false}: OK
I0720 13:13:36.492043 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance   false}: OK
I0720 13:13:36.564991 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube-arm64   false}: OK
I0720 13:13:36.570984 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube-arm   false}: OK
I0720 13:13:36.587303 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube-amd64   false}: OK
I0720 13:13:36.590929 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver   false}: OK
I0720 13:13:36.596325 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube-ppc64le   false}: OK
I0720 13:13:36.597421 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver-amd64   false}: OK
I0720 13:13:36.599783 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube-s390x   false}: OK
I0720 13:13:36.600033 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux   false}: OK
I0720 13:13:36.612229 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver-arm   false}: OK
I0720 13:13:36.669579 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver-arm64   false}: OK
I0720 13:13:36.673768 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver-s390x   false}: OK
I0720 13:13:36.673819 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver-ppc64le   false}: OK
I0720 13:13:36.686636 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager-ppc64le   false}: OK
I0720 13:13:36.689571 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager   false}: OK
I0720 13:13:36.694216 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager-arm64   false}: OK
I0720 13:13:36.694446 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager-arm   false}: OK
I0720 13:13:36.695512 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager-amd64   false}: OK
I0720 13:13:36.711186 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux/amd64   false}: OK
I0720 13:13:36.770991 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy   false}: OK
I0720 13:13:36.781703 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux/s390x   false}: OK
I0720 13:13:36.782173 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy-amd64   false}: OK
I0720 13:13:36.782718 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux/arm   false}: OK
I0720 13:13:36.782751 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes   false}: OK
I0720 13:13:36.786247 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager-s390x   false}: OK
I0720 13:13:36.796397 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy-arm   false}: OK
I0720 13:13:36.797327 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux/ppc64le   false}: OK
I0720 13:13:36.797753 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux/arm64   false}: OK
I0720 13:13:36.808075 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy-arm64   false}: OK
I0720 13:13:36.871468 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy-ppc64le   false}: OK
I0720 13:13:36.891880 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler-arm64   false}: OK
I0720 13:13:36.895374 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler-s390x   false}: OK
I0720 13:13:36.900023 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause   false}: OK
I0720 13:13:36.901447 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler   false}: OK
I0720 13:13:36.903417 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause-amd64   false}: OK
I0720 13:13:36.907419 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler-ppc64le   false}: OK
I0720 13:13:36.908736 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler-amd64   false}: OK
I0720 13:13:36.940890 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler-arm   false}: OK
I0720 13:13:36.947175 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy-s390x   false}: OK
I0720 13:13:36.985656 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause-s390x   false}: OK
I0720 13:13:36.986174 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause-arm   false}: OK
I0720 13:13:36.995159 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause-arm64   false}: OK
I0720 13:13:36.995190 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause-ppc64le   false}: OK
I0720 13:13:36.995310 1083995 grow_manifest.go:139] RENDER /home/augustus/go/src/k8s.io/k8s.io/k8s.gcr.io/images/k8s-staging-kubernetes/images.yaml

real	0m1.391s
user	0m0.341s
sys	0m0.097s

From there, you should see updates to the k8s.gcr.io/images/k8s-staging-kubernetes/images.yaml.
Create a branch and a new PR with the new digests to promote, link the logs for the mock stage and mock release GCB jobs, and tag @kubernetes/release-engineering + /assign @justaugustus for approval.

/close

@k8s-ci-robot
Copy link
Contributor

@justaugustus: Closed this PR.

In response to this:

FYI @kubernetes/release-engineering -- as @listx has kicked off the VDF, we'll need to start publishing images to the k8s-staging-kubernetes GCP project (ref: kubernetes/release#1230) and then promoting them to prod.

I put this PR up as an example in the interim.
A similar promotion PR should be created tomorrow after the mock stage and mock release.
It should opened with a /hold and not released until the official release job is successful

You can generate a similar PR by:

go install ./cmd/cip-mm/... # Installs the manifest merge utility, cip-mm
  • From the root of this repo:
cip-mm --base_dir=$GOPATH/src/k8s.io/k8s.io/k8s.gcr.io --staging_repo=gcr.io/k8s-staging-kubernetes --filter_tag=v1.19.0-rc.2

That command should generate output similar to:

$ time cip-mm --base_dir=$GOPATH/src/k8s.io/k8s.io/k8s.gcr.io --staging_repo=gcr.io/k8s-staging-kubernetes --filter_tag=v1.19.0-rc.2
I0720 13:13:35.620914 1083995 inventory.go:318] *looking at "/home/augustus/go/src/k8s.io/k8s.io/k8s.gcr.io"
I0720 13:13:35.819799 1083995 grow_manifest.go:156] 45 manifests parsed
I0720 13:13:36.454616 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube   false}: OK
I0720 13:13:36.455151 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance-amd64   false}: OK
I0720 13:13:36.460374 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance-arm64   false}: OK
I0720 13:13:36.468361 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance-arm   false}: OK
I0720 13:13:36.468607 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner   false}: OK
I0720 13:13:36.488630 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance-s390x   false}: OK
I0720 13:13:36.491567 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance-ppc64le   false}: OK
I0720 13:13:36.492043 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/conformance   false}: OK
I0720 13:13:36.564991 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube-arm64   false}: OK
I0720 13:13:36.570984 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube-arm   false}: OK
I0720 13:13:36.587303 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube-amd64   false}: OK
I0720 13:13:36.590929 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver   false}: OK
I0720 13:13:36.596325 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube-ppc64le   false}: OK
I0720 13:13:36.597421 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver-amd64   false}: OK
I0720 13:13:36.599783 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/hyperkube-s390x   false}: OK
I0720 13:13:36.600033 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux   false}: OK
I0720 13:13:36.612229 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver-arm   false}: OK
I0720 13:13:36.669579 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver-arm64   false}: OK
I0720 13:13:36.673768 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver-s390x   false}: OK
I0720 13:13:36.673819 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-apiserver-ppc64le   false}: OK
I0720 13:13:36.686636 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager-ppc64le   false}: OK
I0720 13:13:36.689571 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager   false}: OK
I0720 13:13:36.694216 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager-arm64   false}: OK
I0720 13:13:36.694446 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager-arm   false}: OK
I0720 13:13:36.695512 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager-amd64   false}: OK
I0720 13:13:36.711186 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux/amd64   false}: OK
I0720 13:13:36.770991 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy   false}: OK
I0720 13:13:36.781703 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux/s390x   false}: OK
I0720 13:13:36.782173 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy-amd64   false}: OK
I0720 13:13:36.782718 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux/arm   false}: OK
I0720 13:13:36.782751 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes   false}: OK
I0720 13:13:36.786247 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-controller-manager-s390x   false}: OK
I0720 13:13:36.796397 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy-arm   false}: OK
I0720 13:13:36.797327 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux/ppc64le   false}: OK
I0720 13:13:36.797753 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/go-runner-linux/arm64   false}: OK
I0720 13:13:36.808075 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy-arm64   false}: OK
I0720 13:13:36.871468 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy-ppc64le   false}: OK
I0720 13:13:36.891880 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler-arm64   false}: OK
I0720 13:13:36.895374 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler-s390x   false}: OK
I0720 13:13:36.900023 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause   false}: OK
I0720 13:13:36.901447 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler   false}: OK
I0720 13:13:36.903417 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause-amd64   false}: OK
I0720 13:13:36.907419 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler-ppc64le   false}: OK
I0720 13:13:36.908736 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler-amd64   false}: OK
I0720 13:13:36.940890 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-scheduler-arm   false}: OK
I0720 13:13:36.947175 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/kube-proxy-s390x   false}: OK
I0720 13:13:36.985656 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause-s390x   false}: OK
I0720 13:13:36.986174 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause-arm   false}: OK
I0720 13:13:36.995159 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause-arm64   false}: OK
I0720 13:13:36.995190 1083995 inventory.go:1659] Request {gcr.io/k8s-staging-kubernetes/pause-ppc64le   false}: OK
I0720 13:13:36.995310 1083995 grow_manifest.go:139] RENDER /home/augustus/go/src/k8s.io/k8s.io/k8s.gcr.io/images/k8s-staging-kubernetes/images.yaml

real	0m1.391s
user	0m0.341s
sys	0m0.097s

From there, you should see updates to the k8s.gcr.io/images/k8s-staging-kubernetes/images.yaml.
Create a branch and a new PR with the new digests to promote, link the logs for the mock stage and mock release GCB jobs, and tag @kubernetes/release-engineering + /assign @justaugustus for approval.

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

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/release-eng Issues or PRs related to the Release Engineering subproject cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. sig/release Categorizes an issue or PR as relevant to SIG Release. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants