Commit Graph

3192 Commits (b038355c81ee621ef0bb199c20442879b97eadc1)

Author SHA1 Message Date
Yuki Sonoda (Yugui) a702be8e63 Fixes new golint errors in pkg/kubelet after merge 2014-07-16 21:33:26 +09:00
Yuki Sonoda (Yugui) 07b8be4d4c Merge branch 'master' into fix/golint2
Conflicts:
	pkg/api/types.go
	pkg/health/health_check.go
	pkg/kubelet/kubelet.go
	pkg/kubelet/kubelet_server.go
	pkg/kubelet/kubelet_server_test.go
	pkg/kubelet/kubelet_test.go
2014-07-16 21:33:21 +09:00
Daniel Smith 90afdb06c1 Move logger to own package; clean up apiserver to use serve mux. 2014-07-15 21:25:33 -07:00
Daniel Smith c7d31fabbc Merge pull request #480 from monnand/cadvisor-update-1
Update kubelet package to use most recent cAdvisor's code
2014-07-15 18:25:54 -07:00
Brendan Burns c331849e69 Add support for CPU limiting to the kubelet. 2014-07-15 16:49:34 -07:00
Daniel Smith 3d63d733e3 Merge pull request #456 from brendandburns/health
Move health checking logic out to a utility. Add a minion registry that health checks.
2014-07-15 15:39:21 -07:00
Brendan Burns c5db874090 Addressed comments. 2014-07-15 15:16:36 -07:00
Nan Deng 30bc2af9f1 gofmt -r "GetContainerStats->GetContainerInfo" 2014-07-15 11:53:00 -07:00
Nan Deng 8c573ee727 Update to latest cAdvisor and use data structures directly from cAdvisor 2014-07-15 11:53:00 -07:00
Clayton Coleman e02ea37d9f Move Docker specific function out of the Kubelet 2014-07-15 11:34:48 -04:00
Yuki Yugui Sonoda edac5ce0b8 Fixes golint errors in pkg/kubelet 2014-07-15 22:56:31 +09:00
Yuki Yugui Sonoda af38bf1ef7 Fixes golint errors in pkg/api 2014-07-15 22:56:09 +09:00
Clayton Coleman 07fafb1252 Merge pull request #453 from brendandburns/memory
Add support for memory limits in the kubelet.
2014-07-15 09:37:42 -04:00
Kouhei Ueno bba23e28c2 Define EtcdErrorCode as constant and reuse EtcdError instances 2014-07-15 20:48:06 +09:00
Brendan Burns 62dfc74606 Move health checking logic out to a utility.
Add a minion registry that health checks.
2014-07-14 22:38:28 -07:00
Brendan Burns 92d83640c0 Add support for memory limits in the kubelet. 2014-07-14 20:57:26 -07:00
Brendan Burns ae179121c6 Address comments. 2014-07-14 20:38:43 -07:00
Brendan Burns 9f99767b6c Add a /healthz handler to the kubelet server, so that the master can validate kubelet health. 2014-07-14 20:38:18 -07:00
Yifan Gu 3a95572290 Changed the keepChannel to buffered channel.
Since the keepChannel is used to send data, not just for synchronizaiton,
so make it a buffered channel can avoid unnecessary goroutine yields.
2014-07-14 14:22:19 -07:00
Clayton Coleman de51331808 Merge pull request #435 from claire921/kubelet_server
pkg/kubelet: clean up server http error handling
2014-07-12 14:35:36 -04:00
Claire Li 10de5b12fe pkg/kubelet: explicitly return nil as error and nil as a result on error 2014-07-12 11:03:08 -07:00
Claire Li cdc44387c6 pkg/kubelet: clean up server http error handling 2014-07-12 10:44:29 -07:00
Brendan Burns 1b4dfe7d14 Move from bool to HealthCheckStatus 2014-07-11 10:15:31 -07:00
Brendan Burns 6312ffebcf Address some comments from thockin@ 2014-07-11 10:14:45 -07:00
Tim Hockin 32bcdbeb53 Merge pull request #396 from brendandburns/hostname
Add Hostname to the docker run command.
2014-07-10 12:28:30 -07:00
Brendan Burns dc61547b95 Add Hostname to the docker run command. 2014-07-10 12:25:57 -07:00
Yuki Sonoda (Yugui) 45b48e1668 Fixes golint errors in pkg/kubelet 2014-07-10 21:57:26 +09:00
Tim Hockin b0b9606aea Merge pull request #365 from brendandburns/health
add http health checks.
2014-07-09 16:14:30 -07:00
brendandburns 4c309862e3 Merge pull request #371 from thockin/valid3
Accumulate errors during validation
2014-07-09 13:36:37 -07:00
Tim Hockin 95fb7bc1ae Merge pull request #379 from brendandburns/host
Add support for host up binding to the API (and kubelet)
2014-07-09 12:54:32 -07:00
Brendan Burns 41c6680943 add http health checks. 2014-07-09 12:01:43 -07:00
Dan Mace 00df67b0bf Namespace "local" volume mounts by ContainerManifest ID on disk
Local volume mounts in a pod should result in host mounted directories
which are namespaced by the ContainerManifest ID.
2014-07-09 14:45:22 -04:00
Brendan Burns 4b22f7a462 Add support for host ip binding to the API (and kubelet) 2014-07-09 11:13:38 -07:00
Tim Hockin 54790080b3 Accumulate validation errors
Rather than report the first error, accumulate all errors and report them all
at once.
2014-07-09 07:55:15 -07:00
brendandburns 242627eaf0 Merge pull request #358 from thockin/valid2
Add validation of VolumeMounts
2014-07-08 21:58:32 -07:00
Dawn Chen a0f94757a4 Instantiate cAdvisor client for kubelet to query both machine and container
information.
2014-07-08 16:37:43 -07:00
Tim Hockin 2eb2784725 Validation of HostPorts and Manifest IDs
Check that HostPorts are unique across the whole host and that Manifest IDs
are unique.
2014-07-08 15:22:47 -07:00
Tim Hockin ad88fa48a5 Add validation of Ports
Also do caseless compares for "enum" strings.
2014-07-08 15:22:44 -07:00
Tim Hockin 92cf6662ed Merge pull request #351 from discordianfish/use-api-for-pull
Use api for pulling images instead of shelling out
2014-07-08 09:08:12 -07:00
Johannes 'fish' Ziemke 3fa6c9671d Use docker client lib instead of binary for pulls 2014-07-08 12:21:39 +02:00
Nan Deng aa808a6505 fix data race introduced by 1798e0f 2014-07-02 23:23:14 -07:00
brendandburns bf44347340 Merge pull request #350 from brendandburns/async
Fix an error in the async-path that led to dropping pods.
2014-07-02 23:15:35 -07:00
Brendan Burns 0655370ea2 Fix an error in the async-path that led to dropping pods. 2014-07-02 23:05:30 -07:00
brendandburns d386c02dfd Merge pull request #328 from monnand/root-container
Get root container stats from cAdvisor
2014-07-02 22:57:28 -07:00
Nan Deng 42fd4383a1 Get machine stats from cAdvisor 2014-07-02 16:59:50 -07:00
Daniel Smith 3b9735d787 Test atomic PUTs, and make them work.
Improve apiserver/logger.go's interface (it's pretty cool now).

