Victor Marmol
8649628c6c
Make POD container last OOM victim.
...
Setting the oom_score_adj of the PID of the POD container to -100 which is less
than the default of 0. This ensures that this PID is the last OOM victim
chosen by the kernel.
Fixes #3067 .
2015-02-19 19:24:01 -08:00
Daniel Smith
b7b537efc7
fix confusing defer
2015-02-19 17:11:32 -08:00
Victor Marmol
40cb417901
Merge pull request #4531 from wojtek-t/batch_requests_in_kubelet
...
Batch updates of multiple Pods.
2015-02-19 10:50:26 -08:00
Jerzy Szczepkowski
d614fc7fcc
Fire event for pod when mount fails.
...
Implemented firing event for pod when mount of external volume fails. Fixes #4540 .
2015-02-19 11:08:36 +01:00
Wojciech Tyczynski
702ad7732f
Applied comments
2015-02-19 08:01:16 +01:00
Xiang Li
0e20f7d736
pkg/kubelet: recreate infra pod if the pod is changed
2015-02-18 15:05:16 -08:00
Wojciech Tyczynski
25c8f07c67
Batch updates of multiple Pods.
2015-02-18 16:46:16 +01:00
Dawn Chen
bafa240187
Add debugging information for #4472
2015-02-17 13:28:15 -08:00
Clayton Coleman
4859aa7cd8
Merge pull request #4453 from derekwaynecarr/make_quota_more_efficient
...
Make ListWatch work with a ListFunc and WatchFunc
2015-02-17 14:48:11 -05:00
Xiang Li
042dc1faa3
pkg/kubelet: uncaptialize error message
2015-02-16 09:33:20 -08:00
Xiang Li
2437e94248
pkg/kubelet: fix wrong code path in runContainer
2015-02-16 09:32:37 -08:00
derekwaynecarr
c0ce15c588
Make list watch take a ListFunc and WatchFunc, provide default funcs from client
2015-02-15 22:26:05 -05:00
Dawn Chen
20dc1c2481
Merge pull request #4410 from brendandburns/fixer
...
Don't delete the pod infrastructure container on health check failures.
2015-02-13 15:18:27 -08:00
Victor Marmol
5d6ad845cc
Use Docker name (not ID) to parse Kubernetes components.
...
Since the parsing function doesn't return an error all the components
returned empty strings. This caused us to enforce the MaxContainerLimit
as a global limit instead of a per-container limit.
Fixes #4413 .
2015-02-13 13:08:15 -08:00
Brendan Burns
4ad3ea438d
Revert "Revert "Add an event for health check failures.""
...
This reverts commit fc4e711a8c
.
2015-02-13 09:23:13 -08:00
Saad Ali
fc4e711a8c
Revert "Add an event for health check failures."
2015-02-13 08:10:45 -08:00
Saad Ali
c112f8f1bb
Merge pull request #4408 from brendandburns/printing
...
Add an event for health check failures.
2015-02-13 07:59:26 -08:00
Brendan Burns
5e49a606e1
Address changes.
2015-02-12 21:39:42 -08:00
Brendan Burns
8b7dfc9359
Return logs for failed and succeeded pods too.
2015-02-12 21:36:25 -08:00
Brendan Burns
4dbf98e98f
Don't delete the pod infrastructure container on health check failures.
2015-02-12 21:28:32 -08:00
Brendan Burns
c03a435501
Add an event for health check failures.
2015-02-12 19:08:23 -08:00
Eric Tune
dd8f335380
Merge pull request #4376 from dchen1107/podstatus
...
Fix podstatus issue caused by docker's resource temporarily unavailable issue
2015-02-12 13:16:09 -08:00
Dawn Chen
af54c62766
Fix podstatus issue caused by docker's resource temporarily unavailable error
2015-02-11 23:52:58 -08:00
Vishnu Kannan
922881fcd2
Improve error handling for '/containerLogs' API in kubelet.
2015-02-12 02:22:26 +00:00
Dawn Chen
f5f2b6f773
Check if kubelet does know such Pod before querying status.
2015-02-11 10:16:04 -08:00
Mike Danese
3d0cd81feb
refactor pkg/probe ProbeRunners to interfaces and move global probers into kubelet field for testability
2015-02-10 08:30:11 -08:00
Mike Danese
043794492e
implement readiness.
2015-02-10 08:30:09 -08:00
Brian Grant
175e9caa55
Merge pull request #4194 from dchen1107/podstatus
...
Kubelet decides podStatus
2015-02-05 17:18:39 -08:00
Mike Danese
14bfec92f2
rename probe.Status to probe.Result.
2015-02-05 15:49:58 -08:00
Dawn Chen
f762e062f2
Kubelet decides podStatus
2015-02-05 15:49:41 -08:00
Brendan Burns
8e6f5c7201
Merge pull request #3593 from commonlisp/master
...
Add timeouts to HealthChecks and retry checks
2015-02-05 15:40:22 -08:00
Brendan Burns
8b25b43039
Merge pull request #4117 from wojtek-t/validate_docker_version
...
Check Docker version in Kubelet /healthz handler
2015-02-05 10:06:33 -08:00
George Kuan
e8c33b7916
Add timeouts to HealthChecks and retry checks
...
Fixes issue #3532 . Added timeouts for HTTP and TCP checks
and enabled kubelet/probe to kubelet#maxRetries times
before declaring Failure.
Added Probe.TimeoutSecs to API
Probe variants now check container.LivenessProbe.TimeoutSeconds
Also added a test for timeouts in http_test.go.
2015-02-05 06:04:45 -08:00
Brendan Burns
cfe5b14114
Wait until containers actually finish running before trying to clean up
...
volumes or pods.
2015-02-04 17:28:41 -08:00
Wojciech Tyczynski
ead67108ce
Use existing method to get Docker version.
2015-02-04 20:50:21 +01:00
Wojciech Tyczynski
78f66a6ce9
Check Docker version in Kubelet /healthz handler
2015-02-04 18:31:24 +01:00
chakri
9508b2bf12
Fix orphaned pod & volume cleanup order. Volumes need to be unmounted before pod cleanup.
2015-02-04 01:46:28 +00:00
Vishnu Kannan
5e36f63f8b
Adding ResourceRequirementSpec to v1beta1, v1beta2, and v1beta3 APIs. The old resource
...
quantities 'CPU' and 'Memory' will be preserved until support for v1beta1 and v1beta2 APIs are
dropped.
Improved resource validation in the process.
2015-02-01 02:19:55 +00:00
Clayton Coleman
556e59b512
Merge pull request #3810 from ironcladlou/cache-namespacing
...
Support namespacing in cache.Store
2015-01-30 13:19:41 -05:00
Ye Yin
248624fc1f
Add docker's add/drop capabilites
2015-01-30 15:09:31 +08:00
Dan Mace
5ee943d683
Support namespacing in cache.Store implementations
...
Support namespacing in cache.Store by framing the interface functions
around interface{} and providing a key function to each Store implementation.
Implementation of a fix for #2294 .
2015-01-29 17:39:49 -05:00
Mrunal Patel
19e0605f5b
Replace "net" by "pod infra" in docs and format strings.
2015-01-28 15:03:06 -08:00
Tim Hockin
c8f61885df
Merge pull request #3695 from mikedanese/ready
...
refactor pkg/health into more reusable pkg/probe
2015-01-28 11:00:32 -08:00
Paul Morie
962bdda0dc
Fix typo in kubelet
2015-01-28 12:00:53 -05:00
Mike Danese
5dc6362f8a
rename probe.Healthy to probe.Success and renam probe.Unhealthy to probe.Failure.
2015-01-27 11:20:30 -08:00
Mike Danese
a298402bd4
remove pkg/health and move everything over to pkg/probe
2015-01-27 11:20:30 -08:00
Mrunal Patel
b6a0ff1003
IP: Shared IPC.
2015-01-27 09:26:36 -08:00
Brian Grant
dd45246150
Merge pull request #3587 from dchen1107/image
...
Clean up Kubernetes PullPolicy
2015-01-20 17:18:26 -08:00
Dawn Chen
2299c04cea
Remove image GC.
...
Fix #3617,#3611, and #3393 .
2015-01-20 13:43:08 -08:00
Dawn Chen
3101a33d32
Kubelet stop using api/helper.go for PullPolicy
2015-01-20 11:54:22 -08:00
Tim Hockin
6cb275829f
Implement volumes as plugins.
...
Break up the monolithic volumes code in kubelet into very small individual
modules with a well-defined interface. Move them all into their own packages
and beef up testing along the way.
2015-01-20 11:45:45 -08:00
Brendan Burns
d54242a649
Merge pull request #3552 from commonlisp/master
...
Replace kubelet logging %s--%s--%s with dockertools.BuildDockerName()
2015-01-16 14:31:43 -08:00
Eric Tune
98bdd3f7c4
Test for and fix crash with nil client in kubelet.
...
Added test that fails before fix.
Fixed use of nil pointer.
2015-01-16 13:39:31 -08:00
Brendan Burns
e86c8f9e53
Merge pull request #3565 from dchen1107/podstatus
...
Introduce PodStatusResult, and deprecate PodContainerInfo.
2015-01-16 12:05:07 -08:00
Dawn Chen
15e9fa8a9d
Introduce PodStatusResult, and deprecate PodContainerInfo.
2015-01-16 09:10:40 -08:00
George Kuan
af4bbd1a1b
Replace kubelet logging %s--%s--%s with dockertools.BuildDockerName()
...
Fixes issue #3454
2015-01-15 19:47:54 -08:00
Daniel Smith
46f8a56dba
Merge pull request #3376 from erictune/channel_api
...
Kublet watches Pods.
2015-01-15 14:48:12 -08:00
Eric Tune
b759f67ee3
Kublet watches Pods.
...
Added a kubelet config source for watching pods on apiserver.
The pods are converted to boundpods for merging with other
config sources.
The preferred way to create a kubelet is now to pass an apiserver
client but not an etcd client. Changed cmd/integration to use
apiserver to talk to kubelets. And cmd/kubernetes.
Unit, integration, and e2e tests pass, except for a failure of the pd
e2e test which was unrelated.
2015-01-14 15:31:26 -08:00
Tim Hockin
1be3de895c
Move util.UID to pkg/types
2015-01-14 15:22:21 -08:00
Daniel Smith
c13ae34b02
Merge pull request #3445 from saad-ali/fix3172
...
Remove CONDITION from event object completely
2015-01-14 15:03:06 -08:00
Eric Tune
88c68e0349
Merge pull request #3331 from pmorie/services
...
Service visibility w/in namespaces, master services, set env vars in kubelet
2015-01-14 15:01:05 -08:00
saadali
90dfdcecd5
Remove CONDITION from event object completely
...
# *** ERROR: *** Some files have not been gofmt'd. To fix these
# errors, run gofmt -s -w <file>, or cut and paste the following:
# gofmt -s -w pkg/kubecfg/resource_printer.go pkg/proxy/config/config.go pkg/runtime/types.go
#
# Your commit will be aborted unless you override this warning. To
# commit in spite of these format errors, delete the following line:
# COMMIT_BLOCKED_ON_GOFMT
2015-01-14 14:17:16 -08:00
Paul Morie
fd834ae84d
Pods should see services only from their own ns
2015-01-14 17:06:36 -05:00
Tim Hockin
e86d4cd3c6
Use a strong type for UID fields
2015-01-14 13:53:43 -08:00
Tim Hockin
ca89aa6528
Make data dirs for all pods when syncing
2015-01-13 17:18:21 -08:00
saadali
110ab6f1bd
Split up kubelet "source seen" logic
2015-01-12 21:48:55 -08:00
Tim Hockin
905514a12b
Ensure Namespace and UID are set in kubelet
...
Make all kubelet config sources ensure that UID and Namespace are defaulted, if
need be.
We can *almost* disable the "if blank" logic for UID, except for tests that
call APIs that do not run through SyncPods. We really ought to be enforcing
invariants better.
2015-01-12 14:27:34 -08:00
Tim Hockin
af0e2fd551
Merge pull request #3403 from thockin/klet-dirs-structure
...
Apply more structure to pod data dirs
2015-01-12 14:19:22 -08:00
saadali
e1917cf900
Fix "Kubelet doesn't kill old pods when BoundPods is empty" issue
2015-01-12 12:39:47 -08:00
Tim Hockin
523a80bec7
Apply more structure to pod data dirs
...
This is makes it possible to read back "known" pods from disk without
getting other (non-pod) kubelet dirs in the mix. Ditto for containers
within a pod. This is just saner overall. Pods now nest in a pods/
dir. Likewise containers.
2015-01-12 06:16:32 -08:00
Eric Tune
29d084c4d3
Pass client into Kubelet.
...
Subsequent PR will make use of it.
2015-01-08 15:35:17 -08:00
Tim Hockin
eac982137f
Merge pull request #3260 from commonlisp/master
...
NewMainKubelet validates SyncFrequency, minimum GC age, etc.
2015-01-08 08:20:55 -08:00
George Kuan
06475fc4b4
NewMainKubelet validates Kubelet config parameters
...
Fixes issue #3202 .
* Validates SyncFrequency and minimum GC age and propagates error to RunKubelet
* Defaults for Kubelet config and minor cleanup
* cmd Kubelet MinimumGCAge to 1m instead of 0
2015-01-07 18:50:53 -08:00
Daniel Smith
95dd2d7ca6
reuse function; never ever unlock without defer
2015-01-07 17:07:12 -08:00
Tim Hockin
5f2dae4dd8
Merge pull request #3195 from lavalamp/numericWire
...
Add numeric type into api
2015-01-07 16:15:52 -08:00
Daniel Smith
7f49ba0dcf
Put quantity into packages
...
kubelet, GCE, validation, client
2015-01-07 15:21:34 -08:00
Clayton Coleman
ba53d723d3
Clean up how client is passed to Kubelet in preparation for reading pods
...
Also fixes how Kubelet server looks up pods by name when there are multiple
sources.
2015-01-07 14:40:37 -05:00
Brendan Burns
7c69570663
Add a lock around the other docker pull.
...
Fixes e2e (I hope), certainly passes e2e in my client.
2015-01-07 00:17:57 -08:00
Brendan Burns
733e12e19b
Revert "Avoid race between image pull and garbage collect"
...
This reverts commit 6f14e2e210
.
2015-01-06 23:23:23 -08:00
Brendan Burns
e84b4d03a4
Merge pull request #3183 from anguslees/pull-lock
...
Avoid race between image pull and garbage collect
2015-01-06 21:23:29 -08:00
saadali
d6d18a32e7
Replace %s with %q to make empty strings more obvious
2015-01-05 16:38:47 -08:00
saadali
eb831919d9
Improve kubelet logging around container being killed due to hash change
2015-01-05 16:20:40 -08:00
Angus Lees
6f14e2e210
Avoid race between image pull and garbage collect
...
Hold the pullLock while pulling regular container images, not just the
network container.
Also: previously, the locks were grabbed at too-low a layer in the
callstack, leaving a (narrow) window where images could be pulled and
then garbage collected before being used.
This change takes the existing pullLock a layer higher in the call stack
so the critical regions encompass the entire find+delete and pull+use
operation in both cases.
2014-12-31 11:50:40 +11:00
saadali
e8d30f019d
Modify "kubectl get events" to print FieldPath so BoundPod events for the same Pod but different containers can be differentiated
2014-12-29 21:32:49 -08:00
Dawn Chen
d38613777b
Propagate syncPod error as event to upper layer.
2014-12-29 15:42:47 -08:00
Tim Hockin
652479a3b1
Add kubelet DNS flags & api disable for DNS
...
This adds --cluster_dns and --cluster_domain flags to kubelet. If
non-empty, kubelet will set docker --dns and --dns-search flags based on
these. It uses the cluster DNS and appends the hosts's DNS servers.
Likewise for DNS search domains.
This also adds API support to bypass cluster DNS entirely, needed to
bootstrap DNS.
2014-12-29 09:18:12 -08:00
Brendan Burns
b8781c04bb
Add support for garbage collecting images.
2014-12-22 16:56:58 -08:00
Vish Kannan
c34f2d354c
Merge pull request #3035 from dchen1107/master
...
Update fsouza/go-dockerclient pkg to latest revision and fix some compiling issues.
2014-12-18 14:07:40 -08:00
Dawn Chen
608c3d5046
Update kubelet package on latest go-dockerclient package.
2014-12-18 13:49:13 -08:00
Brendan Burns
845fb5013d
Remove some dead code.
2014-12-18 13:32:20 -08:00
Brendan Burns
7da0378f3c
Track the sources that the kubelet has seen, and only delete pods
...
when every source has been seen at least once.
2014-12-17 13:08:43 -08:00
Clayton Coleman
dadb8431c4
Remove internal PodState in favor of internal PodStatus object
2014-12-15 16:50:05 -05:00
Daniel Smith
e46bfcf699
Allow, when testing, SelfLinks to be unset. Kubelet now makes events in tests.
2014-12-09 17:53:42 -08:00
Daniel Smith
ba62943b8e
Compare containers by name, not by pointer equality.
2014-12-09 17:06:39 -08:00
Tim Hockin
acc6b95c21
Add functions to get kubelet directories.
...
Gets rid of some magic constants and makes volume plugins (coming later)
cleaner.
2014-12-06 11:00:19 -08:00
Tim Hockin
95a9098311
fix 'go vet' warnings
2014-11-21 09:45:28 +08:00
Tim Hockin
ea960711ff
Clean up error logs.
...
Use %v for errors, tidy some messages, make error messages start lowe-case
(as per go guidelines). Just accumulated nits.
2014-11-21 09:45:26 +08:00
Dawn Chen
6d3324c3fd
Add image related events to kubelet.
2014-11-19 15:16:14 -08:00
Eric Tune
0ca192889f
Fix namespace of minion birthcry event.
2014-11-17 15:34:07 -08:00
Daniel Smith
eeb4547bec
Merge pull request #2392 from dchen1107/upstream1
...
Generate container related events from kublet
2014-11-17 11:28:52 -08:00