Commit Graph

2270 Commits (9c099bf529333a1f0c30a1176a92af5e3b2f7a8c)

Author SHA1 Message Date
k8s-merge-robot fcf8263b1b Merge pull request #19572 from pwittrock/exportfsmetrics
Auto commit by PR queue bot
2016-01-17 07:46:02 -08:00
k8s-merge-robot 0051dcc83e Merge pull request #19560 from Random-Liu/format-reconcile-log
Auto commit by PR queue bot
2016-01-17 04:51:05 -08:00
Random-Liu 0e612afa98 Start using PodSyncResult in dockertools 2016-01-17 00:42:45 -08:00
Random-Liu f2176643e7 Add unit test for PodSyncResult 2016-01-17 00:42:45 -08:00
Random-Liu 2d31d8ed4c Add PodSyncResult 2016-01-17 00:42:44 -08:00
k8s-merge-robot ac0d01f8ca Merge pull request #19436 from yujuhong/status_cache_p2
Auto commit by PR queue bot
2016-01-16 09:24:19 -08:00
k8s-merge-robot ffed4e1a3a Merge pull request #19428 from yifan-gu/rkt_isolator
Auto commit by PR queue bot
2016-01-16 08:48:38 -08:00
Mike Danese 936c8cd597 Merge pull request #19685 from resouer/testing
Replace fake handler using testing pkg
2016-01-15 17:47:53 -08:00
Tim St. Clair 5a0dc30b51 Add blank /stats/summary kubelet endpoint
Add a `/stats/summary` endpoint to the kubelet which will return an
empty Summary{} struct (json formatted), as a summary API
placeholder. Once the next cAdvisor release is vendored, the summary
API will be filled in.
2016-01-15 14:55:54 -08:00
Random-Liu 8fb056d258 Add getTestPod() to avoid sharing object among test cases 2016-01-15 11:22:15 -08:00
k8s-merge-robot 21aa683fb5 Merge pull request #18974 from pmorie/config-env
Auto commit by PR queue bot
2016-01-15 06:42:56 -08:00
combk8s 5b383dad62 fix image gc bug 2016-01-15 16:43:22 +08:00
harry 98222b4d8b Replace to tag
Use a testing pkg to replace testing util codes
2016-01-15 15:07:21 +08:00
Harry Zhang 936a11e775 Use networking to hold network related pkgs
Change names of unclear methods

Use net as pkg name for short
2016-01-15 13:46:16 +08:00
Mike Danese 33c72db59c Merge pull request #19528 from resouer/strings-util
Create strings pkg to fix util issue
2016-01-14 21:19:17 -08:00
harry 7405c7899b Add strings pkg to hold strings utils
Replace funtions with strings pkg

