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

Setup greenhouse in k8s-infra-prow-build cluster #842

Closed
spiffxp opened this issue May 6, 2020 · 12 comments
Closed

Setup greenhouse in k8s-infra-prow-build cluster #842

spiffxp opened this issue May 6, 2020 · 12 comments
Assignees
Labels
area/prow Setting up or working with prow in general, prow.k8s.io, prow build clusters sig/testing Categorizes an issue or PR as relevant to SIG Testing.

Comments

@spiffxp
Copy link
Member

spiffxp commented May 6, 2020

Greenhouse is a bazel remote caching setup used to provide faster build times for jobs that use bazel. PR jobs get the most benefit.

In the google.com build cluster (k8s-prow-builds/prow) it's deployed to a nodepool reserved specifically for it, tuned for max IOPS

ref: #752, followup to: #830

@spiffxp spiffxp added wg/k8s-infra sig/testing Categorizes an issue or PR as relevant to SIG Testing. labels May 6, 2020
@spiffxp spiffxp added the area/prow Setting up or working with prow in general, prow.k8s.io, prow build clusters label May 7, 2020
@spiffxp
Copy link
Member Author

spiffxp commented May 8, 2020

The n1-standard-32 puts k8s-infra-prow-builds over its CPU quota

Looking at us-central1, here are the differences between k8s-infra-prow-build vs. k8s-prow-builds:

quota k8s-infra in-use k8s-infra quota goog in-use goog quota
CPUs 48 72 1296 1500
In-use IP Addresses 6 69 159 250
Persistent Disk SSD (TB) 1.5 20.5 42.6 46

@spiffxp
Copy link
Member Author

spiffxp commented May 8, 2020

Submitted a quota request for 256 CPUs: current cluster mean CPU is ~40%, which works out to ~518, I chose a nearby power of two and cut it in half. Works out to 28 n1-highmem-8 nodes + the n1-standard-32 for greenhouse.

@spiffxp
Copy link
Member Author

spiffxp commented May 8, 2020

Right. k8s-infra-prow-build is a regional cluster. So if I make a nodepool of size 1, it's actually 3 nodes, one in each zone. I don't think we want three greenhouses.

I could:

  • A) Use gcloud to restrict the node locations to a single zone... so the master is regional but the nodepool isn't (not 100% sure this is possible)
  • B) Live with the 3 nodes, use 2 as regular build cluster nodes, and apply the dedicated:greenhouse label and associated taint to the other one manually using kubectl. This does mean the two zones where the greenhouse instance doesn't live are going to incur egress-between-zones cost
  • C) Redo k8s-infra-prow-build as a zonal cluster

I'm leaning B

@spiffxp
Copy link
Member Author

spiffxp commented May 8, 2020

/assign @spiffxp
I'm working on it

/assign @thockin @BenTheElder
WDYT?

@ameukam
Copy link
Member

ameukam commented May 8, 2020

Can I suggest :

  • D) Add a variable to k8s-infra-gke-nodepool that represent node_count, set it to 1 and set the location of the module to a zone (us-central1-f)

I can't really test this but can work on it once #830 is merged.

@spiffxp
Copy link
Member Author

spiffxp commented May 8, 2020

Unfortunately I tried D (force the location to a zone), terraform plan is happy, but terraform apply yields:
Error: error creating NodePool: googleapi: Error 404: Not found: projects/k8s-infra-prow-build/zones/us-central1-b/clusters/prow-build., notFound

@spiffxp
Copy link
Member Author

spiffxp commented May 13, 2020

Have greenhouse pod request 32 cores

@thockin
Copy link
Member

thockin commented May 16, 2020 via email

@spiffxp
Copy link
Member Author

spiffxp commented May 21, 2020

I have it up and running and am waiting for #830 to land

@spiffxp
Copy link
Member Author

spiffxp commented May 27, 2020

I've opened #885

Need to confirm greenhouse-metrics service is setup properly

@spiffxp
Copy link
Member Author

spiffxp commented Jun 9, 2020

/close

@k8s-ci-robot
Copy link
Contributor

@spiffxp: Closing this issue.

In response to this:

/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
area/prow Setting up or working with prow in general, prow.k8s.io, prow build clusters sig/testing Categorizes an issue or PR as relevant to SIG Testing.
Projects
None yet
Development

No branches or pull requests

5 participants