Improve apiserver's error reporting to clients.

Improve client's handling of errors from apiserver.

Make failed PUTs return 409 (conflict)-- http status codes are amazingly
well defined for what we're doing!
2014-07-02 15:42:05 -07:00
Daniel Smith a6144f656c Move etcd helpers to tools package so they can depend on api package. Add ResourceVersion, hook it up to etcd index to get atomic PUTs. 2014-07-02 15:42:05 -07:00
Tim Hockin d3da6b168e nit: s/Id/ID/ for go style 2014-07-02 11:21:29 -07:00
brendandburns a8a0039a39 Merge pull request #335 from vmarmol/add-kubelet-new
Add a New() for Kubelet.
2014-07-01 22:16:24 -07:00
Victor Marmol e29ff512fc Add a New() for Kubelet.
This will make it easier to add new fields that need to be initialized. Also refactors tests to ease making fake Kubelets.
2014-07-01 19:23:26 -07:00
Daniel Smith 969586a214 Add logging, fix crash
Crash was in kublet_server when fake docker client gives it nil pointer.
2014-07-01 17:38:07 -07:00
Daniel Smith 587fb75a7a rearrange RunKubelet's parameters so that address and port are next to each other 2014-07-01 16:47:37 -07:00
Daniel Smith 11d6451d2a Change kublet to serve podInfo instead of containerInfo. Plumb through system. 2014-07-01 16:41:10 -07:00
Daniel Smith 049bc6b6d4 Fix interface{} in api/types.go; plumb through system. 2014-07-01 16:41:09 -07:00
brendandburns 664c9faa43 Merge pull request #327 from lavalamp/etcdChanFix
Improvements to integration test & logging
2014-07-01 15:40:48 -07:00
brendandburns ec01289aeb Merge pull request #326 from thockin/valid2
First piece ofn actual validation
2014-07-01 15:40:13 -07:00
brendandburns 67eae1f645 Merge pull request #331 from dchen1107/cleanup
Fixed the data race found in kubelet_test.go
2014-07-01 15:30:36 -07:00
Dawn Chen 17bad028ce Fixed the data race found in kubelet_test.go 2014-07-01 15:15:40 -07:00
Daniel Smith b820e026f6 Improve logging. 2014-07-01 14:02:14 -07:00
Tim Hockin a92e1aa1bf First piece of validation
I'm adding pieces incrementally to make sure we get full testing of each
piece.