Fix all references and rename the pkg
2016-01-15 12:37:50 +08:00
Phillip Wittrock bb216e53da Define stats api fields for exporting filesystem metrics #17331 2016-01-14 15:52:35 -08:00
Yu-Ju Hong c9faecba9d Merge pull request #19668 from Random-Liu/fix-bug-in-reconcile
Fix bug in needsReconcile
2016-01-14 14:29:29 -08:00
Mike Danese 9745d1cbf0 Merge pull request #19626 from mikedanese/kubelet-labels
kubelet: use ConfigurationMap instead of json
2016-01-14 14:08:53 -08:00
Prashanth B 926b94fefc Merge pull request #19493 from bprashanth/kubelet_fix
Errors in network setup should prevent pod creation
2016-01-14 13:49:19 -08:00
Yu-Ju Hong 15950daa7f Restore the old behavior of setting pod status to pending 2016-01-14 13:46:26 -08:00
Random-Liu fed61731f1 Fix bug in needsReconcile 2016-01-14 13:44:02 -08:00
Mike Danese 41df8749a8 Merge pull request #19470 from gmarek/kubemark-performance
Shorten the sleep amount in the fake docker client
2016-01-14 11:55:24 -08:00
Mike Danese 14378485f3 Merge pull request #19629 from yifan-gu/rkt_debug_logging
rkt: Add useful debugging message.
2016-01-14 11:49:18 -08:00
Mike Danese 35a3785cf6 kubelet: use ConfigurationMap instead of json 2016-01-14 09:32:42 -08:00
Yu-Ju Hong 07cf5cff48 Enable kubecontainer.Cache in kubelet 2016-01-14 09:31:24 -08:00
k8s-merge-robot bf315d4563 Merge pull request #19374 from timstclair/housekeep
Auto commit by PR queue bot
2016-01-14 01:42:52 -08:00
k8s-merge-robot a385de1e43 Merge pull request #19357 from timstclair/stats-refactor
Auto commit by PR queue bot
2016-01-13 23:54:48 -08:00
k8s-merge-robot 5462a37dfe Merge pull request #17700 from yujuhong/status_cache
Auto commit by PR queue bot
2016-01-13 22:47:57 -08:00
Yifan Gu 74b8ffd156 rkt: Add useful debugging message. 2016-01-13 17:15:49 -08:00
Paul Morie 6cfd101251 Add support for ConfigMap keys in env vars 2016-01-13 17:00:15 -05:00
Yu-Ju Hong b56ed1a8c2 Support populating the runtime cache in PLEG
This changes does not turn on this feature (cache) for kubelet.
2016-01-13 10:19:47 -08:00
Yu-Ju Hong 032c0a4074 Add container.Cache for storing container.PodStatus
This cache will be used to stores the PodStatus of all pods/containers
visible on the node. This will elimiate the need for pod workers to query the
container runtime directly.
2016-01-13 10:19:47 -08:00
Sami Wagiaalla 125295ba40 Remove manageVolumeOwnership from kubelet 2016-01-13 10:37:10 -05:00
Sami Wagiaalla f650648aae Add fsGroup to SetUp and SetUpAt 2016-01-13 10:37:10 -05:00
Tim St. Clair e2ffd007f7 Implement node Allocatable
Add `kube-reserved` and `system-reserved` flags for configuration
reserved resources for usage outside of kubernetes pods. Allocatable is
provided by the Kubelet according to the formula:
```
Allocatable = Capacity - KubeReserved - SystemReserved
```

