Commit Graph

1538 Commits

Author SHA1 Message Date
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
Dawn Chen
736c4ffb0b more events from kublet 2014-11-17 11:00:46 -08:00
Dawn Chen
8a508bcce3 Merge pull request #2391 from lavalamp/fix3
Remove confusing function; add TODO and explanation for (nonfatal) error...
2014-11-14 17:24:18 -08:00
Daniel Smith
c412540cf2 Remove confusing function; add TODO and explanation for (nonfatal) error message in integration test. 2014-11-14 17:16:05 -08:00
Dawn Chen
f729d748ac If the image with :latest tag specified in Spec, kubelet should try
to pull the latest one even the policy is PullIfNotPresent.
2014-11-14 16:09:53 -08:00
Dawn Chen
ada43ae233 Fixed Eventf with wrong arguments. 2014-11-10 23:53:48 -08:00
Eric Tune
08c8f2cde1 Record event of kubelet restart re: minion obj. 2014-11-10 13:46:48 -08:00
Dawn Chen
57454cce81 Add support to capture application termination message and propagate
the message to the upper layer through ContainerStatus.
2014-11-10 10:56:23 -08:00
Dawn Chen
e88e490614 Merge pull request #2143 from lavalamp/eventing2.1
Begin putting event emission into kubelet
2014-11-05 15:37:26 -08:00
Brendan Burns
0a1493a5ce Merge pull request #2160 from dchen1107/fix
Restart network container when container's configure is changed.
2014-11-05 15:13:05 -08:00
Daniel Smith
dcc111bf13 Start putting event generation into kubelet (not enabled yet) 2014-11-05 15:09:14 -08:00
Daniel Smith
4b16e979e6 Fix nil docker client (how did this ever work???) 2014-11-04 16:58:37 -08:00
Dawn Chen
03958f5049 Restart network container when container's configure is changed.
Fix #2099
2014-11-04 14:38:33 -08:00
Brendan Burns
69ad5c9bff Merge pull request #2077 from dchen1107/cleanup
PodUpdate only has the delta changes, not full snapshot of all desired
2014-10-30 21:46:26 -07:00
Dawn Chen
a1e79048a6 Add /podSpecs to Kubelet 2014-10-30 16:38:08 -07:00
Dawn Chen
445ec719c9 PodUpdate only has the delta changes, not full snapshot of all desired
BoundPods on a node. PR #1865 has a wrong assumption, with which any
PodUpdate operation will cause rest of running containers without updates
are killed as an unexpected ones.

Fix #2028
2014-10-30 11:22:59 -07:00
Brendan Burns
51bf451932 Add container garbage collection. 2014-10-28 12:52:06 -07:00
Tim Hockin
0a202354b9 Fix race between syncPod and syncPods 2014-10-23 15:53:26 -07:00
Tim Hockin
099934d49f Cleanups in syncPod 2014-10-23 15:53:26 -07:00
Tim Hockin
76c33a88b6 Remove redundancy in SyncPods 2014-10-23 15:53:26 -07:00
Tim Hockin
36a05ee871 Improve kubelet logging 2014-10-23 15:53:26 -07:00
Tim Hockin
487867bd01 Extract cadvisor code to cadvisor.go 2014-10-23 15:53:26 -07:00
Tim Hockin
de3060e4eb Rename httpGetInterface to httpGetter 2014-10-23 15:53:26 -07:00
Clayton Coleman
bb77a5d15f Rename ID -> Name 2014-10-22 15:00:26 -04:00
Brendan Burns
aa55e87ac2 Support updates in the kubelet. 2014-10-17 11:02:21 -07:00
Clayton Coleman
892942af8f Read BoundPods from etcd instead of ContainerManifestList
There are three values that uniquely identify a pod on a host -
the configuration source (etcd, file, http), the pod name, and the
pod namespace. This change ensures that configuration properly
makes those names unique by changing podFullName to contain both
name (currently ID in v1beta1, Name in v1beta3) and namespace.

The Kubelet does not properly handle information requests for
pods not in the default namespace at this time.
2014-10-16 19:29:08 -04:00
Dawn Chen
5f97413dd5 Merge pull request #1663 from smarterclayton/separate_pod_state_for_health_check
Refactor HealthCheck to take podUUID as its own argument
2014-10-10 09:11:59 -07:00
Daniel Smith
7bb1bdd693 Merge pull request #1711 from erictune/vets
Use pointer for struct holding lock.
2014-10-09 17:25:54 -07:00
Eric Tune
42f6324183 Use pointer for struct holding lock. 2014-10-09 17:16:21 -07:00
Clayton Coleman
95cb2e3eb3 Refactor HealthCheck to take podUUID arguments
PodState is going away (won't have podUUID anymore)
2014-10-09 16:42:55 -04:00
Daniel Smith
1fc92bef53 Load cadvisor connection in background. 2014-10-08 17:06:41 -07:00
Dawn Chen
73c8f41737 Add the missing arg in Errorf. 2014-10-07 13:53:25 -07:00
Brendan Burns
7ecd8d7207 Fix a problem with for loops, copy semantics and async routines. 2014-10-06 21:20:00 -07:00