Commit Graph

5813 Commits (13b12e89408869c5b560a81e95bca33267bdb8e1)

Author SHA1 Message Date
Robert Bailey fecfe23ed1 Refactor tests to be table driven. 2014-08-18 00:17:06 -07:00
Robert Bailey 9ce364d498 Add validation when processing pod manifests from a URL. 2014-08-17 22:50:53 -07:00
Tim Hockin b9e65c2438 Use new api/errors, get rid of api.* error code 2014-08-15 00:14:38 -07:00
Daniel Smith ab24790e8f Fix go files with wrong boilerplate 2014-08-12 17:48:00 -07:00
Daniel Smith 1a5a22c539 Fix files missing gofmt 2014-08-12 17:48:00 -07:00
Brendan Burns 2986db9885 Add container hashing to the container name, and restart containers on changes. 2014-08-08 13:32:07 -07:00
Daniel Smith 2297bf8cea Merge pull request #830 from brendandburns/net
Delete containers for a pod if we have to create the network container.
2014-08-08 13:12:42 -07:00
Brendan Burns 38900a9c58 Delete containers for a pod if we have to create the network container. 2014-08-08 12:34:59 -07:00
Victor Marmol adc57da3f3 Merge pull request #825 from brendandburns/runin
Add support for "run in"
2014-08-07 23:47:19 -07:00
Brendan Burns d31d0781b2 Add support for "run in" 2014-08-07 20:27:58 -07:00
Clayton Coleman d7f46718a8 Kubelet should have a max think time before auto resync
The sync frequency should be part of the syncLoop and resync no
less often than every X seconds.  The current implementation runs
even if a config update was delivered less than X seconds ago.
2014-08-07 10:40:03 -04:00
Danny Jones 7c28e0849f Reorganization; Directory traversal less ugly
Directory traversal is no longer recursive and only goes as deep as it
needs to. Moved GetActiveVolumes to volume packages and added a simple
test.
2014-08-06 11:20:34 -07:00
Danny Jones 3f7f6cb2dc Modifies tests to use new volume objects. 2014-08-06 10:21:59 -07:00
Danny Jones 6191ffc0de Modifies directory walker to use a regex
Now a regex is used to determine active volume properties from
their directory paths.
2014-08-06 10:21:59 -07:00
Danny Jones 47bca30edc Splits volume interface into Builders and Cleaners
Different information is needed to perform setup versus teardown. It
makes sense to separate these two interfaces since when we call teardown
from the reconciliation loop, we cannot rely on having the
information provided by the api definition of the volume.
2014-08-06 10:21:59 -07:00
Danny Jones dfc9cb86f0 Initial reconciliation loop.
Determines the set of active volumes versus the set of valid volumes
defined by the manifests. If there is an active volume that is not
defined in any of the manifests, deletes and cleans up that volume.
2014-08-06 10:21:59 -07:00
Kouhei Ueno 22522cd003 PodConfigListener is never used 2014-08-06 06:43:16 +09:00
brendandburns d4860c21a9 Merge pull request #752 from smarterclayton/remove_expect_no_error_util
Remove expectNoError from client, kubelet, and util
2014-08-04 09:15:22 -07:00
Clayton Coleman f7149926c0 Remove expectNoError from client, kubelet, and util 2014-08-04 09:39:06 -04:00
Clayton Coleman 10564e447b Generate valid file Pod Names and test for them
Ensure that pods coming from the unit test configuration validate,
and that proper names are generated.

Lowercases source filenames, strips all but a-z0-9, and tests
for consistent results.
2014-08-03 18:46:59 -04:00
Brendan Burns 490bb28bf9 Add TCP socket based health checking. 2014-08-01 14:13:56 -07:00
Dawn Chen 2e8020be8c Update the entire cAdvisor package. There is a version mismatch issue
which cause #707
2014-07-31 10:11:25 -07:00
Dawn Chen 76ec7acf91 bump(github.com/google/cadvisor): bdd574b728e8a1e5eb08649d631197620dd09650 2014-07-31 09:14:04 -07:00
Francisco Souza 2a345ffa9e third_party: update go-dockerclient
math.MaxInt64 represents 8 exabytes, which is a good limit for memory.
Also, this is the type used by Docker, so it's not possible to get any
value bigger than math.MaxInt64 as memory limit (both ram and swap) on a
Docker container.

