Job configs are stored in YAML files in hack/jenkins/job-configs in the
format used by Jenkins Job Builder. A docker container running on
Jenkins fetches job configs every fifteen minutes and updates Jenkins.
This change refactors the code of preparing kube-system manifests
for trusty based cluster. The manifests used by nodes do not contain
salt configuration, so we can simply copy them from the directory
cluster/saltbase/salt, make a tarball, and upload to Google Storage.
I'm moving/deleting some tests to make an upcoming RESTClient refactor
PR cleaner.
- TestDoRequestBearer is redundant to
pkg/client/transport.TestBearerAuthRoundTripper
- Added a case to pkg/client/transport.TestBasicAuthRoundTripper to
cover what TestDoRequestWithoutPassword was testing
- Moved TestSetsCodec, TestRESTClientRequires,
TestValidateHostParameter to helper_test.go since they were really
testing helper functions and not the RESTClient directly.
- Modified TestValidateHostParameter during the moved to just use
DefaultServerURL instead of creating a client.
Accept codec as parameter to CreateNewControllerFromCurrentController function. Add tests for performing a rolling update on a container in a multi-container pod.
The original scale function takes around 800ns/op with more
than 10 allocations. It significantly slow down scheduler
and other components that heavily relys on resource pkg.
For more information see #18126.
This pull request tries to optimize scale function. It takes
two approach:
1. when the value is small, only use normal math ops.
2. when the value is large, use math.Big with buffer pool.
The final result is:
BenchmarkScaledValueSmall-4 20000000 66.9 ns/op 0 B/op 0 allocs/op
BenchmarkScaledValueLarge-4 2000000 711 ns/op 48 B/op 1 allocs/op
I also run the scheduler benchmark again. It doubles the throughput of
scheduler for 1000 nodes case.
- Don't indent top-level lists
- Use 2 space list item indentation, unless using multi-line items, then use 4 space indents
- Use underline for page title
- Auto-generate table of contents
- Start with lvl 2 headers (lvl 1 headers look too much like the page title)