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: Add new projects for staging/releasing Kubernetes #624

Merged
merged 1 commit into from
Mar 6, 2020

Conversation

justaugustus
Copy link
Member

@justaugustus justaugustus commented Mar 2, 2020

As part of the vanity image domain flip, @kubernetes/release-engineering / @kubernetes/release-managers will need a new project to stage artifacts to.

Namely, the images referenced in k/release/release-engineering/artifacts.md:

  • cloud-controller-manager
  • conformance (will likely be moved to another staging project)
  • hyperkube (will likely be removed in a future release)
  • kube-apiserver
  • kube-controller-manager
  • kube-proxy
  • kube-scheduler

While we're sorting out exactly how we'd like that to work, I'd like to keep access scoped to only the @kubernetes/sig-release-admins, opening that up once the new flow is documented.

Here we add a new script, ensure-release-prod-projects.sh, which is a copy of ensure-release-projects.sh with the writer and viewer groups removed.

Here we add three new projects:

  • k8s-staging-kubernetes
  • k8s-staging-releng
  • k8s-releng-prod

k8s-staging-kubernetes will be the official project for staging and releasing Kubernetes.

k8s-staging-releng will be used to stage Release Engineering images.

k8s-releng-prod will be a limited-scope near-prod project for Release Admins (Stephen, Tim, Caleb), which will contain KMS keys to be leveraged during staging and release.

We add ensure-releng.sh, which configures the new k8s-releng-prod
GCP project now and grants KMS admin access to k8s-infra-release-admins.

Staging release project settings have been replicated in the ensure-staging-storage.sh script.

Signed-off-by: Stephen Augustus saugustus@vmware.com

/assign @thockin @listx
cc: @tpepper
ref: kubernetes/release#911, #623, kubernetes/release#270

@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. wg/k8s-infra labels Mar 2, 2020
@justaugustus
Copy link
Member Author

/sig release
/area release-eng

@k8s-ci-robot
Copy link
Contributor

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

In response to this:

/sig release
/area release-eng

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 the sig/release Categorizes an issue or PR as relevant to SIG Release. label Mar 2, 2020
echo "usage: $0 [project...]" > /dev/stderr
echo "example:" > /dev/stderr
echo " $0 # do all release projects" > /dev/stderr
echo " $0 k8s-staging-release-test # just do one" > /dev/stderr
Copy link
Contributor

Choose a reason for hiding this comment

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

Should this be k8s-staging-kubernetes ?

Copy link
Member Author

Choose a reason for hiding this comment

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

@listx -- It was just the usage example, but I've updated for consistency.

@listx
Copy link
Contributor

listx commented Mar 3, 2020

/lgtm

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

thockin commented Mar 3, 2020

FTR - some discussion on slack about whether we want 1 project for everything or a separate release project and a normal "staging"

@thockin thockin added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 3, 2020
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 3, 2020
@justaugustus justaugustus changed the title releng: Add k8s-staging-kubernetes for staging/releasing Kubernetes releng: Add new projects for staging/releasing Kubernetes Mar 3, 2020
@justaugustus
Copy link
Member Author

/assign @dims @cblecker

@dims
Copy link
Member

dims commented Mar 5, 2020

Do we need this for 1.18? i still need to digest this @justaugustus

@justaugustus
Copy link
Member Author

justaugustus commented Mar 5, 2020

@dims -- Yes. As a happy consequence of the k8s.gcr.io domain flip (tentative: April 1st, essentially immediately after the 1.18.0 release), we'll need to modify anago and the surrounding libraries to point to K8s Infra, which means we have to kick the tires on K8s Infra staging as much as possible before then (during 1.18.0 dev cycle).

I've begun that work here, but am currently blocked on this PR.

Copy link
Contributor

@listx listx left a comment

Choose a reason for hiding this comment

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

Didn't really check the bash stuff, but I have some nits for the promoter manifests

@justaugustus
Copy link
Member Author

@dims -- Thanks for the live review!
I've adjusted the PR to include your suggestions:

  • Strictly additive (no mods to ensure-release-projects.sh, since we have no easy way to track cleanup today)
  • Backup OWNERS for the Releng images.yamls (@dims, @cblecker, @listx, @thockin)

@listx
Copy link
Contributor

listx commented Mar 6, 2020

/lgtm

Let's wait for @thockin ...!

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

cblecker commented Mar 6, 2020

No objections to this from me

groups/groups.yaml Outdated Show resolved Hide resolved
@@ -103,6 +105,13 @@ for REPO; do
color 6 "Empowering ${WRITERS} as project viewers"
empower_group_as_viewer "${PROJECT}" "${WRITERS}"

# Enable Release Manager Associates view access to
Copy link
Member

Choose a reason for hiding this comment

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

I'd rather pull these out as special-case blocks at the end, as in ensure-prod-storage.sh

@@ -161,5 +170,19 @@ for REPO; do
color 6 "Empowering Prow"
empower_prow "${PROJECT}" "${GCB_BUCKET}"

# TODO(justaugustus): Remove once k8s-release-admin is configured and
Copy link
Member

Choose a reason for hiding this comment

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

what is "k8s-release-admin" here? A group? A project?

@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 6, 2020
@justaugustus
Copy link
Member Author

justaugustus commented Mar 6, 2020

@thockin --

  • Updated the ACL list descriptions
  • Pull the Release Managers' special cases into a separate block
  • Clarified that k8s-release-admin (also explained in the issue description and commit message)

Copy link
Member

@thockin thockin left a comment

Choose a reason for hiding this comment

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

For the staging and GCR "releng" seems less likely to confuse people than "release".

Can you rename ensure-release-kms.sh to infra/gcp/ensure-releng.sh, and the project to k8s-releng? or k8s-releng-prod ? or k8s-release-prod?

infra/gcp/ensure-staging-storage.sh Outdated Show resolved Hide resolved
Here we add three new projects:
- k8s-staging-kubernetes
- k8s-staging-releng
- k8s-releng-prod

k8s-staging-kubernetes will be the official project for staging and
releasing Kubernetes.

k8s-staging-releng will be used to stage Release Engineering images.

k8s-releng-prod will be a limited-scope near-prod project for Release
Admins (Stephen, Tim, Caleb), which will contain KMS keys to be
leveraged during staging and release.

We add ensure-releng.sh, which configures the new k8s-release-admin
GCP project now and grants KMS admin access to k8s-infra-release-admins.

Staging release project settings have been replicated in the
ensure-staging-storage.sh script.

Signed-off-by: Stephen Augustus <saugustus@vmware.com>
@thockin
Copy link
Member

thockin commented Mar 6, 2020

Everything LGTM except:

Can you rename ensure-release-kms.sh to infra/gcp/ensure-releng.sh, and the project to k8s-releng? or k8s-releng-prod ? or k8s-release-prod?

Copy link
Member

@thockin thockin left a comment

Choose a reason for hiding this comment

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

Thanks!

/lgtm
/approve

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

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: justaugustus, thockin

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 Mar 6, 2020
@thockin thockin removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Mar 6, 2020
@justaugustus
Copy link
Member Author

Thanks for the reviews, y'all!
/pony party
/honk

@k8s-ci-robot
Copy link
Contributor

@justaugustus:
goose image

In response to this:

Thanks for the reviews, y'all!
/pony party
/honk

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
Copy link
Contributor

@justaugustus: pony image

In response to this:

Thanks for the reviews, y'all!
/pony party
/honk

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 merged commit b9c0198 into kubernetes:master Mar 6, 2020
@thockin
Copy link
Member

thockin commented Mar 6, 2020

activated

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. 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/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.

6 participants