Also provides a method for estimating a reasonable default for
`KubeReserved`, but the current implementation probably is low and needs
more tuning.
2016-01-12 17:00:43 -08:00
Yu-Ju Hong 4ab505606b Always overwrite items in kubelet's work queue
This allows kubelet to change the next sync time based on the last result.
2016-01-12 16:25:19 -08:00
Yu-Ju Hong 73a4f8225c PLEG should report events if a container is removed
Currently, pleg would report a event if a container transitions from running to
exited between relisting. However, if would not report any event if a container
gets stopped and removed between relisting. This event will eventually be
handled when the pod syncs periodically, but this is undesirable. This change
ensures that we detect all such events.
2016-01-12 16:25:19 -08:00
Mike Danese bf763bba95 Merge pull request #19498 from pwittrock/nodelabels
Node labels: Remove node-labels-file command line option.  Change --n…
2016-01-12 15:12:57 -08:00
k8s-merge-robot 0df7e695d4 Merge pull request #19458 from davidopp/notsclose
Auto commit by PR queue bot
2016-01-12 13:53:13 -08:00
Phillip Wittrock f1c8384ff4 Node labels: Remove node-labels-file command line option. Change --node-label format from key=value to key:value to be consitent with how the header key:value is specified on command line. 2016-01-12 12:57:12 -08:00
Random-Liu acb74454dc Format reconcile log with format.Pod(pod) 2016-01-12 12:03:16 -08:00
k8s-merge-robot 67ac4e3838 Merge pull request #18410 from Random-Liu/reconcile-pod-status
Auto commit by PR queue bot
2016-01-12 02:17:09 -08:00
k8s-merge-robot c255181509 Merge pull request #18248 from resouer/images-dev
Auto commit by PR queue bot
2016-01-11 23:53:43 -08:00
David Oppenheimer 8ac484793d Comment out calls to httptest.Server.Close() to work around
https://github.com/golang/go/issues/12262 . See #19254 for
more details. This change should be reverted when we upgrade
to Go 1.6.
2016-01-11 23:02:11 -08:00
Saad Ali 651206fd90 Merge pull request #19393 from yujuhong/fix_dockerclient
Fix fake docker client to corretly report status of containers
2016-01-11 13:56:41 -08:00
Saad Ali f5ea4f4671 Merge pull request #19392 from yujuhong/runtime_mock
Add a container runtime mock for testing
2016-01-11 13:03:37 -08:00
Prashanth Balasubramanian 4fe4f1f20e Errors in network setup should prevent pod creation 2016-01-11 11:16:15 -08:00
gmarek 573c3ca320 Shorten the sleep amount in the fake docker client 2016-01-11 12:15:11 +01:00
Random-Liu 5b4a210d49 Add reconcile support in kubelet 2016-01-10 01:35:07 -08:00
k8s-merge-robot 609cdfd267 Merge pull request #19331 from resouer/hash-util
Auto commit by PR queue bot
2016-01-09 13:08:01 -08:00
Yu-Ju Hong 712612c2dc Treat first-seen, non-pending pods as updates
Kubelet doesn't perform checkpointing and loses all its internal states after
restarts. It'd then mistaken pods from the api server as new pods and attempt
to go through the admission process. This may result in pods being rejected
even though they are running on the node (e.g., out of disk situation). This
change adds a condition to check whether the pod was seen before and categorize
such pods as updates. The change also removes freeze/unfreeze mechanism used to
work around such cases, since it is no longer needed and it stopped working
correctly ever since we switched to incremental updates.
2016-01-08 17:21:43 -08:00
Yifan Gu dda62129d1 rkt: Add unit tests for setApp. 2016-01-08 13:41:18 -08:00
Yifan Gu cc656ae6ac rkt: Refactor setIsolators.
Replace manually creating isolators with isolator constructors.
Also add support for supplementary group IDs.
2016-01-08 13:31:21 -08:00
harry zhang 27ca7dc71e Expose image list in node status
Change image manager to use repotag
2016-01-08 17:01:31 +08:00
Yu-Ju Hong b969599daf Fix fake docker client to corretly report status of containers 2016-01-07 18:20:41 -08:00
Yu-Ju Hong c997fb3715 Add a container runtime mock for testing 2016-01-07 18:02:49 -08:00
Isaac Hollander McCreery 791cae90f0 Merge pull request #19350 from brendandburns/oncall
Improve error reporting a little in ingress e2e.
2016-01-07 15:51:31 -08:00
Tim St. Clair 3c72506f10 Fixed test & error code 2016-01-07 11:55:26 -08:00
Tim St. Clair 1fd72a7871 Change default cAdvisor housekeeping interval to 10s
Change the default interval cAdvisor uses to gather stats to 10
seconds.
2016-01-07 11:29:15 -08:00
Clayton Coleman 791d160b42 Split the Kubelet flag options and struct
Reduces the size of the app/server.go file and ensures that the flags
and their defaults are clearly separated.
2016-01-06 21:23:06 -05:00
Tim St. Clair 368447ff3f Rector kubelet stats serving
Changes include:
- Moving stats serving & routes to pkg/kubelet/server/stats/handler.go
- Managing the routes with restful.WebService, rather than manual
parsing
- Misc cleanup