Relevant discussion at #589 (more precisely,
https://github.com/GoogleCloudPlatform/kubernetes/pull/589#issuecomment-50640605).
2014-07-30 15:18:42 -03:00
brendandburns b0d18b2af0 Merge pull request #571 from lavalamp/master
Decode/Encode everywhere
2014-07-29 17:19:33 -07:00
Rohit Jnagal fbd3e85e9c Fix handling of default cpu shares. 2014-07-29 18:34:16 +00:00
Daniel Smith 31a78c3e2b Merge pull request #619 from brendandburns/controller
Make individual controller actions asynchronous.
2014-07-28 15:35:19 -07:00
Brendan Burns 1a3e4f8baf Add some more synchronization. 2014-07-28 15:05:39 -07:00
Daniel Smith b3cc696486 All types stored in etcd are now API objects.
This means I made an api.ContainerManifestList, and added a JSONBase to
endpoints (and changed Name -> JSONBase.ID).
2014-07-28 11:27:36 -07:00
Clayton Coleman 4ee3deaaf7 Merge pull request #647 from kelseyhightower/fix_extra_test_flags
Remove extra test flags from all commands
2014-07-28 12:58:57 -04:00
Dan McPherson c4f4f69b93 Fixing Typos 2014-07-28 15:56:20 +02:00
Kelsey Hightower 87fa19cdfe Remove extra test flags from all commands
Currently all commands are being build with extra flags. The extra
flags appear because of a direct import of the testing package from
the fake_etcd_client.go source file.

Remove the direct import of the testing package. Add a tools.T
interface to support existing behavior. Also clean up two TODO items
by remove using of the expectError and expectNoError functions.

Fixes #579
2014-07-27 14:19:18 -07:00
Daniel Smith 8881adc905 Merge pull request #606 from jonboulle/master
assorted formatting and typo fixes
2014-07-24 15:25:08 -07:00
Jonathan Boulle c43035088b assorted formatting and typo fixes 2014-07-24 15:10:36 -07:00
Daniel Smith 5ae20f9edb Merge pull request #605 from Sarsate/setup-error
SetUp now returns an error.
2014-07-24 14:13:22 -07:00
Danny Jones 1117da4a55 SetUp now returns an error.
SetUp returns an error, kubelet now skips pod if error occurs.
2014-07-24 13:53:44 -07:00
Victor Marmol b131da1cf5 Sync pods asynchronously in the Kubelet.
This makes two main changes:
- Runs syncPod in a separate Go routine (and enforces only one of those
  runs at a time).
- Uses the pod list to determine if a container should be running or
  should be killed (used to use the output of syncPod).

Since Docker pulls are synchronized by the Docker daemon we still block
on that, but pods can now be removed and prepared for starting without
blocking on long pulls.
2014-07-24 13:47:51 -07:00
Daniel Smith 41eb15bcff Merge pull request #527 from Sarsate/rootdir-flag
Adds a flag to specify root working directory.
2014-07-24 13:12:55 -07:00
Danny Jones bfa4642055 Adds a flag to specify root working directory.
--root_dir specifies the directory kubelet will use for it's
procedures. Currently used for volume mounts.
2014-07-24 13:04:05 -07:00
Daniel Smith 65575953c0 Merge pull request #589 from monnand/update-docker-client
update github.com/fsouza/go-dockerclient
2014-07-23 18:00:24 -07:00
Nan Deng ea4224cbe7 update github.com/fsouza/go-dockerclient 2014-07-23 17:42:03 -07:00
Vojtech Vitek (V-Teq) 1f78b0fc6f Fix reslice and data races in kubelet fake_docker_client
- Fix reslice in Pull() to remove the just returned error
- Fix data races found during the integration testing
- Remove one-liner helper method for better readability
2014-07-23 20:44:42 +02:00
Daniel Smith ec0f639a21 Merge pull request #551 from erictune/private_kubelet
Private kubelet
2014-07-22 18:58:43 -07:00
Clayton Coleman bc0ac1e81b Kubelet etcd watch skipping indices
The next index to watch should always be current+1 if we got a
response from etcd, but otherwise it should always be current.
Moved the increment into fetchNextState which returns the next
index to watch for (or the same if an error occurs)
2014-07-22 20:24:18 -04:00
Eric Tune ded67ead1e Make Kubelet type members private and provide New functions. 2014-07-22 14:40:59 -07:00
Clayton Coleman 7767c2a2ac Switch the Kubelet to use kubelet/config
Also transfer the Kubelet from using ContainerManifest.ID to source specific
identifiers with namespacing.  Move goroutine behavior out of kubelet/ and
into integration.go and cmd/kubelet/kubelet.go for better isolation.
2014-07-21 21:27:26 -04:00
Clayton Coleman 09294b90ce Refactor Kubelet config sources for clarity
Create a new "Pod" concept which can identify pods from
many config sources.
2014-07-21 21:18:36 -04:00
Daniel Smith f672edd1cf Merge pull request #457 from dchen1107/minionlogs
Add support to query kubelet's logs and cadvisor's stats through apiserver by passing rawquery
2014-07-21 16:02:44 -07:00
Daniel Smith 3f33bf78c5 Merge pull request #539 from vmarmol/pause
Add a pause image for the net container.
2014-07-21 15:47:39 -07:00
Dawn Chen 064237a5b8 Add support to query kubelet's logs and cadvisor's stats through
apiserver by passing rawquery.