Make syncLoop() private
2014-07-01 13:48:57 -07:00
Brendan Burns 1798e0fea3 Make each pod synchronization async. 2014-07-01 12:20:13 -07:00
Brendan Burns 7999983311 Added async behavior. 2014-07-01 11:11:10 -07:00
Clayton Coleman 15c96508a9 Use ID instead of Id (go style) everywhere
Fixes #278
2014-07-01 13:16:47 -04:00
Tim Hockin 6c79937a42 Reduce logging noise
Don't use %#v for errors.
Do use %+v when more detail than %v is needed.
Fix typos Kublet -> Kubelet.
2014-06-28 22:16:26 -07:00
Justin Huff 28afe91855 Allow empty lists when polling manifests via http 2014-06-27 23:46:02 -07:00
Daniel Smith b21facafb1 Merge pull request #273 from brendandburns/kubelet
Make the docker endpoint a flag.
2014-06-27 17:09:25 -07:00
Brendan Burns f8060c5b3d Make the docker endpoint a flag. 2014-06-27 17:01:12 -07:00
Daniel Smith 54ad4582e2 Fix unstable map ordering issue in test 2014-06-27 15:40:23 -07:00
Justin Huff 8c5562ef77 DockerContaineId->DockerId 2014-06-27 14:03:50 -07:00
Justin Huff 81663fdb80 Introduce a type for docker container ids 2014-06-27 14:03:50 -07:00
Justin Huff fe0066d2e4 Cleaning up container ID handling inside kubelet 2014-06-27 14:03:50 -07:00
Brendan Burns 78d9538358 Set id width at 8 and pad with zeros. 2014-06-26 19:24:12 -07:00
Justin Huff 6fdebd6560 Watch and Get on the same Etcd key.
Kubelet was killing existing pods when creating a new one because new
files were being set as /registry/hosts/<machine>/pods/<id> and
/registry/hosts/<machine>/kubelet.
2014-06-26 18:59:49 -07:00
Daniel Smith be39c3d646 Fix crash in test 2014-06-26 16:56:02 -07:00
Daniel Smith 001b07b292 Use net.JoinHostPort 2014-06-26 16:20:37 -07:00
Tim Hockin 3f0e7e790b Less verbose logging for "normal" things.
Don't log things that we expect to happen every sync loop, unless the user
asks for --v > 0.
2014-06-24 22:05:25 -07:00
Tim Hockin 9f9e75f508 Switch to glog for logging, bridge logging to glog.
1) imported glog to third_party (previous commit)
2) add support for third_party/update.sh to update just one pkg
3) search-and-replace:
  s/log.Printf/glog.Infof/
  s/log.Print/glog.Info/
  s/log.Fatalf/glog.Fatalf/
  s/log.Fatal/glog.Fatal/
4) convert glog.Info.*, err into glog.Error*

Adds some util interfaces to logging and calls them from each cmd, which
will set the default log output to write to glog.  Pass glog-wrapped
Loggers to etcd for logging.

Log files will go to /tmp - we should probably follow this up with a
default log dir for each cmd.

