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

releng: Backfill most recent debian-base, debian-iptables, and pause #835

Merged
merged 2 commits into from
May 4, 2020

Conversation

justaugustus
Copy link
Member

@justaugustus justaugustus commented May 3, 2020

  • Backfill most recent debian-base, debian-iptables, and pause

    pull-kubernetes-cross expects debian-base and debian-iptables to be in
    the same registry. As we haven't promoted a new debian-iptables image
    yet, we need to backfill the most recent version into community infra.

    We do the same for the debian-base and pause images to support anyone
    who wants to move to the new image registry without changing image
    versions as well.

    Versions backfilled:

    • debian-base (all arches): v2.0.0
    • debian-iptables (all arches): v12.0.1
    • pause (all arches): 3.2
  • Promote all arches for debian-base-**:v2.1.0

    pull-kubernetes-cross expects base images in the form:
    image-<arch>:version, which means we need to push all image names,
    despite the fat manifest.

    We can refactor the release libs at a later date, but for now, this
    should unblock build/promotion of debian-iptables.

Signed-off-by: Stephen Augustus [email protected]

/hold until I actually backfill the images to staging
/assign @dims @cblecker @BenTheElder @listx
cc: @kubernetes/release-engineering
/sig release
/area release-eng dependency security

'pull-kubernetes-cross' expects debian-base and debian-iptables to be in
the same registry. As we haven't promoted a new debian-iptables image
yet, we need to backfill the most recent version into community infra.

We do the same for the debian-base and pause images to support anyone
who wants to move to the new image registry without changing image
versions as well.

Versions backfilled:
- debian-base (all arches): v2.0.0
- debian-iptables (all arches): v12.0.1
- pause (all arches): 3.2

Signed-off-by: Stephen Augustus <[email protected]>
@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 3, 2020
@k8s-ci-robot k8s-ci-robot added the sig/release Categorizes an issue or PR as relevant to SIG Release. label May 3, 2020
@k8s-ci-robot k8s-ci-robot added the area/dependency Issues or PRs related to dependency changes label May 3, 2020
@k8s-ci-robot
Copy link
Contributor

@justaugustus: The label(s) area/release-eng, area/security cannot be applied, because the repository doesn't have them

In response to this:

'pull-kubernetes-cross' expects debian-base and debian-iptables to be in
the same registry. As we haven't promoted a new debian-iptables image
yet, we need to backfill the most recent version into community infra.

We do the same for the debian-base and pause images to support anyone
who wants to move to the new image registry without changing image
versions as well.

Versions backfilled:

  • debian-base (all arches): v2.0.0
  • debian-iptables (all arches): v12.0.1
  • pause (all arches): 3.2

Signed-off-by: Stephen Augustus [email protected]

/hold until I actually backfill the images to staging
/assign @dims @cblecker @BenTheElder @listx
cc: @kubernetes/release-engineering
/sig release
/area release-eng dependency security

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.

@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 May 3, 2020
@k8s-ci-robot k8s-ci-robot added area/artifacts Issues or PRs related to the hosting of release artifacts for subprojects wg/k8s-infra approved Indicates a PR has been approved by an approver from all required OWNERS files. labels May 3, 2020
'pull-kubernetes-cross' expects base images in the form:
'image-<arch>:version', which means we need to push all image names,
despite the fat manifest.

We can refactor the release libs at a later date, but for now, this
should unblock build/promotion of debian-iptables.

Signed-off-by: Stephen Augustus <[email protected]>
@justaugustus
Copy link
Member Author

/hold cancel
@dims @BenTheElder -- This is ready for merge!

Here's a janky script to backfill images:

#!/usr/bin/env bash

arches=(
  "null"
  "amd64"
  "arm"
  "arm64"
  "ppc64le"
  "s390x"
)

image_name="$1"
version="$2"
project="$3"

for arch in "${arches[@]}"; do
  if [[ "$arch" == "null" ]]; then
    image="$image_name:$version"
  else
    image="$image_name-$arch:$version"
  fi

  docker pull "k8s.gcr.io/$image"
  docker tag "k8s.gcr.io/$image" "gcr.io/k8s-staging-$project/$image"
  docker push "gcr.io/k8s-staging-$project/$image"
done

And the backfill:

$ ./backfill.sh debian-base v2.0.0 build-image
v2.0.0: Pulling from debian-base
Digest: sha256:ebda8587ec0f49eb88ee3a608ef018484908cbc5aa32556a0d78356088c185d4
Status: Image is up to date for k8s.gcr.io/debian-base:v2.0.0
k8s.gcr.io/debian-base:v2.0.0
The push refers to repository [gcr.io/k8s-staging-build-image/debian-base]
fc4976bd934b: Layer already exists 
v2.0.0: digest: sha256:d7be39e143d4e6677a28c81c0a84868b40800fc979dea1848bb19d526668a00c size: 529
v2.0.0: Pulling from debian-base-amd64
Digest: sha256:d7be39e143d4e6677a28c81c0a84868b40800fc979dea1848bb19d526668a00c
Status: Image is up to date for k8s.gcr.io/debian-base-amd64:v2.0.0
k8s.gcr.io/debian-base-amd64:v2.0.0
The push refers to repository [gcr.io/k8s-staging-build-image/debian-base-amd64]
fc4976bd934b: Layer already exists 
v2.0.0: digest: sha256:d7be39e143d4e6677a28c81c0a84868b40800fc979dea1848bb19d526668a00c size: 529
v2.0.0: Pulling from debian-base-arm
Digest: sha256:fc731da13b0bc9013b85a86b583fc92e50869b5bc8e7aa6ca730ec0240954c7d
Status: Image is up to date for k8s.gcr.io/debian-base-arm:v2.0.0
k8s.gcr.io/debian-base-arm:v2.0.0
The push refers to repository [gcr.io/k8s-staging-build-image/debian-base-arm]
bf9ddbb797cb: Pushed 
v2.0.0: digest: sha256:fc731da13b0bc9013b85a86b583fc92e50869b5bc8e7aa6ca730ec0240954c7d size: 529
v2.0.0: Pulling from debian-base-arm64
Digest: sha256:12502c3eed050fa9b6d5fe353a44bfc5f437dc325c8912b1a48dcc180df36f1e
Status: Image is up to date for k8s.gcr.io/debian-base-arm64:v2.0.0
k8s.gcr.io/debian-base-arm64:v2.0.0
The push refers to repository [gcr.io/k8s-staging-build-image/debian-base-arm64]
9a8f4ffc5287: Pushed 
v2.0.0: digest: sha256:12502c3eed050fa9b6d5fe353a44bfc5f437dc325c8912b1a48dcc180df36f1e size: 529
v2.0.0: Pulling from debian-base-ppc64le
Digest: sha256:4277aa59b63c5a1369e6d84a295ecc4ffa08985dcf114de9f7b6de1af4fcbc86
Status: Image is up to date for k8s.gcr.io/debian-base-ppc64le:v2.0.0
k8s.gcr.io/debian-base-ppc64le:v2.0.0
The push refers to repository [gcr.io/k8s-staging-build-image/debian-base-ppc64le]
cf4a91cfa3c9: Pushed 
v2.0.0: digest: sha256:4277aa59b63c5a1369e6d84a295ecc4ffa08985dcf114de9f7b6de1af4fcbc86 size: 529
v2.0.0: Pulling from debian-base-s390x
Digest: sha256:78ef2a6b017539379c1654b4e52ba8519bfec821c62d0b3a1dbd15104b711e21
Status: Image is up to date for k8s.gcr.io/debian-base-s390x:v2.0.0
k8s.gcr.io/debian-base-s390x:v2.0.0
The push refers to repository [gcr.io/k8s-staging-build-image/debian-base-s390x]
b859181533be: Pushed 
v2.0.0: digest: sha256:78ef2a6b017539379c1654b4e52ba8519bfec821c62d0b3a1dbd15104b711e21 size: 529
$ ./backfill.sh debian-iptables v12.0.1 build-image
v12.0.1: Pulling from debian-iptables
597de8ba0c30: Already exists 
3f0663684f29: Pull complete 
e1f7f878905c: Pull complete 
3029977cf65d: Pull complete 
cc627398eeaa: Pull complete 
d3609306ce38: Pull complete 
Digest: sha256:d1cd487e89fb4cba853cd3a948a6e9016faf66f2a7bb53cb1ac6b6c9cb58f5ed
Status: Downloaded newer image for k8s.gcr.io/debian-iptables:v12.0.1
k8s.gcr.io/debian-iptables:v12.0.1
The push refers to repository [gcr.io/k8s-staging-build-image/debian-iptables]
0d8d54147a3a: Pushed 
597151d24476: Pushed 
ad9fb2411669: Pushed 
2dc2f2423ad1: Pushed 
682fbb19de80: Pushed 
fc4976bd934b: Layer already exists 
v12.0.1: digest: sha256:852d3c569932059bcab3a52cb6105c432d85b4b7bbd5fc93153b78010e34a783 size: 1574
v12.0.1: Pulling from debian-iptables-amd64
Digest: sha256:852d3c569932059bcab3a52cb6105c432d85b4b7bbd5fc93153b78010e34a783
Status: Downloaded newer image for k8s.gcr.io/debian-iptables-amd64:v12.0.1
k8s.gcr.io/debian-iptables-amd64:v12.0.1
The push refers to repository [gcr.io/k8s-staging-build-image/debian-iptables-amd64]
0d8d54147a3a: Layer already exists 
597151d24476: Layer already exists 
ad9fb2411669: Layer already exists 
2dc2f2423ad1: Layer already exists 
682fbb19de80: Layer already exists 
fc4976bd934b: Layer already exists 
v12.0.1: digest: sha256:852d3c569932059bcab3a52cb6105c432d85b4b7bbd5fc93153b78010e34a783 size: 1574
v12.0.1: Pulling from debian-iptables-arm
57c903ae07d5: Already exists 
bb98a0511c71: Pull complete 
f6fe0f0a9277: Pull complete 
5f051a6a3f5d: Pull complete 
51d56a2eb096: Pull complete 
19525d152971: Pull complete 
Digest: sha256:c10f01b414a7cd4b2f3e26e152c90c64a1e781d99f83a6809764cf74ecbc46c3
Status: Downloaded newer image for k8s.gcr.io/debian-iptables-arm:v12.0.1
k8s.gcr.io/debian-iptables-arm:v12.0.1
The push refers to repository [gcr.io/k8s-staging-build-image/debian-iptables-arm]
5c55f9b3f6aa: Pushed 
f08c33d73f46: Pushed 
8b9de5b09a87: Pushed 
4b1018312411: Pushed 
68e01fb387a8: Pushed 
bf9ddbb797cb: Layer already exists 
v12.0.1: digest: sha256:c10f01b414a7cd4b2f3e26e152c90c64a1e781d99f83a6809764cf74ecbc46c3 size: 1574
v12.0.1: Pulling from debian-iptables-arm64
ed2e7fd67416: Already exists 
d033d9855b96: Pull complete 
7bd91d4a9747: Pull complete 
6c3c2821ac4d: Pull complete 
b8ac04191d92: Pull complete 
355857a7a906: Pull complete 
Digest: sha256:5725e6fde13a6405cf800e22846ebd2bde24b0860f1dc3f6f5f256f03cfa85bd
Status: Downloaded newer image for k8s.gcr.io/debian-iptables-arm64:v12.0.1
k8s.gcr.io/debian-iptables-arm64:v12.0.1
The push refers to repository [gcr.io/k8s-staging-build-image/debian-iptables-arm64]
d3efdbe4bfdd: Pushed 
7185e9b91d91: Pushed 
7ac8a95861de: Pushed 
5be772a95a59: Pushed 
923b048f630c: Pushed 
9a8f4ffc5287: Layer already exists 
v12.0.1: digest: sha256:5725e6fde13a6405cf800e22846ebd2bde24b0860f1dc3f6f5f256f03cfa85bd size: 1574
v12.0.1: Pulling from debian-iptables-ppc64le
6790af3178f2: Already exists 
80f61aa740cd: Pull complete 
3c3cfcfd5332: Pull complete 
65b997ecfb51: Pull complete 
782c3e0eddff: Pull complete 
2d32710e0b9c: Pull complete 
Digest: sha256:b6d6e56a0c34c0393dcba0d5faaa531b92e5876114c5ab5a90e82e4889724c5a
Status: Downloaded newer image for k8s.gcr.io/debian-iptables-ppc64le:v12.0.1
k8s.gcr.io/debian-iptables-ppc64le:v12.0.1
The push refers to repository [gcr.io/k8s-staging-build-image/debian-iptables-ppc64le]
ca536e5efd68: Pushed 
e5cfe18997e3: Pushed 
0df2819ce973: Pushed 
367274d425c0: Pushed 
44928e984827: Pushed 
cf4a91cfa3c9: Layer already exists 
v12.0.1: digest: sha256:b6d6e56a0c34c0393dcba0d5faaa531b92e5876114c5ab5a90e82e4889724c5a size: 1574
v12.0.1: Pulling from debian-iptables-s390x
29aaea6da3fd: Already exists 
10ae27e6d3ff: Pull complete 
209a1be9ab50: Pull complete 
36d5e7808110: Pull complete 
e91fba4f4268: Pull complete 
Digest: sha256:39e67e9bf25d67fe35bd9dcb25367277e5967368e02f2741e0efd4ce8874db14
Status: Downloaded newer image for k8s.gcr.io/debian-iptables-s390x:v12.0.1
k8s.gcr.io/debian-iptables-s390x:v12.0.1
The push refers to repository [gcr.io/k8s-staging-build-image/debian-iptables-s390x]
33b2a3158bf2: Pushed 
24120ffc2c07: Pushed 
6b4f25b3be6f: Pushed 
01cccfe10291: Pushed 
b859181533be: Layer already exists 
v12.0.1: digest: sha256:39e67e9bf25d67fe35bd9dcb25367277e5967368e02f2741e0efd4ce8874db14 size: 1358
$ ./backfill.sh pause 3.2 kubernetes
3.2: Pulling from pause
Digest: sha256:927d98197ec1141a368550822d18fa1c60bdae27b78b0c004f705f548c07814f
Status: Image is up to date for k8s.gcr.io/pause:3.2
k8s.gcr.io/pause:3.2
The push refers to repository [gcr.io/k8s-staging-kubernetes/pause]
ba0dae6243cc: Pushed 
3.2: digest: sha256:4a1c4b21597c1b4415bdbecb28a3296c6b5e23ca4f9feeb599860a1dac6a0108 size: 526
3.2: Pulling from pause-amd64
Digest: sha256:4a1c4b21597c1b4415bdbecb28a3296c6b5e23ca4f9feeb599860a1dac6a0108
Status: Downloaded newer image for k8s.gcr.io/pause-amd64:3.2
k8s.gcr.io/pause-amd64:3.2
The push refers to repository [gcr.io/k8s-staging-kubernetes/pause-amd64]
ba0dae6243cc: Layer already exists 
3.2: digest: sha256:4a1c4b21597c1b4415bdbecb28a3296c6b5e23ca4f9feeb599860a1dac6a0108 size: 526
3.2: Pulling from pause-arm
705c6f252fa0: Pull complete 
Digest: sha256:bbb7780ca6592cfc98e601f2a5e94bbf748a232f9116518643905aa30fc01642
Status: Downloaded newer image for k8s.gcr.io/pause-arm:3.2
k8s.gcr.io/pause-arm:3.2
The push refers to repository [gcr.io/k8s-staging-kubernetes/pause-arm]
3804e29de7f1: Pushed 
3.2: digest: sha256:bbb7780ca6592cfc98e601f2a5e94bbf748a232f9116518643905aa30fc01642 size: 526
3.2: Pulling from pause-arm64
84f9968a3238: Pull complete 
Digest: sha256:31d3efd12022ffeffb3146bc10ae8beb890c80ed2f07363515580add7ed47636
Status: Downloaded newer image for k8s.gcr.io/pause-arm64:3.2
k8s.gcr.io/pause-arm64:3.2
The push refers to repository [gcr.io/k8s-staging-kubernetes/pause-arm64]
025947be8c4b: Pushed 
3.2: digest: sha256:31d3efd12022ffeffb3146bc10ae8beb890c80ed2f07363515580add7ed47636 size: 526
3.2: Pulling from pause-ppc64le
4702f87604d0: Pull complete 
Digest: sha256:7f82fecd72730a6aeb70713476fb6f7545ed1bbf32cadd7414a77d25e235aaca
Status: Downloaded newer image for k8s.gcr.io/pause-ppc64le:3.2
k8s.gcr.io/pause-ppc64le:3.2
The push refers to repository [gcr.io/k8s-staging-kubernetes/pause-ppc64le]
953c763015bd: Pushed 
3.2: digest: sha256:7f82fecd72730a6aeb70713476fb6f7545ed1bbf32cadd7414a77d25e235aaca size: 526
3.2: Pulling from pause-s390x
80b8600edaf2: Pull complete 
Digest: sha256:1175fd4d728641115e2802be80abab108b8d9306442ce35425a4e8707ca60521
Status: Downloaded newer image for k8s.gcr.io/pause-s390x:3.2
k8s.gcr.io/pause-s390x:3.2
The push refers to repository [gcr.io/k8s-staging-kubernetes/pause-s390x]
91d03cd5d4de: Pushed 
3.2: digest: sha256:1175fd4d728641115e2802be80abab108b8d9306442ce35425a4e8707ca60521 size: 526

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 4, 2020
Copy link
Contributor

@hasheddan hasheddan left a comment

Choose a reason for hiding this comment

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

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label May 4, 2020
@dims
Copy link
Member

dims commented May 4, 2020

/approve
/lgtm

Copy link
Member

@cpanato cpanato left a comment

Choose a reason for hiding this comment

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

/lgtm

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cpanato, dims, hasheddan, 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

1 similar comment
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cpanato, dims, hasheddan, 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 merged commit d42be3b into kubernetes:master May 4, 2020
@listx
Copy link
Contributor

listx commented May 5, 2020

@justaugustus Your backfill script should use gcloud container images add-tag in the future to avoid pulling/pushing with docker. Using docker risks changing the digests if your workstation's gzip lib is different than the one used by GCR. I just did a check now and indeed the digest changed, for example from gcr.io/google-containers/debian-base@sha256:ebda8587ec0f49eb88ee3a608ef018484908cbc5aa32556a0d78356088c185d4 to gcr.io/k8s-staging-build-image/debian-base@sha256:d7be39e143d4e6677a28c81c0a84868b40800fc979dea1848bb19d526668a00c for the v2.0.0 tag.

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/artifacts Issues or PRs related to the hosting of release artifacts for subprojects area/dependency Issues or PRs related to dependency changes cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. 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.

8 participants