Commit Graph

11569 Commits

Author SHA1 Message Date
Tim Hockin
45e5912c3d Augment logs in runContainer path
Generating errors that are useful is hard.
2016-01-25 16:31:32 -08:00
Dawn Chen
19ef0779f1 Merge pull request #20123 from brendandburns/flake3
Disable closing of the httptest Server due to https://github.com/golang/go/issues/12262
2016-01-25 16:22:23 -08:00
Dawn Chen
1087803e12 Merge pull request #20004 from thockin/logs-for-17181-flake
Add logs to try to diagnose #17181
2016-01-25 15:38:34 -08:00
Brendan Burns
b8b074f41f Disable closing of the httptest Server due to https://github.com/golang/go/issues/12262 2016-01-25 15:31:48 -08:00
Tim Hockin
c924533e45 Add logs to try to diagnose #17181 2016-01-25 15:01:03 -08:00
Janet Kuo
591269c99c Surface available/unavailable pods in deployment describer 2016-01-25 14:30:15 -08:00
Janet Kuo
9739a67833 Deployment status: number of available/unavailable pods 2016-01-25 14:30:15 -08:00
Quinton Hoole
10f7985dfb Merge pull request #19995 from justinsb/gce_label_pd
Ubernetes-Lite GCE: Label volumes with zone information
2016-01-25 10:34:10 -08:00
Jordan Liggitt
669be92ca5 Restore LoadTLSFiles to client.Config 2016-01-25 12:48:35 -05:00
Jordan Liggitt
d7f547b4c2 Make label/annotate commands fall back to update on patch compute failure 2016-01-25 11:57:34 -05:00
k8s-merge-robot
d7d601b2fc Merge pull request #18876 from erictune/dynamic-job
Auto commit by PR queue bot
2016-01-25 08:06:22 -08:00
k8s-merge-robot
d3b869ae14 Merge pull request #17922 from smarterclayton/split_codec
Auto commit by PR queue bot
2016-01-25 06:30:39 -08:00
Dan Winship
70a904d10e Don't print hairpin_mode error when not using Linux bridges
(eg, with network plugins that use Open vSwitch)
2016-01-25 09:01:34 -05:00
Julian Strobl
6cd10d4f87 add container names kubectl logs output
Present a list of container names one can choose from.
2016-01-25 13:35:47 +01:00
Nagarjun
39b1874041 Add GetEnvOr() feature to utils Package 2016-01-25 16:08:35 +05:30
Clayton Coleman
a2f68e2591 Move the loader file log level to v(6)
It's extremely rare that a user *must* have this, and we typically test
and verify at V(5) to get debugging info, which clogs up e2e output.
2016-01-24 19:08:20 -05:00
harry
0fa5b6c4f7 Add e2e test for wrapper volumes
Use git server in e2e and refactor wrapper builder

Update e2e test to use a fake git server
2016-01-24 16:57:44 +08:00
Aaron Davidson
97689c326d Reduce healthy threshold and check interval for Amazon ELBs
According to AWS, the ELB healthy threshold is "Number of consecutive health check successes before declaring an EC2 instance healthy." It has an unusual interaction with Kubernetes, since all nodes will enter either an unhealthy state or a healthy state together depending on the service's healthiness as a whole.

We have observed that if our service goes down for the unhealthy threshold (which is 2 checks at 30 second intervals = 60 seconds), then the ELB will stop serving traffic to all nodes in the cluster, and will wait for the healthy threshold (currently 10 * 30 = 300 seconds) AFTER the service is restored to add back the cluster nodes, meaning it remains unreachable for an extra 300 seconds.

