Commit Graph

21840 Commits

Author SHA1 Message Date
Jeromy Carriere
9cad657b4c Fix internalize for ReplicationControllerList. items were created
in a new var hiding the function-scoped var.
2014-07-25 10:44:45 -04:00
Clayton Coleman
fbd71c9c02 Merge pull request #535 from lavalamp/etcdWatcher
Etcd watcher
2014-07-25 08:40:05 -04:00
Daniel Smith
e3927b428d Merge pull request #618 from brendandburns/async
Make replication controller synchronizations independent.
2014-07-24 22:58:45 -07:00
Brendan Burns
51c5907c55 Make individual controller actions asynchronous. 2014-07-24 22:57:56 -07:00
Brendan Burns
ae0baf3fab Make replication controller synchronizations independent. 2014-07-24 22:46:04 -07:00
Daniel Smith
321ce0e1ce Merge pull request #565 from brendandburns/api2
Fork API types.
2014-07-24 22:29:57 -07:00
Brendan Burns
bf5ae4bb9d Fork API types. 2014-07-24 21:47:08 -07:00
Daniel Smith
f3b6090a38 Make kubecfg work for minions. 2014-07-24 18:04:55 -07:00
Daniel Smith
9e9d9b8913 Merge pull request #607 from smarterclayton/return_correct_content_type
Write the json content type for API responses
2014-07-24 15:27:31 -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
Clayton Coleman
30e881c3f9 Write JSON content type for API responses 2014-07-24 17:45:02 -04: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
Daniel Smith
b630c7bcb4 Implement watch.Interface via etcd. 2014-07-23 15:04:08 -07:00
Daniel Smith
e2e2ce44c1 Merge pull request #587 from VojtechVitek/data_race
Fix data race in kubelet fake_docker_client
2014-07-23 13:00:55 -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
7a8e268c0e Merge pull request #548 from kelseyhightower/improve_kubecfg_tests
Use table testing for makePort tests
2014-07-23 09:50:21 -07:00
Kelsey Hightower
609050da39 Use table testing for makePort tests 2014-07-23 00:18:09 -07:00
Brendan Burns
c3f313784d Actually fix kubecfg. 2014-07-22 23:40:55 -07:00
Brendan Burns
fcb9201c3b Add a name to containers created by RunController so that validation works. 2014-07-22 22:58:41 -07:00
Daniel Smith
ec0f639a21 Merge pull request #551 from erictune/private_kubelet
Private kubelet
2014-07-22 18:58:43 -07:00
Daniel Smith
0ef600c8cd Merge pull request #569 from smarterclayton/fix_bad_watch_in_etcd
Kubelet etcd watch skipping indices
2014-07-22 18:23:00 -07:00
Clayton Coleman
fbd7bc375f kubecfg doesn't allow updates because of path checks
Check for 1 path segment on create/list, 2 on update/delete, and
allow any number of path segments on get (for now).

Also pretty prints the list of actual types that are supported for
create/update, which today corresponds to the list of types that
are supported period.
2014-07-22 20:25:06 -04: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
Dawn Chen
47ad71f92d HandleIndex when URL.Path == "/" 2014-07-22 14:12:16 -07:00
Clayton Coleman
2a2fdb4773 Merge pull request #505 from lavalamp/clientWatch
Add client watch capability
2014-07-21 22:11:02 -04:00
Brendan Burns
6c734b1c55 integrate minion health checking and caching. 2014-07-21 21:52:33 -04: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
91375f4c04 Split httpWatcher into watch.StreamWatcher and tools.APIEventDecoder. 2014-07-21 16:07:58 -07:00
Daniel Smith
dbd0d419df Add watch capability to our client.
Next steps: Make an etcd watcher... decide on a state field for pods...
move the scheduler to its own binary.
2014-07-21 16:07:58 -07: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
5f13c4b048 Merge pull request #545 from kelseyhightower/heath_tests
Improve test coverage for the health package and remove mocks
2014-07-21 15:49:10 -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
Kelsey Hightower
fce90dc761 Improve test coverage for the health package and remove mocks
The current tests for the health package utilize a fake HTTP client
for testing health checks and only cover a limited set of test cases.

This patch removes the need for mocks by using the httptest package
from the standard library. After removing the fake HTTP client a bug
was found in the health.Check function; it incorrectly assumes that
a http.Response is always non-nil. Fix the issue by moving the defer
that closes the http.Response.Body after error handling.

Related tests in the registry package have be refactored to work with
the changes made to the health.Check function. All methods that implement
the health.HTTPGetInterface interface now return a http.Response with
with a noop http.Response.Body.

This patch does not introduce any changes in behavior.
2014-07-21 15:30:29 -07:00
Dawn Chen
dc921b8c65 comment changes 2014-07-21 14:46:59 -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
Daniel Smith
7910ae8159 Merge pull request #538 from kelseyhightower/replication_controller_test
remove unnecessary expectNoError helper function
2014-07-20 23:02:56 -07:00
Daniel Smith
d11b6246a1 Merge pull request #547 from kelseyhightower/kubelet_tests
Add test cases for Docker image name parsing and cleanup
2014-07-20 20:55:33 -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
Kelsey Hightower
682efb7ca5 Remove unnecessary expectNoError helper function
This patch completes a TODO item for the kubecfg package test suite by
removing the expectNoError helper function, which does not reduce enough
typing to justify its usage.
2014-07-20 18:28:55 -07:00
Daniel Smith
b577f36492 Merge pull request #541 from kelseyhightower/httplog_test
add tests for the httplog package
2014-07-20 13:42:15 -07:00