Commit Graph

3014 Commits

Author SHA1 Message Date
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
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
60b6f5b6bd Merge pull request #524 from brendandburns/service
Make the service reconciller use the API, not a PodRegistry
2014-07-18 15:01:09 -07:00
Brendan Burns
c6255afe37 Make the service reconciller use the API, not a PodRegistry 2014-07-18 13:54:33 -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
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
Brendan Burns
fa69781b41 Add some more logging to service updates. 2014-07-18 09:29:49 -07:00
Yuki Yugui Sonoda
2aa3de12d4 Make RESTful operations return 404 Not Found when the target resource
does not exist.

In the original implementation, GET, DELETE and PUT operations on
non-existent resources used to return 500 but not 404.
2014-07-18 14:16:56 +09:00
Brendan Burns
dceafbadab Add a caching minion registry. 2014-07-16 14:52:32 -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
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
3cc5ff15cf Update services to use the internal IP and port, now that its available. 2014-07-14 20:24:58 -07:00
Brendan Burns
0e798bcc3c Add link env vars. 2014-07-14 16:37:17 -07:00
Kouhei Ueno
12c9a73205 Add comments on registry/etcd_registry.go 2014-07-12 14:44:13 +09:00
brendandburns
cdf75c57df Merge pull request #411 from nyaxt/lint_registry
Fixes go lint errors on pkg/registry/controller_registry.go
2014-07-11 21:41:58 -07:00
Kouhei Ueno
f932891428 removes a comment on New and a typo fix 2014-07-12 13:21:52 +09:00
Tim Hockin
779cb84625 Merge pull request #397 from brendandburns/service
Add initial validation of Service objects
2014-07-11 14:43:47 -07:00
Brendan Burns
b59dcbbb80 Fix tests. 2014-07-11 14:24:54 -07:00
Brendan Burns
e9edfc754e Add initial validation of Service objects 2014-07-11 14:24:54 -07:00
Tim Hockin
1e05d1ac4e Merge pull request #394 from brendandburns/poddata
Try to grab live data if the cache has errors.
2014-07-11 11:55:54 -07:00
Kouhei Ueno
bcbdbf6558 use New instead of Make and add comments to make golint happy 2014-07-11 22:46:22 +09:00
Kouhei Ueno
e53658a3ed s/controllerId/controllerID/ to make golint happy. 2014-07-11 22:16:51 +09:00
Clayton Coleman
5896ac14da Ensure pod and manifest always have a UUID
* Fixes implication #2 in docs/identifiers.md
* Replication controller lets the apiserver set the pod ID
2014-07-10 18:03:48 -04:00
Brendan Burns
5a4621f451 Try to grab live data if the cache has errors. 2014-07-10 10:26:40 -07:00
Brendan Burns
b4811abbd6 Address Clayton's comment. 2014-07-10 09:24:49 -07:00
Brendan Burns
d5b7c4eb6d Fix integration tests with a check for nil
Add a unit test to validate behavior
2014-07-09 22:31:17 -07:00
Brendan Burns
7b11cbd622 Add PodIP to the info returned for a pod. 2014-07-09 22:13:07 -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
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
Brendan Burns
13d7a5959a Add sync behavior to the pod registry. Expand tests. 2014-07-01 11:31:21 -07:00
Clayton Coleman
15c96508a9 Use ID instead of Id (go style) everywhere
Fixes #278
2014-07-01 13:16:47 -04:00
brendandburns
65a62278b1 Merge pull request #286 from lavalamp/exampleEtcd
Separate scheduler from registry
2014-06-30 20:17:07 -07:00
Nan Deng
f99a50ba69 use mutex instead of rwmutex 2014-06-30 11:13:42 -07:00
Nan Deng
3083a33e5f pkg/registry now passed race detector. 2014-06-30 11:04:57 -07:00
Daniel Smith
0760e9bc2c Fix up usage and tests, split into multiple files.
Doing this in multiple commits in an attempt to preserve the file movement history.
2014-06-29 12:35:43 -07:00
Daniel Smith
21e63cf75a Move scheduler to own package. 2014-06-29 12:30:49 -07:00
Daniel Smith
3d1e8a92d3 Move stringSet to util.StringSet 2014-06-28 11:46:51 -07:00
Daniel Smith
9a0f89170e Fix comments. Add timeout to integration test; don't make travis run for 15 minutes any more. 2014-06-27 15:40:23 -07:00
Daniel Smith
999ea50c2a Cleanup to use AtomicUpdate. 2014-06-27 15:14:57 -07:00
Daniel Smith
529870d121 Generic atomic update code 2014-06-27 15:14:57 -07:00
Brendan Burns
b25f950362 Use etcd compare and swap to update the list of pods, to remove a race. 2014-06-27 11:09:36 -07:00
Brendan Burns
a391b2ff03 Implement sync behavior for controllers. 2014-06-26 19:44:28 -07:00
Daniel Smith
001b07b292 Use net.JoinHostPort 2014-06-26 16:20:37 -07:00
Daniel Smith
de06869d30 Merge pull request #244 from brendandburns/minion
Add a minion registry that is backed by a cloud provider.
2014-06-26 13:13:59 -07:00
Brendan Burns
93019b8563 Add a minion registry that is backed by a cloud provider. 2014-06-26 13:00:07 -07:00