With the new settings, the ELB will continue to timeout dead nodes after 60 seconds, but will restore healthy nodes after 20 seconds. The minimum value for healthyThreshold is 2, and the minimum value for interval is 5 seconds. I went for 10 seconds instead of the minimum sort of arbitrarily because I was not sure how much this value may affect the scalability of clusters in EC2, as it does put some extra load on the kube-proxy.
2016-01-23 11:10:37 -08:00
Clayton Coleman
f9c48c864d Don't add 'error: ' to messages if already there 2016-01-23 00:41:36 -05:00
Ken Robertson
66c99d5e9c kubelet: Update FakeDockerClient used in integration tests
This updates the mock for the docker client used in integration tests to
include the engine version in its VersionInfo response.
2016-01-22 17:14:01 -08:00
Daniel Smith
c0ffbd58db Remove TestWatchEtcdError
We decided to remove this test, as there's no way to get an upper bound
on its running time. Etcd restart behavior should be tested in
integration or e2e tests.
2016-01-22 16:43:44 -08:00
Prashanth Balasubramanian
ffd34311c6 Sync pods for daemon sets. 2016-01-22 16:42:07 -08:00
Prashanth Balasubramanian
1b93ee7b35 Sync all pods with store before starting RC Manager. 2016-01-22 16:42:02 -08:00
Zach Loafman
6397b781ac Merge pull request #20030 from kubernetes/revert-18169-smarter-scaling
Revert "kubectl: Make scaling smarter"
2016-01-22 15:07:26 -08:00
Zach Loafman
0791de15e3 Merge pull request #20007 from smarterclayton/ipallocrace
19848: Retry service IP repair on conflict
2016-01-22 15:02:05 -08:00
Eric Tune
53ee76fe1a Support Work Queue jobs with variable parallelism
When job.spec.completions is nil, only
one task needs to succeed for the job to succeed,
and parallelism can be scaled freely during runtime.

Added tests.

Release Note:

This causes two minor changes to the API.

First, unset parallelism previously was defaulted to be
equal to completions.  Now it always defaults to 1 if unset.

Second, having parallelism=N and completions unset would previously
be defaulted to 1 completion and N parallelism.
(this is not something we expect people to do, though)
Now, no defaulting occurs in that case, and the job's
behavior is different (any completion causes success).
2016-01-22 14:57:51 -08:00
Zach Loafman
62726c4ab8 Revert "kubectl: Make scaling smarter" 2016-01-22 14:52:38 -08:00
Justin Santa Barbara
1276675512 Ubernetes-Lite: Error if a PD name is ambiguous
We don't cope well if a PD is in multiple zones, but this is actually
fairly easy to detect.  This is probably justified purely on the basis
that we never want to delete the wrong volume (DeleteDisk), but also
because this means that we now warn on creation if a disk is in multiple
zones (with the labeling admission controller).

This also means that with the scheduling predicate in place, that many
of our volume problems "go away" in practice: you still can't create or
delete a volume when it is ambiguous, but thereafter the volume will be
labeled with the zone, that will match it only to nodes with the same
zone, and then we query for the volume in that zone when we
attach/detach it.
2016-01-22 17:16:38 -05:00
Justin Santa Barbara
900567288b Ubernetes Lite: Label volumes with zone information
When volumes are labeled, they will only be scheduled onto nodes in the
same zone.
2016-01-22 17:16:31 -05:00
Ken Robertson
fff8a7c371 kubelet: Update engine version parsing to handle semantic versioning
This updates the dockertools.dockerVersion to use a semantic versioning
library to more gracefully support engine versions which include
additional version fields.

Previously, go-dockerclient's APIVersion struct was use which only
handles plain numeric x.y.z version strings. With #19675, the library
was now used on the Docker engine string, however it is possible for the
engine string to include include additional information for beta, rc, or
distro specific builds.

This PR also enables the TestDockerRuntimeVersion test which was
previously just a FIXME and updates it to pass, and be used to test the
version string that cause #20005.