These changes will make adding the new routes for /stats/summary more
manageable.
2016-01-06 17:37:12 -08:00
Brendan Burns 07b3ab720d Improve error reporting a little in ingress e2e.
Also add Output() to the util/exec Cmd interface.
2016-01-06 15:25:04 -08:00
harry 2a52976983 Use hashutil to hold hash tools 2016-01-06 22:28:58 +08:00
k8s-merge-robot d1668c6656 Merge pull request #19269 from yifan-gu/rkt_refactor
Auto commit by PR queue bot
2016-01-05 22:28:02 -08:00
k8s-merge-robot 38f926dbb9 Merge pull request #19206 from Random-Liu/remove-wired-docker-label
Auto commit by PR queue bot
2016-01-05 19:32:01 -08:00
k8s-merge-robot 66d3cbf889 Merge pull request #16900 from madhusudancs/avoid-kubelet-oscillation
Auto commit by PR queue bot
2016-01-05 17:14:13 -08:00
Random-Liu 884dc5c9e5 Put TerminationGracePeriod, DeletionGracePeriod and PreStopHandler to docker labels 2016-01-05 15:45:29 -08:00
Yu-Ju Hong 343240d559 Fix container restarts caused by kubelet restarts
There has been a recent regression causing kubelet to assume no containers are
running for the pod if kubelet has not seen the pod before. This would cause
all containers to be restarted after kubelet gets restarted. This change fixes
the bug.
2016-01-05 14:24:22 -08:00
k8s-merge-robot 4a89481fbb Merge pull request #19034 from Random-Liu/deprecate-running-pod-in-syncpod
Auto commit by PR queue bot
2016-01-04 18:51:18 -08:00
Yifan Gu 2767f10b61 rkt: refactoring on constructing the app section of rkt pods. 2016-01-04 16:27:52 -08:00
Madhusudan.C.S 059c2aa799 Mitigate node out of disk status oscillation by delaying it.
Implement a flag that defines the frequency at which a node's out of
disk condition can change its status. Use this flag to suspend out of
disk status changes in the time period specified by the flag, after
the status is changed once.

Set the flag to 0 in e2e tests so that we can predictably test out of
disk node condition.

Also, use util.Clock interface for all time related functionality in
the kubelet. Calling time functions in unversioned package or time
package such as unversioned.Now() or time.Now() makes it really hard
to test such code. It also makes the tests flaky and sometimes
unnecessarily slow due to time.Sleep() calls used to simulate the
time elapsed. So use util.Clock interface instead which can be faked
in the tests.
2016-01-04 12:23:38 -08:00
Yu-Ju Hong 7d180b337b Record pleg pod relist interval and latency
Relisting latency/interval affects how quick kubelet discovers changes. Record
the metrics in Prometheus to surface such information.
2016-01-04 10:56:38 -08:00
Random-Liu 2ea11690b8 Remove running pod from SyncPod() of container runtime 2016-01-04 10:18:46 -08:00
Ravi Sankar Penta d0dd6c844b Allow node IP to be passed as optional config for kubelet
In case of multiple IPs on the node, this will allow admin to
specify desired IP to be used for the node.
2016-01-03 09:29:07 -08:00
Random-Liu b2a72ca384 Change my TODO to be the same with others 2015-12-31 00:41:05 -08:00
Yifan Gu 9b81b67879 rkt: Move image related functions to image.go 2015-12-29 17:17:27 -08:00
Random-Liu 6e92ddf9e1 Cleanup pod print in dockertools/manager.go, prober/prober.go and
runonce.go
2015-12-28 14:07:37 -08:00
Chao Xu 2b5b708b70 Refactor the API registration and installation 2015-12-23 22:44:25 -08:00
Yifan Gu 644aa9536a rkt: Remove pod_info.go, clean up codes that not needed anymore. 2015-12-22 12:02:25 -08:00
Yifan Gu ee7251ed10 rkt: Update for newest api version. 2015-12-22 12:02:25 -08:00
Yifan Gu 278f0dc8ad rkt: Replace image cat-manifest/list with api calls. 2015-12-22 12:02:25 -08:00
Jimmi Dyson 041ab17a67 Bump cadvisor to fix interface stats bugs & improve performance
Includes necessary godep upgrades for docker & systemd packages as well as
migrating from docker/libcontainer to opencontainers/runc/libcontainer.
2015-12-21 17:07:21 +00:00
k8s-merge-robot a29f4babf5 Merge pull request #18544 from timstclair/stats
Auto commit by PR queue bot
2015-12-19 19:54:11 -08:00
k8s-merge-robot cb42bd47bb Merge pull request #18027 from roboll/runonce-datadirs
Auto commit by PR queue bot
2015-12-19 19:14:29 -08:00
k8s-merge-robot b7dd32ad70 Merge pull request #18643 from yifan-gu/rkt_get_pod_status
Auto commit by PR queue bot
2015-12-19 02:38:31 -08:00
k8s-merge-robot 0b647564fc Merge pull request #18625 from bprashanth/kube_up_flannel
Auto commit by PR queue bot
2015-12-19 01:29:11 -08:00
Wojciech Tyczynski bf73d1741e Merge pull request #18729 from timstclair/worker-race
Concurrency fixes for prober tests
2015-12-18 16:15:13 +01:00
Tim St. Clair c357b91d2c Update from offline discussions
- Sample is now the toplevel struct, so all child structs have the same
  timestamp