minor changes

Fixed a minor rebase issues.

Using ioutil.ReadAll instead of httputil.DumpResponse
2014-07-21 11:52:32 -07:00
Victor Marmol 88317efb42 Add a pause image for the net container.
The pause image is a 240KB image that simply pauses waiting on a signal.
Use this for the net container which only needs to act as a placeholder.
Current net image is ~2.5MB. From my tests, this reduces startup time
for the net container from ~14s to ~6s.
2014-07-21 10:28:49 -07:00
Kelsey Hightower 67efa0a53a Add test cases for Docker image name parsing and cleanup
The tests for Docker image name parsing are repetitive and do not
cover enough test cases.

Refactor the tests to use table testing and add additional test cases.
2014-07-20 19:22:54 -07:00
Victor Marmol 0a2b1bf644 If no tag was specified, pull "latest" explicitly.
When no tag is given to Docker pull, it downloads all tags. This could be a
significantly large number of images and in the end we only ever run
:latest.
2014-07-20 10:51:31 -07:00
Kelsey Hightower dc7ee7c333 normalize -etcd_servers flag across all commands
The -etcd_servers flag is used inconsistently by the Kubernetes commands,
both externally and internally.

This patch fixes the issue by using the same type to represent a list of
etcd servers internally, and declares the -etcd_servers flag consistently
across all commands.

This patch should be 100% backwards compatible with no changes in behavior.
2014-07-20 07:48:47 -07:00
Daniel Smith 05f01a3654 Revert "assorted formatting and typo fixes" 2014-07-18 17:16:30 -07:00
Daniel Smith 211f6b312f Merge pull request #520 from jonboulle/master
assorted formatting and typo fixes
2014-07-18 17:15:30 -07:00
Daniel Smith d8faca9e81 Merge pull request #512 from smarterclayton/communicate_missing_pod_info
PodInfo should indicate when a pod is not found
2014-07-18 13:03:16 -07:00
Jonathan Boulle 9e63c3a633 assorted formatting and typo fixes 2014-07-18 13:02:59 -07:00
Tim Hockin fda69bcca2 Merge pull request #452 from Sarsate/extvol-hostdir
Initial framework for external volumes.
2014-07-18 12:44:38 -07:00
Clayton Coleman a17f0d04d4 PodInfo should indicate when a pod is not found
Client should react.  Also, dial down the chattiness of errors for
pods which do not exist and stop processing NotFound earlier in
the podinfo chain
2014-07-18 13:32:10 -04:00
Daniel Smith e9dbc4e8ad Merge pull request #509 from xiangli-cmu/kubelet
kubelet: cleanup
2014-07-18 10:24:11 -07:00
Xiang Li 86288ca82a kubelet: cleanup 2014-07-18 10:12:59 -07:00
Tim Hockin 2f593c92fa Merge pull request #487 from yugui/fix/golint
Fixes Go lint errors and a style fix
2014-07-17 22:44:31 -07:00
Danny Jones bb2843498d API modified to use source; now supports EmptyDirectory
API is now modified to use a Source struct to handle multiple volumes.

Two volume types are supported now, HostDirectory and EmptyDirectory.
2014-07-17 15:25:50 -07:00
Nan Deng 564a58722c Retrieve machine spec from cAdvisor 2014-07-17 15:21:47 -07:00
Clayton Coleman 15e791fc5b Rename kubelet_server*.go to server*.go 2014-07-17 13:42:24 -04:00
Danny Jones f84ff740f0 Adds initial volumes package; Supports host-dirs
Adds the framework for external volume mounts.

Currently supports bare host directory mounts.

Modifies the API to support host directory mounts from Volumes
instead of VolumeMounts.
2014-07-17 10:08:45 -07:00
Clayton Coleman 185a97b037 Make container lookup in the Kubelet cleaner
Reduce duplicate calls to list lookups for parallel go routines.
2014-07-16 14:12:13 -04:00
Yuki Sonoda (Yugui) df9da65939 Rename a function according to go convention 2014-07-16 22:05:06 +09:00
Yuki Sonoda (Yugui) d2db5cdffc Fix a build failure of a test 2014-07-16 21:33:26 +09:00
Yuki Sonoda (Yugui) c1eee00a57 Correct an error message 2014-07-16 21:33:26 +09:00
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