deis / builder

Git server and application builder for Deis Workflow
https://deis.com
MIT License
40 stars 41 forks source link

Add pod selector for builder job #492

Closed zinuzoid closed 7 years ago

zinuzoid commented 7 years ago

add a new environment variable to inject builder job node selector. format BUILDER_POD_NODE_SELECTOR = network:fast,disk:ssd

Closes https://github.com/deis/builder/issues/410 docs https://github.com/deis/workflow/pull/770

deis-admin commented 7 years ago

Thanks for the contribution! Please ensure your commits follow our style guide. This code will be tested once a Deis maintainer reviews it.

codecov-io commented 7 years ago

Codecov Report

Merging #492 into master will increase coverage by 0.24%. The diff coverage is 72.22%.

@@            Coverage Diff             @@
##           master     #492      +/-   ##
==========================================
+ Coverage   56.18%   56.42%   +0.24%     
==========================================
  Files          29       29              
  Lines        1221     1237      +16     
==========================================
+ Hits          686      698      +12     
- Misses        497      501       +4     
  Partials       38       38
Impacted Files Coverage Δ
pkg/gitreceive/config.go 54.16% <ø> (ø) :white_check_mark:
pkg/gitreceive/k8s_util.go 70.65% <100%> (+0.35%) :white_check_mark:
pkg/gitreceive/build.go 25.1% <64.28%> (+2.48%) :white_check_mark:
pkg/healthsrv/buckets_lister.go 90% <0%> (+10%) :white_check_mark:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 3b29d47...bf9747d. Read the comment docs.

vdice commented 7 years ago

Jenkins, test this please.

vdice commented 7 years ago

Jenkins, test this please.

vdice commented 7 years ago

Closes https://github.com/deis/builder/issues/410

vdice commented 7 years ago

Docs PR: https://github.com/deis/workflow/pull/770

mboersma commented 7 years ago

I tested this manually and saw that both a dockerbuilder and slugbuilder pod will fail to schedule (sit in Pending) if a required label isn't met, and that applying that label satisfies the scheduler.

$ kubectl label nodes node1 disk=ssd

Also poked around at the builder deployment and [docker|slug]builder pods to verify labels. Works as advertised--thanks a bunch @zinuzoid!