- Removed FilesystemStats. There are more discussions needed
  wrt. volumes and disk accounting, so this will be added in a follow
  up PR
- Removed Options. The most recent sample will be returned.
2015-12-17 15:45:14 -08:00
Tim St. Clair e1fc2c1152 @vishh PR feedback 2015-12-17 10:54:17 -08:00
Tim St. Clair ce20c3b100 Add new Stats API for serving pod level stats
This API has been discussed ad nauseam across several forums, and this
API represents the latest conclusion. In summary, we will provide this
API as temporary solution for providing the new stats required for 1.2.

In the longterm this API will be split into "essential" stats, which
will be provided by a first-party API served through the kubelet, and
"non-essential" (monitoring) stats, which will be provided by a 3rd
party API served from a pod.
2015-12-17 10:54:17 -08:00
k8s-merge-robot 674e24a16e Merge pull request #18617 from mqliang/OSImage
Auto commit by PR queue bot
2015-12-17 08:50:48 -08:00
deads2k 9fda7f1812 update StatusDetails to handle Groups 2015-12-17 09:14:12 -05:00
k8s-merge-robot 0f144fd351 Merge pull request #18529 from timstclair/server
Auto commit by PR queue bot
2015-12-17 04:27:11 -08:00
Yifan Gu 2c79c670f1 rkt: Fix GetPods(), refactor tests for GetPods().
Fix GetPods() so that the container hash is fetched from the
annotations in pod manifest's app list instead of image manifest.
2015-12-16 16:53:45 -08:00
Yifan Gu 5f4e6d0908 rkt: Add GetPodStatus(), GetPodStatusAndAPIPodStatus().
Also add ConvertPodStatusToAPIPodStatus().
Add tests for GetPodStatus().
2015-12-16 14:35:19 -08:00
k8s-merge-robot c2189fd60d Merge pull request #18518 from Random-Liu/fix-potential-data-race
Auto commit by PR queue bot
2015-12-16 09:45:52 -08:00
Tim St. Clair facb0a5c42 Concurrency fixes for prober tests
Fix leaking go routines and race conditions in prober unit tests.
2015-12-15 14:37:48 -08:00
Tim St. Clair 89bc7992f9 Refactor kubelet server into its own package
Refactor Kubelet's server functionality into a server package. Most
notably, move pkg/kubelet/server.go into
pkg/kubelet/server/server.go. This will lead to better separation of
concerns and a more readable code hierarchy.
2015-12-15 10:20:38 -08:00
k8s-merge-robot 5429d15fcf Merge pull request #18449 from timstclair/race
Auto commit by PR queue bot
2015-12-15 05:32:17 -08:00