The glog lib is sort of weak in that it only flushes every 30 seconds, so
we spin up our own flushing goroutine.
2014-06-24 20:51:57 -07:00
Justin Huff ddf0fd18f0 Remove extractMultipleFromReader and extractSingleFromReader. Unused now after improvements in #212 and #213 2014-06-24 18:59:57 -07:00
brendandburns 8b44f34e0f Merge pull request #213 from lavalamp/fix_manifest
Better fix of #212
2014-06-24 17:42:22 -07:00
Daniel Smith f7968ce00b Make integration test the manifest url feature. Make kubelet's docker pull command testable. 2014-06-24 16:57:35 -07:00
Daniel Smith fd66a8b59b Readability fixes & address review comments. 2014-06-24 15:16:21 -07:00
Daniel Smith 6900431b13 Add kubelet testing to integration test. Test that kubelet makes the requested containers. Check that the url manifest feature works. 2014-06-24 15:14:40 -07:00
Daniel Smith 9d8a16f180 Make manifest url reader accept both single and multiple manifests. 2014-06-24 15:13:18 -07:00
Tim Hockin c705593b62 Logging cleanup in Kubelet
Make it easier to see the signal when looking at kubelet logs.  Make the
signal more consistent and legible.
2014-06-24 13:50:08 -07:00
Tim Hockin 7622bb871b Rename Kubelet.Client -> EtcdClient
All the other *Client members are so named.  Makes easier reading.
2014-06-24 13:17:38 -07:00
Justin Huff 4f714dd0fe Ignore files that start with '.' when processing a config dir. 2014-06-24 12:02:49 -07:00
Tim Hockin 8c2a8b65c3 Escape manifest IDs when hunting the network container.
This makes it possible to have manifests with _ in the ID.  I'm not sure we
want to allow this, but we do for now.  I hope to follow this up with a deeper
change to make this a bit more robust.
2014-06-24 09:52:43 -07:00
brendandburns e811e24b23 Merge pull request #216 from thockin/logging
Minor: log cleanups
2014-06-23 22:38:06 -07:00
Tim Hockin 60ad86c972 Minor: Log cleanups
Clean up log messages to be more obvious. Fix a typo (exit -> exist).
2014-06-23 22:11:18 -07:00
Tim Hockin 7218a4d165 Clarify config file code to be clear that it handles directories. ...
… Add a check for IsRegular() before reading a config path.  Add a comment
about exec.Command("hostname", "-f").
2014-06-23 21:14:15 -07:00
Tim Hockin 228156dbc6 Remove noisy non-error lines from logs 2014-06-23 17:58:21 -07:00
Daniel Smith 77af24e7dc manifest_url needs to take a single ContainerManifest. 2014-06-23 15:06:28 -07:00
Daniel Smith b850d36166 Fix boilerplate everywhere 2014-06-23 11:32:11 -07:00
Daniel Smith 14e18a5308 Fix missing <- 2014-06-22 11:15:10 -07:00
Justin Huff 1441a84673 Cleanup handling of config channels in RunSyncLoop by passing a map
instead of a bunch of vars.
2014-06-22 09:32:49 -07:00
Justin Huff 460821e370 Add a k8s prefix to docker containers that we manage 2014-06-21 13:30:10 -07:00
Justin Huff ecf7d11477 Make config dir handling deterministic 2014-06-20 09:31:52 -07:00
Justin Huff d5bf045a6c Make sure that config files are closed properly 2014-06-20 09:31:52 -07:00
Justin Huff d204f76484 Add config dir support to kubelet 2014-06-20 09:31:52 -07:00
Justin Huff f49b9c2429 Fix merge conflicts 2014-06-20 09:31:18 -07:00
Daniel Smith 8a13e5300d Merge pull request #182 from brendandburns/net
Update IP assignment to be per-pod, not per-container
2014-06-20 09:06:34 -07:00
Brendan Burns b46d8d2337 Merge branch 'net' of https://github.com/brendandburns/kubernetes-1 into net 2014-06-20 09:01:17 -07:00
brendandburns 3a9a3b1114 Merge pull request #174 from monnand/kubelet-cadvisor
Letting kubelet retrieve container stats from cAdvisor
2014-06-20 08:36:22 -07:00
brendandburns 0c8d556afb Fix IP affinity to be per-pod, not per-container. 2014-06-19 23:09:21 -07:00
brendandburns 168ec29f54 Merge pull request #178 from vmarmol/add-external-mounts
Adding support for external mounts
2014-06-19 21:28:40 -07:00
Nan Deng a10a64856d use json.Marshal directly 2014-06-20 04:21:57 +00:00
Victor Marmol e794f539d8 Adding support for external mounts 2014-06-19 21:14:19 -07:00
Nan Deng 7c7dfe3eeb style 2014-06-20 04:06:28 +00:00
Brendan Burns ae9fce1358 Fix the container manifest to so that Command is an array, not a string. 2014-06-19 20:21:20 -07:00
Nan Deng 865ba190ff write headers after error checking 2014-06-19 22:28:48 +00:00
Nan Deng 979f832a0c write StatusOK to the header after json.Encode() 2014-06-19 22:12:32 +00:00
Nan Deng d001110df1 gofmt -s -w -l 2014-06-19 20:59:20 +00:00
Nan Deng 2cc3a88411 unit test for GetContainerStats() 2014-06-19 20:44:53 +00:00
Nan Deng 1b9cb5d501 more unit test 2014-06-19 20:44:53 +00:00
Nan Deng b01a12fe34 more unit test for GetContainerStats() 2014-06-19 20:44:53 +00:00
Nan Deng 3080262f12 unit test for cadvisor 2014-06-19 20:44:53 +00:00
Nan Deng c7eaa2095c GOPATH... 2014-06-19 20:44:52 +00:00
Nan Deng 037cfd257f add /containerStats 2014-06-19 20:44:52 +00:00
Nan Deng 2402e939c2 Add cAdvisor into third_party 2014-06-19 20:44:52 +00:00
Daniel Smith bc02b3c21a Rename [label] query to selector 2014-06-19 13:31:42 -07:00
Daniel Smith 7e464aa55c Test controller's synchronize method. Requires fake etcd client to be relocated. 2014-06-18 13:10:39 -07:00
Daniel Smith 65d6280936 Move etcd helper to util so it can be used elsewhere, too 2014-06-18 13:10:39 -07:00
Brendan Burns 76148dc85f gofmt 2014-06-15 21:57:29 -07:00
Brendan Burns 2e68d087a9 Add udp support. 2014-06-15 21:19:35 -07:00
Brendan Burns 482a360f9e Make all error strings lower case, for readability. 2014-06-13 15:45:19 -07:00
Brendan Burns d393838dfd Only manage containers with '--' in the name. 2014-06-13 12:09:48 -07:00
Brendan Burns 164160adef Address package level comments for readability. 2014-06-12 20:26:12 -07:00
brendandburns f053a49988 Merge pull request #71 from brendandburns/container_info
Fix some problems in container info handling if the container's no present.
2014-06-12 20:17:05 -07:00
Joe Beda 353698558d gofmt -s -w cmd/ pkg/ 2014-06-12 18:34:47 -07:00
Brendan Burns b05bc22a62 Refactor the kubelet for testability.
Add unit tests.  Test coverage to 56.9%
2014-06-12 14:44:46 -07:00
Johan Euphrosine 4f6bed03ae gofmt -s pkg/ cmd/ 2014-06-12 14:16:19 -07:00
Brendan Burns c36a7896fd Added a comment explaining the function. 2014-06-12 11:27:50 -07:00
Daniel Smith 69acbf5a74 Fix build 2014-06-12 09:35:04 -07:00
Daniel Smith 7c17db672e Move hostname detection logic to allow replacement 2014-06-12 09:35:04 -07:00
Brendan Burns d83f407e43 Fix tests. 2014-06-09 16:50:44 -07:00
Brendan Burns 62f6291377 Fix a bug if the container is non-existent. 2014-06-09 16:45:17 -07:00
Brendan Burns 6018497174 Task -> Pod part #3 2014-06-08 22:38:45 -07:00
brendandburns 139be599e9 Merge pull request #25 from lavalamp/rename_kl
Change 'this' varable to more sensible abbreviation
2014-06-08 20:38:32 -07:00
Daniel Smith 62aba06180 Change 'this' varable to more sensible abbreviation 2014-06-08 20:35:07 -07:00
Daniel Smith c3c739d6b4 Fix spelling 2014-06-08 19:48:04 -07:00
Daniel Smith 19343c6014 Add test to kubelet, coverage up to 37% 2014-06-08 16:10:29 -07:00
Joe Beda 2c4b3a562c First commit 2014-06-06 16:40:48 -07:00