This negates the need for fsouza/go-dockerclient#451, since even with
that change, if a user was running Docker 1.10.0-rc1, this would cause
the kubelet to report it as simply 1.10.0.
2016-01-22 13:18:52 -08:00
Rudi Chiarito
bc0dd97a70 ECR credential provider 2016-01-22 15:03:25 -05:00
Zach Loafman
b25d596a2b Merge pull request #19630 from mikedanese/fix-test
test: make ValidateCount throw an error instead of a log
2016-01-22 11:08:27 -08:00
Zach Loafman
7189db3701 Merge pull request #19396 from justinsb/aws_mountdevice
AWS: Use a strongly typed mountDevice
2016-01-22 11:04:23 -08:00
Clayton Coleman
e2eb1b0dc4 19848: Retry service IP repair on conflict
Components can write services during startup, which results in the ip
allocator map being updated. Since core controllers *must* succeed for
the masters to start, we should retry a few times in order to pass.
2016-01-22 13:52:18 -05:00
Chao Xu
db9b5c97fb fix e2e 2016-01-22 10:31:03 -08:00
Clayton Coleman
3262d8efd8 GENERATED: all 2016-01-22 13:27:28 -05:00
Clayton Coleman
4a6935b31f Remaining codec change refactors 2016-01-22 13:27:27 -05:00
Clayton Coleman
33085c0cf2 Update tests to handle codec changes 2016-01-22 13:27:26 -05:00
Clayton Coleman
2fd38a7dc0 Break kubectl from assuming details of codecs
Most of the logic related to type and kind retrieval belongs in the
codec, not in the various classes. Make it explicit that the codec
should handle these details.

Factory now returns a universal Decoder and a JSONEncoder to assist code
in kubectl that needs to specifically deal with JSON serialization
(apply, merge, patch, edit, jsonpath). Add comments to indicate the
serialization is explicit in those places. These methods decode to
internal and encode to the preferred API version as previous, although
in the future they may be changed.

React to removing Codec from version interfaces and RESTMapping by
passing it in to all the places that it is needed.
2016-01-22 13:27:26 -05:00
Clayton Coleman
181dc7c64c Update thirdpartyresourcecodec with new Decoder 2016-01-22 13:27:25 -05:00
Clayton Coleman
fb4ea845f1 resource_printer was not leveraging runtime interfaces
In general, everything in kubectl/* needs to be ignorant of api/* unless
it deals with a concrete type - this change forces resource_printer to
accept interface abstractions (that are already part of kubectl).
2016-01-22 13:27:25 -05:00
Clayton Coleman
efe88e0818 Update client library to react to changes in Decoding 2016-01-22 13:27:24 -05:00
Zach Loafman
68771fe26a Merge pull request #18169 from kargakis/smarter-scaling
kubectl: Make scaling smarter
2016-01-22 10:24:51 -08:00
Zach Loafman
f3a638de31 Merge pull request #16067 from smarterclayton/backoff_conflict
Provide a RetryOnConflict helper for client libraries
2016-01-22 10:23:19 -08:00
Chao Xu
a248d1117b remove ResourceVersion validation in client 2016-01-22 10:14:39 -08:00
Arsen Mamikonyan
8b5e9e2885 Change repository references to https://github.com/kubernetes/kubernetes 2016-01-22 10:23:14 -05:00
Clayton Coleman
24a7919002 Update clientcmd.Config to use new Decode methods 2016-01-22 01:10:23 -05:00
Clayton Coleman
4386e8cc38 Change legacy ABAC decode to use new Decoder
The new Decode() method is able to deserialize an unknown type when an
explicit Into is provided.
2016-01-22 01:10:23 -05:00
Clayton Coleman
4d127dc969 Initialize API servers with negotiated serializers
Pass down into the server initialization the necessary interface for
handling client/server content type negotiation. Add integration tests
for the negotiation.
2016-01-22 01:10:22 -05:00
Clayton Coleman
c1d932e44a Switch API objects to not register per version codecs
Remove Codec from versionInterfaces in meta (RESTMapper is now agnostic
to codec and serialization). Register api/latest.Codecs as the codec
factory and use latest.Codecs.LegacyCodec(version) as an equvialent to
the previous codec.
2016-01-22 01:10:21 -05:00