Tim Hockin
1c02af3d16
Kill LivenessProbe.Type
2014-09-27 21:16:30 -07:00
Tim Hockin
04cdf286a4
Make and use api.Protocol type
2014-09-27 20:31:37 -07:00
Daniel Smith
6ac7578699
Add GetReference()
2014-09-26 17:40:07 -07:00
Brendan Burns
621df0da32
Merge pull request #1455 from lavalamp/selfLink
...
Start setting SelfLink
2014-09-26 17:34:18 -07:00
Brendan Burns
17c82606eb
Second step in decoupling the service controller, use the apiserver for writes too.
2014-09-26 16:44:25 -07:00
Daniel Smith
37e505601e
add self linking to apiserver
2014-09-26 15:08:02 -07:00
Daniel Smith
b972f72248
convert multiple return values into a struct, add SelfLinker
2014-09-26 14:52:16 -07:00
Daniel Smith
75b93cf7e9
Add SelfLinker
2014-09-26 14:51:13 -07:00
Tim Hockin
de3799d605
Merge pull request #1463 from derekwaynecarr/introduce_context_obj
...
Add ctx object to registry interface
2014-09-26 13:04:18 -07:00
Tim Hockin
badeaef95f
Merge pull request #1457 from brendandburns/pull
...
Add a rate limiter, use it to rate limit docker pulls.
2014-09-26 12:39:25 -07:00
derekwaynecarr
b7fcc7d3ec
Add ctx to registry test cases
2014-09-26 15:19:22 -04:00
Tim Hockin
a7a46f71aa
Merge pull request #1449 from brendandburns/scheduler
...
Refactor scheduler, use generic scheduler everywhere, delete old code.
2014-09-26 12:18:52 -07:00
derekwaynecarr
09365fed8d
Add ctx to registry interfaces
2014-09-26 15:18:42 -04:00
Brendan Burns
3ac706a32e
Add a rate limiter, use it to rate limit docker pulls.
2014-09-26 11:55:21 -07:00
Brendan Burns
1bb962961c
Refactor schedulers, remove schedulers, use generic scheduler.
2014-09-26 10:26:25 -07:00
Tim Hockin
f377d3eba8
Merge pull request #1441 from dchen1107/cleanup
...
Cleanup: Remove unnecessary dash escape when building docker container name
2014-09-26 10:17:11 -07:00
Dawn Chen
01c9015ed3
use _ as the separator for docker container name.
2014-09-26 09:21:21 -07:00
derekwaynecarr
ee19ba186d
Update to use api.Context
2014-09-26 11:50:34 -04:00
derekwaynecarr
be85ad7a3d
Add context object in test cases flows
2014-09-26 11:50:34 -04:00
derekwaynecarr
3e685674e7
Add context object to interfaces
2014-09-26 11:50:34 -04:00
Brendan Burns
377a9ac3d7
Merge pull request #1438 from lavalamp/eventing3
...
Event impl supporting changes
2014-09-25 22:01:09 -07:00
Tim Hockin
7a96ed38b3
Merge pull request #1439 from jhadvig/err_handler
...
Handle invalid pod name
2014-09-25 15:00:47 -07:00
jhadvig
e5d8ee3811
Handle invalid pod name
2014-09-25 22:57:05 +02:00
Clayton Coleman
4e56dafecc
Introduce some default log verbosity control
...
Move a lot of common error logging into better buckets:
glog.Errorf() - Always an error
glog.Warningf() - Something unexpected, but probably not an error
glog.V(0) - Generally useful for this to ALWAYS be visible
to an operator
* Programmer errors
* Logging extra info about a panic
* CLI argument handling
glog.V(1) - A reasonable default log level if you don't want
verbosity
* Information about config (listening on X, watching Y)
* Errors that repeat frequently that relate to conditions
that can be corrected (pod detected as unhealthy)
glog.V(2) - Useful steady state information about the service
* Logging HTTP requests and their exit code
* System state changing (killing pod)
* Controller state change events (starting pods)
* Scheduler log messages
glog.V(3) - Extended information about changes
* More info about system state changes
glog.V(4) - Debug level verbosity (for now)
* Logging in particularly thorny parts of code where
you may want to come back later and check it
2014-09-25 16:30:14 -04:00
Clayton Coleman
74db9a1b20
Log apiserver errors that are not of an expected type
...
Currently HttpLog only expected status range - this logs errors
that come back from a REST storage object without being first
converted to something in pkg/api/errors. This usually indicates
unexpected error conditions that a programmer didn't explicitly
check for - the kinds of problems that may need debugging by
an operator later. Set to V(1) because they don't impair normal
operation.
2014-09-25 16:21:48 -04:00
Clayton Coleman
a5ed10235e
Merge pull request #1354 from lavalamp/eventing
...
Add Event to api types
2014-09-25 16:20:49 -04:00
Daniel Smith
4d4ebcd38e
Add ttl parameter to CreateObj
2014-09-25 12:08:14 -07:00
Daniel Smith
3ea383d073
Make ExtractToList, deprecate ExtractList.
2014-09-25 12:07:16 -07:00
Daniel Smith
957b16053a
restore test that somehow vanished + add SetList
2014-09-25 12:07:07 -07:00
Tim Hockin
eea0265598
Merge pull request #1447 from lavalamp/fix
...
Fix type cast problems now that watch can pass errors
2014-09-25 12:06:17 -07:00
Daniel Smith
212f5305a8
Fix type cast problems now that watch can pass errors
2014-09-25 11:42:58 -07:00
Brendan Burns
44703efe2e
Simplify schedulers.
2014-09-25 11:36:22 -07:00
Daniel Smith
283eaf3931
Add new Event type
...
* replaces previous Event type, which is too limited.
* Remove writing of old event type.
* Fix serialiazation test to automatically test all types.
2014-09-25 11:31:35 -07:00
Daniel Smith
da92a016f5
Merge pull request #1420 from brendandburns/scheduler
...
Initial cut of a spreading and generic scheduler.
2014-09-25 11:10:53 -07:00
Brendan Burns
0cf8f28112
Refactor the code to make it more readable.
2014-09-25 10:49:36 -07:00
Brendan Burns
431caa93df
Merge pull request #1335 from dchen1107/exit1
...
Convert existing kubernetes system to use ContainerStatus, instead of
2014-09-24 21:37:24 -07:00
Brendan Burns
a981ae5480
Merge pull request #1433 from lavalamp/fixVerifyFmt
...
Fix verify gofmt
2014-09-24 15:44:38 -07:00
Brendan Burns
9ed8486fd7
Add a generic scheduler.
2014-09-24 15:38:52 -07:00
Brendan Burns
25b4939ffa
Initial cut of a spreading scheduler.
2014-09-24 15:38:52 -07:00
Tim Hockin
65c14a1b09
Merge pull request #1421 from brendandburns/resource
...
Generalize the fit scheduler.
2014-09-24 15:37:24 -07:00
Daniel Smith
bb0cd95a83
fix non-gofmt'd things
2014-09-24 14:27:10 -07:00
Brendan Burns
89547cfd79
Merge pull request #1431 from thockin/svcenv
...
Fix docker-links-style env vars for services
2014-09-24 14:24:02 -07:00
Brendan Burns
d900fbf6fc
Generalize the fit scheduler.
...
Extract the "fit predicate" from random fit to make it extensible/plugable
2014-09-24 13:56:40 -07:00
Tim Hockin
b2472d8bec
Fix docker-links-style env vars for services
...
This includes 3 changes:
1) Use the Service.Protocol field, rather than hardcoding TCP.
2) Use Service.Port rather than ContainerPort - ContainerPort can be a string
and has absolutely no meaning to consumers.
3) Beef up tests for these env vars.
2014-09-24 12:29:06 -07:00
Tim Hockin
f1f54ac72e
Merge pull request #1415 from thockin/svcenv
...
Add per-service env vars for *_SERVICE_HOST
2014-09-24 12:27:27 -07:00
Dawn Chen
66eadb514a
fix rebase issue.
2014-09-24 11:16:47 -07:00
Dawn Chen
0e6ec3cbfc
Convert existing kubernetes system to use ContainerStatus, instead of
...
docker.Container directly.
Conflicts:
pkg/kubelet/dockertools/docker.go
pkg/registry/pod/rest.go
2014-09-24 11:16:46 -07:00
Joe Beda
e1a07c0c02
Merge pull request #1424 from dchen1107/cleanup
...
Fix e2e testing issue
2014-09-24 10:25:06 -07:00
Dawn Chen
bdfd5045f3
Refactory a little bit.
2014-09-24 09:41:30 -07:00
Tim Hockin
089c5602fd
Add per-service env vars for *_SERVICE_HOST
...
As a replacement of a single SERVICE_HOST variable, offer a FOO_SERVICE_HOST
variable. This will help ease the transition to ip-per-service, where there
is no longer a single service host.
# *** ERROR: *** Some files are missing the required boilerplate
# header from hooks/boilerplate.txt:
# examples/guestbook/redis-slave/run.sh
#
# Your commit will be aborted unless you fix these.
# COMMIT_BLOCKED_ON_BOILERPLATE
2014-09-24 09:07:21 -07:00
Dawn Chen
4796120f70
Debugging to fix e2e testing issue
2014-09-23 17:35:50 -07:00
jhadvig
d2709ab9c1
Typo fix
2014-09-24 01:33:39 +02:00
Brendan Burns
253bce42fe
Extract the minion registry from the etcd implementation into the pod registry where it belongs.
2014-09-23 15:42:59 -07:00
Clayton Coleman
b0b7f13ade
Merge pull request #1404 from lavalamp/scheduler
...
Add error type to watch.
2014-09-23 11:28:29 -04:00
Abhishek Gupta
002a5c6c29
Added test case
2014-09-22 17:40:18 -07:00
Abhishek Gupta
7c662ff065
Adding GetEndpoints method to the client EndpointsInterface
2014-09-22 17:40:18 -07:00
Daniel Smith
f211e46f20
handle watch errors everywhere
2014-09-22 17:37:12 -07:00
Joe Beda
d65f8e3b90
Merge pull request #1397 from thockin/kubecfg
...
Make "kubecfg -s <port> run ..." select correctly
2014-09-22 17:21:45 -07:00
Daniel Smith
8fd1fb4337
update pkg/api documentation
2014-09-22 17:08:57 -07:00
Daniel Smith
265f889260
convert etcd errors to watch errors
2014-09-22 17:06:03 -07:00
Daniel Smith
05eff2e910
add new watch event type
2014-09-22 17:06:03 -07:00
Tim Hockin
0f9cd4301d
Merge pull request #1401 from jhadvig/k8s_log_retrieval_update
...
stdout/stderr writer container log stream
2014-09-22 16:38:11 -07:00
Tim Hockin
cf86d66076
rename labels in kubcfg logic
2014-09-22 15:34:13 -07:00
Tim Hockin
bb3900f447
Make "kubecfg -s <port> run ..." select correctly
...
kubecfg run creates a replication controller which sets all pods with a
replicationController= label, but then sets up a service selecting on name=
instead. This fixes that. kubecfg -s <port> run ... can now actually work.
2014-09-22 15:17:47 -07:00
jhadvig
9ba71528e4
stdout/stderr container log stream
2014-09-23 00:15:36 +02:00
Daniel Smith
248f49fb7c
Merge pull request #1340 from smarterclayton/cleanup_watch_embedding
...
Cleanup watch encoding w/ RawExtension
2014-09-22 14:52:50 -07:00
Brendan Burns
3346c68d33
Merge pull request #1389 from lavalamp/scheduler
...
make watch actually return an error when there's an error
2014-09-22 13:59:57 -07:00
Brendan Burns
f851d4b7f1
Merge pull request #1391 from thockin/proxy
...
Proxy cleanups
2014-09-22 13:59:29 -07:00
Tim Hockin
486dbd165f
Merge pull request #1318 from jhadvig/k8s_log_retrieval
...
Adding endpoint for log retrieval on the minion
2014-09-22 13:21:28 -07:00
Clayton Coleman
fece926e2b
Remove unnecessary EmbeddedObjects
...
Clarify the tests in embedded_test.go to indicate that unmarshalling
of an internal object (runtime.EmbeddedObject) will not work. Instead,
consumers should decode raw external objects.
2014-09-22 16:03:07 -04:00
Clayton Coleman
e3da2ba2c8
Cleanup watch encoding (remove dupe Encoding)
...
Move standard watch encode / decode streams to use
runtime.RawExtension and embed API decoding based on
a provided codec.
2014-09-22 16:03:07 -04:00
Clayton Coleman
6778a8d88d
watch/iowatcher should log non EOF errors encountered
2014-09-22 16:03:07 -04:00
Victor Marmol
b6a56627a7
Merge pull request #1396 from eparis/update-cadvisor
...
Update cadvisor to 0.4.0
2014-09-22 13:01:06 -07:00
Clayton Coleman
9a0add3c96
runtime.RawExtension must copy the buffer, not use it
2014-09-22 15:57:37 -04:00
Tim Hockin
2c5693b0ad
Don't force a host port through kubecfg
2014-09-22 12:31:37 -07:00
Eric Paris
a32400f47f
Remove all code dealing with cadvisor Percentiles
...
This was removed upstream beween cadvisor 0.3.0 and 0.4.0
2014-09-22 14:22:40 -04:00
jhadvig
960f1b2693
Consistency update
2014-09-21 22:25:44 +02:00
Tim Hockin
dd9c562769
Get rid of un-needed lock
2014-09-20 11:40:02 -07:00
Tim Hockin
a559d8d9b2
Move some test-only code into the test
2014-09-20 11:38:05 -07:00
Tim Hockin
20826e6d50
Move copyBytes closer to use-sites
2014-09-20 11:31:13 -07:00
Tim Hockin
cf6ccaee54
Proxy: delete serviceInfo when stopping a service
2014-09-20 11:29:04 -07:00
Daniel Smith
4d7c6e2657
Treat super short watches with no items received the same as watches that error immediately
2014-09-19 18:09:40 -07:00
Daniel Smith
0d69393a43
make watch actually return an error when there's an error
2014-09-19 17:53:55 -07:00
Daniel Smith
06bb87c6c1
Merge pull request #1386 from brendandburns/auth
...
Add authenticated TLS support to the client.
2014-09-19 16:05:27 -07:00
Brendan Burns
8dff6f12d7
Add authenticated TLS support to the client.
2014-09-19 15:43:23 -07:00
Daniel Smith
6741704761
Merge pull request #1377 from smarterclayton/benchmarks
...
Add some benchmarks and minor test-go enhancements
2014-09-19 15:00:47 -07:00
Clayton Coleman
463a16af36
Add benchmarks for API tests
2014-09-19 17:17:54 -04:00
Filipe Brandenburger
334f9dc772
Merge pull request #1384 from brendandburns/release
...
Release 0.3
2014-09-19 13:32:47 -07:00
Daniel Smith
bdc8d898fa
Merge pull request #1376 from ddysher/minion-test-fix
...
Fix minion registry test insert.
2014-09-19 12:50:29 -07:00
Brendan Burns
b2b3d2e16b
Add the 0.3-dev commit.
2014-09-19 11:15:57 -07:00
Brendan Burns
89eff1d0d8
Rev the version to 0.3
2014-09-19 10:11:03 -07:00
Brendan Burns
06316f4861
Merge pull request #1375 from ddysher/pod-rest-test
...
Out of place test table
2014-09-19 10:03:01 -07:00
Clayton Coleman
5483333e29
Allow server and client to take api version as argument
...
* Defaults to v1beta1
* apiserver takes -storage_version which controls etcd storage version
and the version of the client used to connect to other apiservers
* Changed signature of client.New to add version parameter
* All controller code and component code prefers the oldest (most common)
server version
2014-09-18 23:27:28 -04:00
Clayton Coleman
ca5355908f
Expose v1beta2 API group
2014-09-18 23:24:05 -04:00
Deyuan Deng
0c8d9ba870
Fix minion registry test insert.
2014-09-18 23:04:10 -04:00
Deyuan Deng
f966a51fc0
Out of place test table
2014-09-18 21:44:52 -04:00
Brendan Burns
edf3eb04e2
Fix the build.
2014-09-18 15:29:17 -07:00
Daniel Smith
12b677ad56
Merge pull request #1356 from brendandburns/healthz
...
Adjust the logic, so that if the apiserver restarts, or has no pod info
2014-09-18 15:15:24 -07:00
Brendan Burns
a4912d7203
Merge pull request #1342 from jwforres/websocket_connection_header
...
Match any Connection header that contains the Upgrade token for websocke...
2014-09-18 09:47:07 -07:00
Joe Beda
4487f311ab
Merge pull request #1326 from lavalamp/scheduler
...
Fix cache to use the "List then Watch" pattern.
2014-09-18 09:00:52 -07:00
Jessica Forrester
f2732f18a7
Match any Connection header that contains the Upgrade token for websockets
2014-09-18 09:26:21 -04:00
jhadvig
9f34eaef9e
kubelet server test cases
2014-09-18 14:17:10 +02:00
Brendan Burns
17cbde0c5a
Adjust the logic, so that if the apiserver restarts, or has no pod info
...
for some other reason, pods on missing machines are still 'terminated'
2014-09-17 21:57:11 -07:00
Daniel Smith
b3bfef9127
Merge pull request #1347 from brendandburns/healthz
...
Fix a problem where if a minion went missing, we still thought the pod was running.
2014-09-17 18:26:44 -07:00
Brendan Burns
99586b4da4
Fix a problem where if a minion went missing, we still thought the pod was running.
...
Also convert some tests to table driven.
2014-09-17 18:16:52 -07:00
jhadvig
f3f5d0200c
Using podID+containerName for querying the logs
2014-09-17 21:00:09 +02:00
Dave Bailey
14fcf68edc
Improve error detection for URL manifests, and skip parsing if content unchanged.
2014-09-17 17:43:44 +00:00
Tim Hockin
450ccde521
Don't store name twice in proxy
2014-09-16 17:04:23 -07:00
Daniel Smith
4e9cf2ccb4
Add field selector to List, implement for pods.
2014-09-16 16:17:16 -07:00
Daniel Smith
b1169ed91e
Fix cache to use the "List then Watch" pattern.
2014-09-16 16:17:15 -07:00
Brendan Burns
dc5a4a8c3f
Refactor to clean up names.
2014-09-16 15:19:02 -07:00
erictune
506f51b186
Merge pull request #1330 from brendandburns/privilege
...
Only allow privileged containers if API server flag set. Adds capabilities package.
2014-09-16 15:12:26 -07:00
Daniel Smith
0b75f7b543
Merge pull request #1275 from smarterclayton/v1beta2
...
Create v1beta2 and allow multiple Codec encodings to exist
2014-09-16 14:52:04 -07:00
Daniel Smith
0727b5a6c8
Merge pull request #1302 from brendandburns/validatez
...
Add a validator for validating components in the cluster infrastructure.
2014-09-16 14:36:10 -07:00
Clayton Coleman
23307344ee
Add round trip tests for default encoding
...
Turn down iterations a bit for speed
2014-09-16 17:27:59 -04:00
Brendan Burns
f8844ce69e
Add a validator for validating components in the cluster infrastructure.
2014-09-16 13:37:01 -07:00
Clayton Coleman
61e3ce7ddc
Make runtime less global for Codec
...
* Make Codec separate from Scheme
* Move EncodeOrDie off Scheme to take a Codec
* Make Copy work without a Codec
* Create a "latest" package that imports all versions and
sets global defaults for "most recent encoding"
* v1beta1 is the current "latest", v1beta2 exists
* Kill DefaultCodec, replace it with "latest.Codec"
* This updates the client and etcd to store the latest known version
* EmbeddedObject is per schema and per package now
* Move runtime.DefaultScheme to api.Scheme
* Split out WatchEvent since it's not an API object today, treat it
like a special object in api
* Kill DefaultResourceVersioner, instead place it on "latest" (as the
package that understands all packages)
* Move objDiff to runtime.ObjectDiff
2014-09-16 16:26:43 -04:00
Clayton Coleman
154a91cd33
Rename runtime.DefaultScheme to latest.Codec for ease of readability
2014-09-16 16:19:35 -04:00
Clayton Coleman
fe614aeda2
Simple refactor for ease of readability
...
runtime.DefaultCodec -> latest.Codec
2014-09-16 16:12:35 -04:00
Clayton Coleman
10f68902f6
Add v1beta2 API objects
2014-09-16 16:11:26 -04:00
Brendan Burns
5b9e2a55b5
Add a flag to reject privileged containers in the apiserver.
2014-09-16 11:22:32 -07:00
Paul Morie
f94198c7a3
Expose validation method for ReplicationControllerState
2014-09-16 12:55:27 -04:00
jhadvig
6da2653b4a
Update according to review
2014-09-16 15:40:12 +02:00
Andrew M Bursavich
4e7f8db3a0
pkg/watch: remove test hook
2014-09-15 18:55:29 -07:00
Daniel Smith
9c25792dca
Merge pull request #1321 from abursavich/master
...
pkg/watch: fix potential deadlock
2014-09-15 18:26:19 -07:00
Tim Hockin
f8a8df369c
Merge pull request #1314 from ddysher/fd-lead
...
Fix leaking FD
2014-09-15 17:24:29 -07:00
Andrew M Bursavich
b9dcfbad76
pkg/watch: deadlock test
2014-09-15 16:58:26 -07:00
Dawn Chen
d51c28d757
Merge pull request #1304 from brendandburns/valid
...
Add some lifecycle validation.
2014-09-15 16:50:03 -07:00
Brendan Burns
6efafb141f
Add some lifecycle validation.
2014-09-15 16:45:26 -07:00
Deyuan Deng
d5eb731b3f
Fix leaking FD.
2014-09-15 19:12:32 -04:00
Daniel Smith
44f340f127
Remove custom scheme stuff
...
As separate commit to make it easy to get back-- I'm not completely
convince we won't want this in the future.
2014-09-15 13:15:46 -07:00
Daniel Smith
42dafb0e2e
add PluginBase to fuzz functions
2014-09-15 13:15:46 -07:00
Daniel Smith
b8c955ea17
Fixes:
...
* Fix kubecfg test, which was writing an internal object straight to yaml
* Address review comments
2014-09-15 13:15:46 -07:00
Daniel Smith
52d2c221b8
pkg/runtime now has a well defined api pluggability model.
2014-09-15 13:15:46 -07:00
Daniel Smith
71e547124c
Make needed changes in conversion package to support pluggability
2014-09-15 13:15:46 -07:00
Andrew M Bursavich
435e0b73bb
pkg/watch: fix potential deadlock
2014-09-15 12:07:32 -07:00
Clayton Coleman
24b5b7e8d3
Merge pull request #1296 from brendandburns/healthz
...
Add healthz handlers to the controller manager and scheduler
2014-09-15 11:28:02 -04:00
Clayton Coleman
424447d3b0
Merge pull request #1306 from lavalamp/scheduler
...
Add ExtractList to runtime.
2014-09-15 11:27:42 -04:00
jhadvig
f351691493
Adding endpoint for log retrieval on the minion
2014-09-15 17:02:56 +02:00
Brendan Burns
99f7a4f25d
Add healthz handlers to the controller manager and scheduler
2014-09-12 21:13:33 -07:00
Clayton Coleman
0a02c6bcdf
Exact copy of v1beta1 as v1beta3 for further iteration
2014-09-12 22:02:27 -04:00
Daniel Smith
7d50aa8ba8
Add ExtractList to runtime.
2014-09-12 16:51:07 -07:00
Tim Hockin
3181f3555d
Wrap goroutines in HandleCrash()
2014-09-12 16:47:40 -07:00
Tim Hockin
1e50f118fd
Move UDP backend setup to a function
2014-09-12 16:47:40 -07:00
Tim Hockin
86d12681f2
Inject UDP timeout to enable testing
2014-09-12 16:47:40 -07:00
Tim Hockin
38416f6a23
Implement UDP proxying in kube-proxy
2014-09-12 16:47:40 -07:00
Tim Hockin
cad6122fe4
Refactor proxy code to make room for UDP
2014-09-12 16:38:17 -07:00
Tim Hockin
9f275c81ac
add a 'protocol' field to api.Service
2014-09-12 16:38:17 -07:00
Tim Hockin
b566339f0c
make service validation test be table-driven
2014-09-12 16:38:17 -07:00
Daniel Smith
6eeb967d3d
Merge pull request #1229 from ragnard/aws-provider
...
Initial impl. of cloud provider for AWS
2014-09-12 15:16:47 -07:00
Brendan Burns
46d0cbd645
Add a global flag to enable/disable privileged containers
2014-09-12 09:56:45 -07:00
Dan Mace
3a3fab3f82
FEATURE: Support privileged containers in a pod
...
Add a Privileged field to containers in a pod, in order to facilitate pods
performing administrative tasks such as builds via Docker-in-Docker.
Discussion: https://github.com/GoogleCloudPlatform/kubernetes/issues/391
2014-09-12 09:38:11 -07:00
Tim Hockin
bc9a290241
Merge pull request #1218 from bcwaldon/docker-auth
...
Authenticated docker pulls, pt. I
2014-09-11 22:53:36 -07:00
Brian Waldon
2f87857b0f
kubelet: generate keyring from .dockercfg
2014-09-11 21:01:39 -07:00
brendandburns
cc7999c00a
Merge pull request #1268 from dchen1107/termination
...
Proposed ContainerStatus for each individual Container in a Pod.
2014-09-11 16:17:59 -07:00
Dawn Chen
7b46d8c9c5
typo
2014-09-11 16:07:56 -07:00
Dawn Chen
25fbe210f6
Clean up
2014-09-11 15:30:06 -07:00
Dawn Chen
3faf393e7b
Introduce ContainerStates. Currently keep it has the same set as PodStatus:
...
Waiting, Running, Termination. For each state, there are some meaningful
status associated with it.
2014-09-11 15:22:53 -07:00
Dawn Chen
ee129cd440
Proposed ContainerStatus for each individual Container in a Pod.
2014-09-11 14:34:21 -07:00
Ragnar Dahlén
b548465adf
Initial impl. of cloud provider interface for AWS
2014-09-11 22:28:56 +01:00
Daniel Smith
6757b402d5
Merge pull request #1133 from jwforres/enable_cors
...
Add option to enable a simple CORS implementation for the api server
2014-09-11 13:59:14 -07:00
Jessica Forrester
0f2b8f4f9f
Create passthroughLogger when LogOf is called and request has no logger
2014-09-11 16:48:06 -04:00
Brian Waldon
0bf4fabc19
kubelet: move docker-related code into sub-package
2014-09-11 13:12:28 -07:00
derekwaynecarr
0c20fffa06
No DNS in vagrant cross minions, need explicit IP as host
2014-09-11 13:38:50 -04:00
Daniel Smith
b5c6edcd79
Merge pull request #1189 from simon3z/ovirt-cloud
...
Add support for oVirt cloud provider
2014-09-11 09:50:31 -07:00
Federico Simoncelli
320fd528e2
Add support for oVirt cloud provider
...
This patch adds the initial support for the oVirt cloud provider.
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2014-09-11 13:08:46 +00:00
Dawn Chen
b48834e198
Fix PodInfo to include last terminated container info when calling
...
GetPodInfo based on name and UUID. With this fix, if some of containers
are dead, the pod status will stay as Running, not reset back to Waiting.
2014-09-10 14:41:18 -07:00
bgrant0607
fb4199cba7
Merge pull request #1238 from brendandburns/service
...
Add an earlier check and error for names that won't work for services.
2014-09-10 11:41:57 -07:00
Brendan Burns
80c06f4768
Add an earlier check and error for names that won't work for services.
2014-09-10 11:31:03 -07:00
Joe Beda
9ffe6c05dc
Merge pull request #1251 from filbranden/version_string1
...
Use just GitVersion for the -version output
2014-09-09 16:32:01 -07:00
Daniel Smith
48913672d9
Merge pull request #1248 from brendandburns/replicas
...
Make replica controllers return current state.
2014-09-09 16:27:21 -07:00
brendandburns
e9d12fef05
Merge pull request #1250 from dchen1107/cleanup
...
Small clean up in validation.
2014-09-09 16:24:12 -07:00
Brendan Burns
e7625c8d91
Add current state to replica controller.
2014-09-09 16:19:18 -07:00
Filipe Brandenburger
8de322f196
Use just GitVersion for the -version output
...
It turns out that that's simply the most useful information about the version
that was built.
For a git tree, it includes information about the closest release, number of
commits since the release, enough of the SHA1 to find the exact commit and
whether the tree was clean or dirty at build time.
For a build from tarball, it will include information of which release was built
and, when using a tarball from a not released commit (e.g. downloading
"master.tar.gz" from GitHub, not recommended!) it will include the -dev prefix
to indicate that was not an official release. (That's as good as we can get with
it.)
If additional information is required, it can be found with -version=raw.
Tested:
- Built from the git tree:
$ _output/go/bin/kubecfg -version
Kubernetes v0.2-29-gd916051e9db865
$ _output/go/bin/kubecfg -version=raw
version.Info{Major:"0", Minor:"2+", GitVersion:"v0.2-29-gd916051e9db865", GitCommit:"d916051e9db8650899acb9415a4e285e3e3a1f87", GitTreeState:"clean"}
- Built it from a dirty git tree:
$ { echo 'package version'; echo 'var X = 1'; } >pkg/version/sillyvar.go
$ make
$ _output/go/bin/kubecfg -version
Kubernetes v0.2-29-gd916051e9db865-dirty
$ _output/go/bin/kubecfg -version=raw
version.Info{Major:"0", Minor:"2+", GitVersion:"v0.2-29-gd916051e9db865-dirty", GitCommit:"d916051e9db8650899acb9415a4e285e3e3a1f87", GitTreeState:"dirty"}
- Tag it v0.3 and build it:
$ git tag -a v0.3 -m 'Release Kubernetes v0.3'
$ make
$ _output/go/bin/kubecfg -version
Kubernetes v0.3
$ _output/go/bin/kubecfg -version=raw
version.Info{Major:"0", Minor:"3", GitVersion:"v0.3", GitCommit:"d916051e9db8650899acb9415a4e285e3e3a1f87", GitTreeState:"clean"}
- Built it from a tarball:
$ wget -O kubernetes.tgz https://api.github.com/repos/filbranden/kubernetes/tarball/version_string1
$ tar xvf kubernetes.tgz
$ cd filbranden-kubernetes-*/
$ make
$ _output/go/bin/kubecfg -version
Kubernetes v0.2-dev
$ _output/go/bin/kubecfg -version=raw
version.Info{Major:"0", Minor:"2+", GitVersion:"v0.2-dev", GitCommit:"", GitTreeState:"not a git tree"}
- Built it with `go get`:
# I need to prefetch the tree to replace the official tree with mine:
$ mkdir -p ${TMPDIR}/gopath/src/github.com/
$ ln -sf filbranden ${TMPDIR}/gopath/src/github.com/GoogleCloudPlatform
# Now run `go get` to build kubecfg:
$ GOPATH=${TMPDIR}/gopath go get github.com/filbranden/kubernetes/cmd/kubecfg
# Check the version:
$ ${TMPDIR}/gopath/bin/kubecfg -version
Kubernetes v0.2-dev
$ ${TMPDIR}/gopath/bin/kubecfg -version=raw
version.Info{Major:"0", Minor:"2+", GitVersion:"v0.2-dev", GitCommit:"", GitTreeState:"not a git tree"}
Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-09-09 16:19:14 -07:00
Dawn Chen
80fa392f6b
Small clean up in validation. errs is used as import path alias in validation.go, but it is reused
...
as a variable for validateVolume.
2014-09-09 16:08:21 -07:00
Filipe Brandenburger
61877f2dd0
Update version to use -dev suffix
...
According to the plan listed in docs/releasing.md.
The gitMinor will keep using a "+" suffix instead for now.
Added a //TODO to deprecate gitMajor and gitMinor in a follow up.
Tested:
- Built it from the git tree:
$ make
$ _output/go/bin/kubecfg -version
Kubernetes version 0.2+, build 8d31eb03c11d4db64ae26809eef7f73070efd811
$ _output/go/bin/kubecfg -version=raw
version.Info{Major:"0", Minor:"2+", GitVersion:"v0.2-29-g8d31eb03c11d4d", GitCommit:"8d31eb03c11d4db64ae26809eef7f73070efd811", GitTreeState:"clean"}
- Built it with a direct `go install` (same as tarball):
$ GOPATH=${PWD}/_output/go:${PWD}/Godeps/_workspace go install $KUBE_GO_PACKAGE/cmd/kubecfg
$ _output/go/bin/kubecfg -version=raw
version.Info{Major:"0", Minor:"2+", GitVersion:"v0.2-dev", GitCommit:"", GitTreeState:"not a git tree"}
$ _output/go/bin/kubecfg -version
Kubernetes version 0.2+, build (unknown)
A follow up commit will address the output of the -version (without "raw") command to use gitVersion instead of Major + Minor.
Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-09-09 15:46:20 -07:00
Brendan Burns
4ba4762827
Insert the current state of a replica controller.
2014-09-09 15:23:34 -07:00
Jessica Forrester
d82cf7dd48
Rebased and fixed test cases
2014-09-09 17:50:18 -04:00
Jessica Forrester
0cac1c5f79
Switch LogOf from panicking when logger is missing to creating logger with the defaults.
...
Update CORS tests to a table-based test and cover more cases.
2014-09-09 17:50:18 -04:00
Jessica Forrester
becf6ca4e7
Move RecoverPanics to be the top level wrapped handler. Add new method to be sure a logger has been generated instead of assuming one has. Move regexp list compilation into a utility and pass regexp list into CORS.
2014-09-09 17:50:18 -04:00
Jessica Forrester
8b4ca9c2a7
Move CORS handler wrapping into cmd/apiserver and switch config flag to a list of allowed origins
2014-09-09 17:50:18 -04:00
Jessica Forrester
8723eece49
Add option to enable a simple CORS implementation for the api server
2014-09-09 17:50:18 -04:00
Tim Hockin
4ff76add57
Merge pull request #1147 from dchen1107/restart
...
Introduce the simplest RestartPolicy and handling.
2014-09-09 14:44:42 -07:00
Brendan Burns
69b359b689
Don't stack trace on 301s
2014-09-09 14:10:46 -07:00
Daniel Smith
1fd12778eb
Merge pull request #1231 from brendandburns/service
...
Fix a bug where we don't return an error.
2014-09-09 12:48:19 -07:00
Brendan Burns
a343a93b2d
Fix a bug where we don't return an error.
2014-09-09 10:29:00 -07:00
Dave Bailey
5ec748dc5e
avoid dumping error pages into error messages
2014-09-09 17:20:58 +00:00
csrwng
6551f4e0f0
Use codec to encode/decode api objects in client and kubecfg parser
2014-09-09 08:45:53 -04:00
Dawn Chen
15cab4d053
Introduce the simplest RestartPolicy and handling.
2014-09-08 22:41:38 -07:00
brendandburns
b4e08dd347
Merge pull request #1219 from filbranden/release_v0.2
...
Release Kubernetes v0.2
2014-09-08 21:04:34 -07:00
Filipe Brandenburger
a0abb38157
Release Kubernetes v0.2
...
This commit will be tagged with a v0.2 annotated git tag.
Tested:
- Created a git tag for it, built it and checked output of -version:
$ git tag -a -m 'Release Kubernetes v0.2' v0.2
$ make
hack/build-go.sh
Building local go components
$ _output/go/bin/kubecfg -version
Kubernetes version 0.2, build b47f9af5c9ea770973be1b001adaffbdfcb08618
$ _output/go/bin/kubecfg -version=raw
version.Info{Major:"0", Minor:"2", GitVersion:"v0.2", GitCommit:"b47f9af5c9ea770973be1b001adaffbdfcb08618", GitTreeState:"clean"}
- Made sure hack/test-go.sh and hack/test-cmd.sh still pass.
Fixes: Issue #1018
Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-09-08 16:21:36 -07:00
Daniel Smith
41754f5bd4
Merge pull request #1192 from smarterclayton/standardize_etcd_errors
...
Return standard API errors from etcd registry by operation
2014-09-08 15:57:08 -07:00
Clayton Coleman
3ffe259ac7
Return standard API errors from etcd registry by operation
...
Adds pkg/api/errors/etcd, which defines default conversions
for common CRUD operations from etcd to api.
2014-09-08 18:46:01 -04:00
Tim Hockin
81b502b0a6
Merge pull request #1217 from lavalamp/fixApi
...
Rename all XStorage types to REST for clarity
2014-09-08 15:38:47 -07:00
Daniel Smith
759c3f9033
Rename all XStorage types to REST for clarity
2014-09-08 15:19:13 -07:00
Daniel Smith
4c1d5f0c44
Merge pull request #1160 from simon3z/master
...
Support configurations for cloudproviders
2014-09-08 15:12:51 -07:00
Federico Simoncelli
6add1993c9
Support configurations for cloudproviders
...
Cloud providers may need specific configurations to run properly (e.g.
authentication parameters, uri, etc.).
This patch adds the simplest implementation for passing configurations
to cloudproviders: a new apiserver -cloud_config flag to specify the
path to an arbitrary configuration file.
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2014-09-08 21:46:53 +00:00
Dawn Chen
7ace5a3e83
Passing pod UUID to Kubelet.
2014-09-08 14:24:09 -07:00
Daniel Smith
9345da0bfd
Fix build
2014-09-08 13:05:38 -07:00
brendandburns
753b80c9b8
Merge pull request #1105 from lavalamp/proxy
...
Add a generic proxier
2014-09-08 12:51:24 -07:00
Brian Ketelsen
83d3da1436
changed address variable to bindAddress. Used net.JoinHostPort() instead of fmt.Sprintf()
2014-09-07 23:50:36 -07:00
Brian Ketelsen
34922226fd
allow proxy to accept a listen address. fixes #1220
2014-09-07 23:27:43 -07:00
Daniel Smith
fc09f988b4
Make tests pass again
2014-09-07 22:26:42 -07:00
Daniel Smith
48ce23ac91
Make client use pointers
2014-09-07 22:19:24 -07:00
Daniel Smith
0d30a656ef
Do interface{} -> runtime.Object rename everywhere
2014-09-07 22:19:24 -07:00
Daniel Smith
1c2b65788d
Rename Codec and ResourceVersioner to add Default in front, to allow for types of those names
2014-09-07 22:19:24 -07:00
Daniel Smith
828b70abb9
api and api/v1beta1 pass tests again
2014-09-07 22:19:24 -07:00
Daniel Smith
77edb91032
Add Object type to runtime, make runtime test pass.
2014-09-07 22:19:24 -07:00
Daniel Smith
0c6adde92e
Change conversion package so that AddKnownTypes takes pointers.
2014-09-07 22:19:24 -07:00
Daniel Smith
2ba6503511
Add continuation to conversion routines
2014-09-07 22:19:24 -07:00
Tim Hockin
6ebe69a875
Merge pull request #1156 from brendandburns/api
...
Add support for the PostStart event handler.
2014-09-05 22:13:56 -07:00
brendandburns
8e10ee5169
Merge pull request #1197 from lavalamp/fixApi
...
Rename Object to EmbeddedObject
2014-09-05 21:39:37 -07:00
Clayton Coleman
e0c47d979c
Merge pull request #1194 from fsouza/remove-godockerclient-copiedstructs
...
api/v1beta1: use go-dockerclient instead of docker-api-structs
2014-09-05 17:58:03 -04:00
Daniel Smith
7790961011
Rename Object to EmbeddedObject
2014-09-05 14:43:35 -07:00
Joe Beda
77488835fe
Merge pull request #1190 from derekwaynecarr/vagrant_cluster_hostname
...
Improve vagrant hostname support across cluster
2014-09-05 14:30:09 -07:00
derekwaynecarr
7f75aae8ab
Improve vagrant hostname support across cluster
2014-09-05 16:39:39 -04:00
Daniel Smith
b6f1f84875
Extend proxy test to test all URL rewriting cases.
2014-09-05 13:33:31 -07:00
Daniel Smith
6554ee96f7
Rewrite proxy code for clarity and correctness.
2014-09-05 13:33:30 -07:00
Daniel Smith
e2b645ec15
Add a generic proxier
...
To proxy traffic to anything that implements ResourceLocation.
Currently, this is only services. This is easily extensible to minions
(would supercede existing mechanism) and pods.
2014-09-05 13:33:30 -07:00
Francisco Souza
6d0f84c700
api/v1beta1: use go-dockerclient instead of docker-api-structs
...
This involves updating go-dockerclient and removing the patched code.
Related to #692 and fsouza/go-dockerclient#146 .
2014-09-05 17:31:13 -03:00
Brendan Burns
d0884accd7
Add support for the PostStart event handler.
2014-09-05 12:37:57 -07:00
Joe Beda
3c0a736908
Fix/expand kubecfg unit tests
2014-09-04 13:25:39 -07:00
Joe Beda
f8e2f927f6
Pretty up the demo a little.
...
Use images and some better formatting. Also add scripts to help prevent typos.
This based on an improved version done by Julia Ferraioli. She came up with the cool images.
2014-09-04 13:25:39 -07:00
Joe Beda
45aaff9993
Add template update to rollingUpdate
2014-09-04 13:25:38 -07:00
Joe Beda
2444e4e1dc
Simplify labels for `kubecfg run`
...
We created a name=<controller name> label on each object we created. This was confusing. Instead, piggyback on `replicationController` label and use that as the selector.
2014-09-04 13:25:38 -07:00
Daniel Smith
779de7361a
Merge pull request #1138 from bcwaldon/common-watch-code
...
Use shared watch code in kubelet etcd config
2014-09-03 23:47:09 -07:00
Deyuan Deng
75470e6adf
Include pod status in kebecfg humanreadable result.
2014-09-03 20:26:32 -04:00
Brian Waldon
85bf7064bb
Use shared watch code in kubelet etcd config
2014-09-03 15:51:02 -07:00
Clayton Coleman
34c40e4e48
Errors should be part of api/errors, not apiserver
...
Renames constructor methods to be errors.New<name> which changed a few
places.
2014-09-03 17:16:00 -04:00
Clayton Coleman
6dd4831de8
Move validation errors into their own file
2014-09-03 17:14:03 -04:00
Clayton Coleman
01e668187c
Services and Endpoints weren't properly sync'ing
...
They need incremental changes and a resync on start.
2014-09-03 16:04:55 -04:00
derekwaynecarr
ca3f5a9f46
Fixup name vs ID terminology
2014-09-03 10:27:33 -04:00
Brendan Burns
dd9ecf5b79
Add types for lifecycle events.
2014-09-02 15:14:13 -07:00
brendandburns
25fdade6fa
Merge pull request #1134 from thockin/race
...
try to fix data race
2014-09-02 14:07:15 -07:00
Daniel Smith
d20264351b
Merge pull request #1077 from brendandburns/service
...
Step #1 in migrating the service controller away from the apiserver.
2014-09-02 14:03:52 -07:00
Tim Hockin
8ad98db773
Merge pull request #1121 from filbranden/rawversion2
...
Add support for -version=raw
2014-09-02 13:53:13 -07:00
Tim Hockin
6a624a2b4f
try to fix data race
2014-09-02 13:51:15 -07:00
Daniel Smith
a63966e73c
Combine pkg/apitools and pkg/api/common and call the result pkg/runtime
2014-09-02 11:15:44 -07:00
Daniel Smith
099c8fd36f
Propagate rename; tests pass again.
2014-09-02 10:42:06 -07:00
Daniel Smith
7615c00a9a
Make validation work when not in the api package.
2014-09-02 10:42:06 -07:00
Daniel Smith
eb5ca80946
Split helper test, move fuzzing to api package as serialization_test.go
2014-09-02 10:40:52 -07:00
Daniel Smith
6121e61f99
Split api into api, api/common, api/validation & apitools
2014-09-02 10:40:52 -07:00
Brendan Burns
fee2b90608
Step #1 in migrating the service controller away from the apiserver.
...
Start using the API server for listing services.
2014-09-02 10:25:04 -07:00
Tim Hockin
5bed06f614
Merge pull request #1129 from VojtechVitek/godoc
...
Godoc improvements
2014-09-02 09:45:05 -07:00
Clayton Coleman
64c7348a19
Expand api ResourceVersioner test
2014-09-02 09:52:37 -04:00
Vojtech Vitek (V-Teq)
42c656501c
Add several missing pkg Godoc files
...
Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-09-02 13:41:11 +02:00
Vojtech Vitek (V-Teq)
59f58cd043
Unify Godoc formatting, fix various typos
...
Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-09-02 13:41:03 +02:00
Deyuan Deng
d528949547
Fix pod status error with List method.
2014-09-01 21:23:50 -04:00
Filipe Brandenburger
1d8067450c
Rename `pkg/version/flag` to `pkg/version/verflag`
...
This avoids some conflict with the built-in `flag` module in Go. The
module was already being renamed to `verflag` on import anyways, so we
might as well just call it that.
Tested:
- hack/build-go.sh and ran the resulting binaries with -version args.
Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-08-29 23:19:32 -07:00
Filipe Brandenburger
2421c738a6
Add support for -version=raw to print the Go version.Info
...
This can be helpful to print the internal fields of the version
information that will contain more details about the git tree than the
short -version output will.
Tested:
- Tested getting the raw version:
$ _output/go/bin/kubecfg -version=raw
version.Info{Major:"0", Minor:"1+", GitVersion:"v2.2.1-33-gdc4becd9765393", GitCommit:"dc4becd9765393fa05a3eb06f6af9e00068fe0c5", GitTreeState:"dirty"}
- Tested getting the simple version:
$ _output/go/bin/kubecfg -version
Kubernetes version 0.1+, build dc4becd976
- Tested getting the help output:
$ _output/go/bin/kubecfg 2>&1 | grep -- -version
-version=false: Print version information and quit
- Made sure -version=true and -version=false works, that -version with
an invalid argument works as expected (prints usage help) and that
-version followed by space will not try to use the next word as its
argument (i.e. `-version raw` prints the version but not the raw one.)
Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-08-29 23:15:24 -07:00
Joe Beda
2d8e160775
Merge pull request #1117 from lavalamp/fixApi
...
Invert api and api/v1beta1 dependencies
2014-08-29 14:59:15 -07:00
Daniel Smith
9928c40ea6
Merge pull request #1099 from smarterclayton/return_resource_version_on_list
...
Add the resource version to api.*List items from etcd
2014-08-29 13:41:46 -07:00
Daniel Smith
aa9b9b9fa8
Invert api and api/v1beta1 dependencies
...
This is some cleanup that has been needed for a while.
There's still one more step that could usefully be done, which is to
split up our api package into the part that provides the helper
functions and the part that provides the internal types. That can come
later.
The v1beta1 package is now a good example of what an api plugin should
do to version its types.
2014-08-29 12:15:30 -07:00
Clayton Coleman
821f9bd5e7
Merge pull request #1102 from lavalamp/fixApi
...
Fix incorrect tag in MinionList
2014-08-29 10:54:15 -04:00
Daniel Smith
dd862a7c53
Fix flaky scheduler factory test.
2014-08-28 20:32:20 -07:00
Clayton Coleman
bafc422ac0
Add the resource version to api.*List items from etcd
...
Allows clients to watch more easily (can invoke Get, then
Watch).
2014-08-28 23:17:00 -04:00
Daniel Smith
a2b03ea93b
Fix incorrect tag in MinionList
2014-08-28 20:06:17 -07:00
Daniel Smith
e30d229a34
Merge pull request #1097 from bcwaldon/remove-code
...
Remove unnecessary parameter from NewRegistry
2014-08-28 17:37:05 -07:00
Daniel Smith
93818a9ce0
Merge pull request #1095 from dchen1107/cleanup
...
Fixed kubelet /healthz by using healthz package
2014-08-28 17:25:56 -07:00
Brian Waldon
816c4a3c76
Remove unnecessary parameter from NewRegistry
2014-08-28 16:52:45 -07:00
Dawn Chen
223fb6e610
Fixed kubelet /healthz by using healthz package
...
Fixed #1094
2014-08-28 15:34:39 -07:00
Daniel Smith
3c49aa96fe
Merge pull request #1026 from lavalamp/redirect
...
Add simple service redirection
2014-08-28 14:54:10 -07:00
Clayton Coleman
818f357128
Client should validate the incoming host value
...
Convert host:port and URLs passed to client.New() into the proper
values, and return an error if the value is invalid. Change CLI
to return an error if -master is invalid. Remove Client.rawRequest
which was not in use, and fix the involved tests. Add NewOrDie
Preserves the behavior of the client to not auth when a non-https
URL is passed (although in the future this should be corrected).
2014-08-28 13:47:36 -04:00
brendandburns
b743c3de77
Merge pull request #1082 from smarterclayton/incorrect_manifest_validation
...
Incorrect validation error for container image
2014-08-28 09:32:29 -07:00
Clayton Coleman
cc1ab0a3db
Incorrect validation error for container image
2014-08-28 09:58:16 -04:00
Vojtech Vitek (V-Teq)
5500bbade6
Fix typos in pkg docs
...
Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-08-28 11:43:35 +02:00
Daniel Smith
4de254444e
Add simple service redirection
2014-08-27 20:51:41 -07:00
Daniel Smith
0766e7a411
Merge pull request #1058 from vishh/add_list_minions
...
Adding ListMinions() API to pkg/client.
2014-08-27 14:19:57 -07:00
Vishnu Kannan
180e9ed493
Add unit tests for pkg/client.ListMinions()
2014-08-27 21:07:22 +00:00
Clayton Coleman
9006eadcfe
kube-proxy can read config from the apiserver
...
All clients that talk to a "master" as a host:port or URL
(scheme://host:port) parameter. Add tests.
2014-08-27 15:49:01 -04:00
Clayton Coleman
083d81b6d7
Expose REST resource for endpoints and watch on services/endpoints
...
Will allow kube-proxies to listen on endpoints.
2014-08-27 15:49:01 -04:00
Clayton Coleman
b5e1e044bc
Move EndpointsController to its own package
...
Avoids recursive loop with endpoint registry defined
2014-08-27 15:49:00 -04:00
Clayton Coleman
ae698bcff8
Allow field/label users to get info from fields
...
Allows a consumer to get at the information stored in the field selector
for querying an underlying data store. Not generic, but offers a
simple start.
2014-08-27 15:49:00 -04:00
Vishnu Kannan
a4b00e33e0
Adding ListMinions() API to pkg/client.
2014-08-27 18:57:29 +00:00
Daniel Smith
2606ece6e9
Merge pull request #1056 from filbranden/versioning_fixes1
...
Versioning fixes
2014-08-27 10:19:46 -07:00
Filipe Brandenburger
b777eb19e2
Add additional ldflags constants for Kubernetes versioning
...
Now it is possible to push these variables through ldflags:
- gitMajor
- gitMinor
- gitVersion (from latest annotated tag, output of git describe)
- gitCommit (renamed commitFromGit, intended to have the full sha1)
- gitTreeState (either "clean" or "dirty")
These are spawned into its separate source file, since they are meant to
be updated separately when a new version is released.
Also use the notation vX.Y+ for when git information is not present.
(This is consistent with the kernel build, e.g. Linux 3.15+ means its
version is >= 3.15 and < 3.16.)
v2: Added comments to the individual fields in pkg/version/base.go
Tested:
- Built it and checked the -version output:
$ hack/build-go.sh
$ output/go/bin/kubelet -version
Kubernetes version 0.1+, build c328679ef8aa
Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2014-08-27 10:06:22 -07:00
Clayton Coleman
31dadca04f
Merge pull request #1047 from lavalamp/fixApiObj
...
Cleanup: remove deprecated fields the proper way
2014-08-27 11:43:27 -04:00
Brendan Burns
52473bdf11
Deflake operation listing.
2014-08-26 22:48:24 -07:00
Daniel Smith
97b05619f1
Remove deprecated bits from kubelet
2014-08-26 22:39:00 -07:00
Daniel Smith
e1a361a84b
Merge pull request #1049 from brendandburns/flake
...
Fix a flake by extending the time out, so we don't race a go routine.
2014-08-26 21:00:23 -07:00
Daniel Smith
2a62d72140
Cleanup: remove deprecated fields the proper way
2014-08-26 17:28:36 -07:00
Brendan Burns
d83091ea52
Fix a flake by extending the time out, so we don't race a go routine.
...
Empirically this eliminates a flake.
2014-08-26 17:09:38 -07:00
Brendan Burns
556eb0f400
Add a run command to the kublet server
2014-08-26 13:57:44 -07:00
Daniel Smith
c7999a7f75
Merge pull request #964 from smarterclayton/return_validation_errors_from_api
...
Return validation errors via the REST API
2014-08-26 12:44:00 -07:00
Clayton Coleman
7487f9a951
Merge pull request #1040 from brendandburns/hostname
...
Switch the hostname in a container to be the pod id.
2014-08-26 15:02:05 -04:00
Brendan Burns
4f1fa939f7
Switch the hostname in a container to be the pod id.
2014-08-26 11:13:53 -07:00
Joe Beda
bce7a4bd90
Merge pull request #1014 from smarterclayton/set_commit_with_ldflags
...
Use -ldflags to set git commit version
2014-08-26 10:56:56 -07:00
Clayton Coleman
0a841a49fd
Naming of Reason constants is inconsistent
...
Changed ReasonType to StatusReason (to match the field) and
changed CauseReason to CauseType and renamed StatusCause.Reason to
Type.
2014-08-26 13:39:21 -04:00
Clayton Coleman
52923a1348
Return validation errors from storage create/update
2014-08-26 13:30:55 -04:00
Clayton Coleman
84db1da42b
Convert field errors into a selector for the object
...
Satisfies the "Field" condition for a Cause. Also addresses
parts of #914 .
2014-08-26 13:30:55 -04:00
Clayton Coleman
d326ba2976
Add a Causes array to status details for validation errors
...
Uses the same constant values as api/errors for each nested
reason.
2014-08-26 13:30:55 -04:00
Clayton Coleman
60126bfe64
Make the validation types match the pending ReasonCauses
2014-08-26 13:30:55 -04:00
Daniel Smith
aeaa3f99fb
Merge pull request #1037 from thockin/proxy
...
Fix a race in proxy.
2014-08-25 22:10:54 -07:00
Tim Hockin
23fc00be5c
Fix a race in proxy.
...
addService() eventually calls getServiceInfo(), but the serviceInfo object may
not be installed yet (race).
2014-08-25 21:38:16 -07:00
brendandburns
6f84f6d92f
Merge pull request #1000 from lavalamp/fix2
...
Need to remove pods that change labels.
2014-08-25 21:20:33 -07:00
Satnam Singh
3f0f119e42
Very minor change to use camelCase for ReasonType as suggested in issue #914 .
2014-08-25 16:57:13 -07:00
Daniel Smith
6b69ed402b
Change 'sendCreate' to 'sendAdd'; integration passes.
2014-08-25 15:56:55 -07:00
Daniel Smith
db1c0db5c7
Move etcd watch code to its own files
2014-08-25 15:56:54 -07:00
Daniel Smith
72b35816cd
Need to remove pods that change labels.
2014-08-25 15:56:54 -07:00
brendandburns
5155222edc
Merge pull request #961 from lavalamp/removeAssignCall
...
Remove synchronous assignPod call from create pod
2014-08-25 15:25:27 -07:00
Daniel Smith
b8c57ea181
Merge pull request #1006 from satnam6502/master
...
Make validation check for legal service port numbers.
2014-08-25 14:51:22 -07:00
Clayton Coleman
9336373857
Use -ldflags to set git commit version
2014-08-25 16:40:47 -04:00
Daniel Smith
98ef76c164
Remove references to scheduler from pod storage.
2014-08-25 11:59:00 -07:00
Daniel Smith
ddba004ad0
Add constraint package to let us reject invalid assignments.
2014-08-25 11:59:00 -07:00
Daniel Smith
0a1dfa366e
Make integration test pass.
2014-08-25 11:59:00 -07:00
Daniel Smith
29e9e13188
Remove synchronous assignPod call from create pod
2014-08-25 11:59:00 -07:00
Brendan Burns
3012c10ae3
Add a log when we drop a minion because of health checks.
2014-08-25 11:43:02 -07:00
Satnam Singh
4105f7ef61
Code review changes to adjust pacakge name for storage_test.go
2014-08-25 10:38:11 -07:00
Clayton Coleman
b01d0c2874
Merge pull request #1002 from smarterclayton/improve_wait_api
...
Improve the wait.Poll GoDoc and api
2014-08-25 13:07:04 -04:00
csrwng
938548a9fb
Break up API client into per-resource client and common code
2014-08-25 07:54:35 -04:00
Clayton Coleman
58f8ac860f
Set creation timestamp on services
2014-08-23 14:33:24 -04:00
Clayton Coleman
286c3c543c
Improve the wait.Poll GoDoc and api
...
Add more tests, and switch to timeouts instead of cycles.
Deflake TestPoller
2014-08-23 12:18:03 -04:00
Satnam Singh
7fcaf80f67
Make validation check for legal serive port numbers.
2014-08-22 14:44:21 -07:00
Clayton Coleman
bd2cbdc312
Merge pull request #996 from brendandburns/selector
...
Add a validation that replicaSelector matches PodTemplate.Labels
2014-08-22 13:46:06 -04:00
Brendan Burns
5839378adc
Add a validation that replicaSelector matches PodTemplate.Labels
2014-08-21 22:18:55 -07:00
Daniel Smith
42685ad8f1
Merge pull request #985 from brendandburns/kubecfg
...
Make rolling update be blocking.
2014-08-21 17:00:18 -07:00
Clayton Coleman
1c68247954
Merge pull request #909 from lavalamp/scheduler3
...
Scheduler plugin v1
2014-08-21 19:04:51 -04:00
Brendan Burns
de1480fd2f
Make rolling update be blocking.
2014-08-21 15:58:17 -07:00
Daniel Smith
3ab35c63f3
Merge pull request #828 from roberthbailey/config
...
Add validation when processing pod manifests from a URL.
2014-08-21 14:34:25 -07:00
Paul Morie
47fd5842ad
Fix typo in tests
2014-08-21 17:02:28 -04:00
Dawn Chen
df260c830f
Merge pull request #905 from erictune/cleanup6
...
Dereference string* before printing it with "%s%".
2014-08-21 09:23:19 -07:00
brendandburns
8f5dd8cf63
Merge pull request #984 from thockin/make_vs_new
...
Rename a bunch of "Make" functions to "New"
2014-08-20 22:06:57 -07:00
Tim Hockin
0f97a73c1b
Rename a bunch of "Make" functions to "New"
...
Also rename some to other names that make better reading. There are still a
bunch of "make" functions but they do things like assemble a string from parts
or build an array of things. It seemed that "make" there seemed fine. "New"
is for "constructors".
2014-08-20 21:27:19 -07:00
brendandburns
1bd4ae0c62
Merge pull request #943 from smarterclayton/only_wait_for_acceptance
...
Clients must wait for completion of actions
2014-08-20 21:01:21 -07:00
brendandburns
25b3da718f
Merge pull request #980 from thockin/cloudproviders
...
Make cloud providers into plugins
2014-08-20 21:00:51 -07:00
Tim Hockin
edff541524
Treat async loops the same.
...
In the name of consistency, treat the PodCache loop the same as the
EndpointController.
2014-08-20 20:17:16 -07:00
Tim Hockin
caadf10197
clarity: rename minionRegistryMaker to makeMinionRegistry
2014-08-20 20:17:16 -07:00
Tim Hockin
f7d54390f9
Make cloud providers be plugins
2014-08-20 20:16:41 -07:00
Tim Hockin
eb9f3394c5
Move VagrantCloud into its own pkg
2014-08-20 20:16:41 -07:00
Tim Hockin
b23bef26eb
Move GCECloud into its own pkg
2014-08-20 20:16:41 -07:00
Tim Hockin
95e0be9a63
Move FakeCloud into its own pkg
2014-08-20 20:16:41 -07:00
Daniel Smith
3d47c8bad1
Fix up client tests now that we check the query in FakeHandler
2014-08-20 16:50:02 -07:00
Daniel Smith
8a9eaf911f
For testability & reuse, move scheduler setup into its own package.
2014-08-20 16:50:02 -07:00
Clayton Coleman
493863eb93
Return immediately when controllers/pods are committed
...
Add client waiting conditions.
2014-08-20 18:46:10 -04:00
Clayton Coleman
34031dbc6a
Remove excessive waiting in kubelet etcd loop
...
Listen to etcd longer, and wait a shorter time before reconnecting.
No longer an argument to the source.
2014-08-20 18:46:10 -04:00
Daniel Smith
4c4ca59050
Add poller to cache.
2014-08-20 15:32:49 -07:00
Daniel Smith
dddad888b5
Begin scheduler plugin
2014-08-20 15:32:49 -07:00
Daniel Smith
4c3f509d94
Make cache.Reflector more injectable. Add test for resource version state keeping.
2014-08-20 15:32:49 -07:00
brendandburns
6ca912e07f
Merge pull request #977 from pmorie/unit
...
Add missing case for IntOrString unit tests
2014-08-20 14:30:38 -07:00
Paul Morie
5331cd6ec0
Add missing case for IntOrString unit tests
2014-08-20 17:22:29 -04:00
derekwaynecarr
fd8741edf2
Refactor kubelet to use http.ServeMux
2014-08-20 16:08:08 -05:00
Clayton Coleman
6b05d71d74
Merge pull request #972 from brendandburns/pod
...
Switch api.Status to *api.Status in a bunch of places.
2014-08-20 16:53:36 -04:00
Vishnu Kannan
2b61831c22
Improve kubelet logging - log the docker container image name when docker pull fails.
2014-08-20 10:30:42 -07:00
Brendan Burns
a198bbb0ae
Switch api.Status to *api.Status in a bunch of places.
2014-08-20 10:21:49 -07:00
Daniel Smith
f650337ec3
Merge pull request #913 from csrwng/pluggable_type_printing
...
Allow kubecfg to print custom types
2014-08-20 10:01:56 -07:00
csrwng
14714f2638
Allow kubecfg to print custom types
2014-08-20 12:23:02 -04:00
Deyuan Deng
c104551025
Improve pkg/registry/service code coverage.
2014-08-19 20:13:00 -04:00
Daniel Smith
b4973bbac4
Merge pull request #956 from brendandburns/service
...
Fix the proxier when a service with the same port is re-created after being deleted.
2014-08-19 16:22:04 -07:00
brendandburns
a9ba3687f4
Merge pull request #958 from dchen1107/port
...
Fix #926
2014-08-19 16:15:15 -07:00
Dawn Chen
5a2365b323
Fix #926
...
Make HostPort a real option without being set to ContainerPort if absent.
2014-08-19 15:44:50 -07:00
Brendan Burns
da74625ac6
Fix the proxier when a service with the same port is re-created, actually restart the proxy.
2014-08-19 12:24:10 -07:00
brendandburns
bd53643647
Merge pull request #851 from derekwaynecarr/cloud_provider
...
Vagrant supports a cloud provider
2014-08-18 18:23:49 -07:00
brendandburns
88baa52134
Merge pull request #918 from lavalamp/bindImpl
...
Implement bindings
2014-08-18 18:19:33 -07:00
brendandburns
5756a635c9
Merge pull request #949 from lavalamp/bugFix
...
Add comment for clarity and logging for debugging.
2014-08-18 18:15:37 -07:00
Daniel Smith
f689d44d25
Add comment for clarity and logging for debugging.
2014-08-18 17:43:10 -07:00
Daniel Smith
d363d5d942
Merge pull request #944 from brendandburns/service
...
Add a better test for service environment variables. Fix bugs.
2014-08-18 16:59:21 -07:00
brendandburns
0126688ca0
Merge pull request #939 from derekwaynecarr/kubecfg_stop_should_reuse_code
...
Use common resize controller logic for stop in kubecfg
2014-08-18 16:58:56 -07:00
Daniel Smith
138b560efb
Implement bindings
...
This will effectively cause no changes until we remove the assignPod
call from CreatePod().
2014-08-18 16:55:44 -07:00
Brendan Burns
3eb044b495
Add a better test for service environment variables
...
Fix bugs.
2014-08-18 16:53:59 -07:00
Clayton Coleman
bcf7a37e21
Merge pull request #906 from lavalamp/watch
...
Watch improvements.
2014-08-18 17:11:08 -04:00
derekwaynecarr
3c68b0a009
Use common resize controller logic for stop
2014-08-18 15:58:31 -04:00
Brendan Burns
05ab1e49fb
Address some follow up comments.
2014-08-18 12:49:52 -07:00
Tim Hockin
e472752ff9
Merge pull request #875 from brendandburns/exec
...
Add a in container exec based health check.
2014-08-18 12:19:22 -07:00
Brendan Burns
0caae9c1d4
Add a in container exec based health check.
2014-08-18 12:00:11 -07:00
derekwaynecarr
8df21b84a1
Add vagrant cloudprovider
2014-08-18 14:30:31 -04:00
brendandburns
53f53516f6
Merge pull request #933 from derekwaynecarr/issue_878
...
Enforce isDir, elliminates message in kubelet.log
2014-08-18 11:07:59 -07:00
Clayton Coleman
13c3efbc4c
The default client poll interval is extremely long
...
Most operations complete much more quickly than 20s, and those that
do take longer are going to be fixed to make them take less time
(#353 )
2014-08-18 13:40:35 -04:00
derekwaynecarr
39293eaf56
Enforce isDir, elliminates message in kubelet.log
2014-08-18 13:17:41 -04:00
Daniel Smith
b00afd7f3b
Merge pull request #924 from thockin/cleanups2
...
Validation return types cleanup
2014-08-18 09:38:07 -07:00
Robert Bailey
ce572050a8
Add tests for invalid container manifests.
2014-08-18 00:44:46 -07:00
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
Daniel Smith
4b2867fd8a
Standardize watch usage in registry/storage objects. Fix up extremely confusing pod test object.
2014-08-16 19:07:41 -07:00
Daniel Smith
d900134a60
Add filter to watch
2014-08-16 19:07:30 -07:00
Daniel Smith
ca55bfb29c
Add mux type to watch package
2014-08-16 19:07:29 -07:00
Daniel Smith
e40e5b53a7
Add Watch to /pods.
2014-08-16 19:07:29 -07:00
Tim Hockin
e0d9002717
All validations return ErrorList now
2014-08-16 13:48:48 -07:00
Tim Hockin
a69979d22b
Change ErrorList.Append() to append()
2014-08-16 13:34:06 -07:00
brendandburns
0426055940
Merge pull request #919 from lavalamp/delMem
...
Remove unused and not completely correct code
2014-08-15 20:24:31 -07:00
Daniel Smith
26e2256178
Remove unused and not completely correct code
2014-08-15 18:20:37 -07:00
Daniel Smith
2946e21f80
Merge pull request #916 from smarterclayton/unify_fake_client
...
Replace pkg/kubecfg#FakeKubeClient with the fake in pkg/client
2014-08-15 17:15:19 -07:00
Clayton Coleman
12a22db2a9
Merge pull request #911 from derekwaynecarr/fix_verify_boilerplate
...
Fix verify-boilerplate
2014-08-15 17:28:57 -04:00
Clayton Coleman
82b0ec5115
Replace pkg/kubecfg#FakeKubeClient with the fake in pkg/client
2014-08-15 17:15:53 -04:00
Daniel Smith
daab393562
Merge pull request #780 from brendandburns/native
...
Add a utility for doing master election via etcd.
2014-08-15 11:48:13 -07:00
Brendan Burns
a17acd30ee
Add a utility for doing master election via etcd.
2014-08-15 11:42:16 -07:00
derekwaynecarr
8c07a0f524
Fix verify-boilerplate
2014-08-15 13:12:01 -05:00
Daniel Smith
881234c7ec
Merge pull request #900 from thockin/cleanups2
...
Move validation errors into a pkg
2014-08-15 10:01:48 -07:00
brendandburns
39d2020392
Merge pull request #897 from smarterclayton/watch_starting_too_early
...
Watch should start from next index when getting the initial state
2014-08-15 09:46:13 -07:00
Tim Hockin
b9e65c2438
Use new api/errors, get rid of api.* error code
2014-08-15 00:14:38 -07:00
Tim Hockin
bcd588ec15
Break api error handling into a new pkg
2014-08-15 00:14:38 -07:00
Clayton Coleman
befbf8466f
Only write to etcd if values have changed
...
This prevents certain loops from writing data to etcd every few
seconds (when data hasn't changed).
2014-08-14 20:34:36 -04:00
Clayton Coleman
7c67cbff04
Watch should start from next index when getting the initial state
...
Also, the fake response we return should have an Action that is
appropriate for the operation.
2014-08-14 20:32:46 -04:00
csrwng
5538bfca01
Allow kubecfg to parse other types via initialization map
2014-08-14 18:14:12 -04:00
brendandburns
8daf8c7a30
Merge pull request #896 from smarterclayton/return_correct_index_for_delete
...
Delete should use current node, not prev node index
2014-08-14 14:59:52 -07:00
Joe Beda
5654f5b247
Merge pull request #904 from erictune/cleanup5
...
Return not required after panic.
2014-08-14 14:30:41 -07:00
Joe Beda
8092a80ad9
Merge pull request #903 from erictune/cleanup4
...
Pass obj with lock by reference.
2014-08-14 14:29:01 -07:00
Joe Beda
9f7f46d06b
Merge pull request #901 from erictune/cleanup3
...
Remove unreachable code.
2014-08-14 14:27:31 -07:00
Clayton Coleman
87256127e0
Merge pull request #856 from pmorie/workaround-timestamp
...
Set CreationTimestamp in each storage implementation
2014-08-14 17:25:58 -04:00
Eric Tune
3d02700cc8
Dereference string* before printing it with "%s%".
...
Suggested by "go vet".
2014-08-14 14:06:09 -07:00
Eric Tune
c42d8b8e73
Return not required after panic.
...
Suggested by "go vet".
2014-08-14 14:04:39 -07:00
Eric Tune
ee91a19f90
Pass obj with lock by reference. Methods->funcs.
...
Fixes "lock passed by value" issues raised by "go vet".
2014-08-14 14:01:27 -07:00
Eric Tune
7de0df0be8
Remove unreachable code.
2014-08-14 13:56:42 -07:00
Paul Morie
c69160059b
Change CreationTimestamp to a util.Time and set in each storage implementation
...
Because time.Time doesn't work correctly with our YAML package, it is necessary
to introduce a type, util.Time, which serializes correctly to JSON and YAML.
Eventually we would like timestamping to cut across storage implementations;
for now, we set it in each storage.
2014-08-14 16:26:29 -04:00
Clayton Coleman
2872e565a2
Delete should use current node, not prev node index
...
The index an object was deleted on should be resp.Node.ModifiedIndex
2014-08-14 16:14:24 -04:00
Brendan Burns
7ea2a37219
deflake tests.
2014-08-13 15:41:42 -07:00
Daniel Smith
9355fae71e
Merge pull request #881 from smarterclayton/etcd_closes_watch_channel
...
Etcd can close the watch channel for services
2014-08-13 14:11:50 -07:00
Joe Beda
e5e4c8a7d3
Merge pull request #378 from monnand/godep
...
Use godep to manage dependencies
2014-08-13 13:28:15 -07:00
Daniel Smith
4d36502c9c
Merge pull request #842 from smarterclayton/add_api_groups
...
Extract RESTHandler and allow API groupings
2014-08-13 13:05:02 -07:00
Nan Monnand Deng
41b0e5f34c
move go-dockerclient-copiedstructs to third_party/docker-api-structs
2014-08-13 14:49:03 -04:00
Clayton Coleman
231ed95a61
Typo in name
2014-08-13 14:36:23 -04:00
Clayton Coleman
7d24615d8e
Etcd can close the watch channel for services
...
Need to loop and reopen if it's closed.
2014-08-13 14:21:16 -04:00
Clayton Coleman
bbf3b55e76
Extract RESTHandler and allow API groupings
...
Prepare for running multiple API versions on the same HTTP server
by decoupling some of the mechanics of apiserver. Define a new
APIGroup object which represents a version of the API.
2014-08-13 10:53:34 -04:00
Daniel Smith
aeea1b1e06
Merge pull request #732 from mfojtik/etcd_log
...
Avoid log flooding with messages about missing missing registry/services
2014-08-12 18:17:04 -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
brendandburns
74a7179e2e
Merge pull request #858 from lavalamp/fix
...
Fix flaky TestOpGet
2014-08-12 15:19:13 -07:00
Daniel Smith
f220aa1aba
Fix flaky TestOpGet and TestSyncCreateTimeout
2014-08-12 14:23:12 -07:00
Michal Fojtik
afbd7a6147
Make proxy/config/etcd.go less verbose when etcd is not available
2014-08-12 11:51:44 +02:00
Kelsey Hightower
c21a0ca39f
Breakup the registry package into separate packages.
...
Currently all registry implementations live in a single package,
which makes it bit harder to maintain. The different registry
implementations do not follow the same coding style and naming
conventions, which makes the code harder to read.
Breakup the registry package into smaller packages based on
the registry implementation. Refactor the registry packages
to follow a similar coding style and naming convention.
This patch does not introduce any changes in behavior.
2014-08-11 20:58:09 -07:00
Clayton Coleman
c6dcfd544f
Merge pull request #839 from yugui/fix/api-status
...
Make storage.Delete return *api.Status instead of api.Status
2014-08-11 20:01:28 -04:00
Daniel Smith
c372b74bc8
Merge pull request #847 from thockin/health
...
Use IntOrString for health checks
2014-08-11 16:28:24 -07:00
Daniel Smith
6460a8cbf8
Correct confusing comment.
2014-08-11 15:58:59 -07:00
brendandburns
3222f61bca
Merge pull request #557 from lavalamp/podLocation
...
Prepare for external scheduler
2014-08-11 15:27:24 -07:00
Tim Hockin
1c8704befc
Merge pull request #592 from lavalamp/schedulerApi
...
Proposal for scheduler API
2014-08-11 15:20:45 -07:00
Daniel Smith
5e34a9784f
Merge pull request #852 from smarterclayton/deliver_state_on_nil_version
...
Watch delivers current state for resourceVersion=0
2014-08-11 15:13:15 -07:00
Daniel Smith
b5352a81c7
Use DesiredState rather than CurrentState for Host.
2014-08-11 15:12:51 -07:00
Dan Mace
b986c520a7
Apply resource versioning to list extractions from etcd
...
Set the resource version on lists of objects extracted from etcd to prevent
them from always being interpreted as new during updates.
2014-08-11 21:11:08 +00:00
Clayton Coleman
c5630a9567
Watch delivers current state for resourceVersion=0
...
Allows clients to get the current state without having to execute
a get followed by a watch. Makes integration with action loops
much cleaner.
2014-08-11 17:07:14 -04:00
Daniel Smith
b7752a86d4
Add debugging info printing to etcd fake
...
And make tests pass again.
2014-08-11 13:09:24 -07:00
Daniel Smith
9050c819dc
Merge pull request #722 from smarterclayton/improve_errors
...
Normalize apiserver error handling of standard errors
2014-08-11 12:43:06 -07:00
Tim Hockin
bca90f4866
Reduce and comment exports
2014-08-11 00:11:59 -07:00
Tim Hockin
7beac7a9af
Split health_check.go into smaller parts.
...
Distinct files for core, http, and tcp.
2014-08-11 00:01:17 -07:00
Tim Hockin
24c516ec1d
Move HTTP code out of health.go
...
Put it with the related HTTP code.
2014-08-10 23:50:06 -07:00
Tim Hockin
c67c1edfb4
Use IntOrString for TCP health check ports
...
Clean up code to be more testable. Add test cases for named and numeric
ports in TCP health checks. Improve tests.
2014-08-10 23:44:42 -07:00
Tim Hockin
7201227cb1
Use IntOrString for HTTP health check ports
...
Clean up code to be more testable. Add test cases for named and numeric
ports in HTTP health checks. Improve tests.
2014-08-10 23:26:42 -07:00
Daniel Smith
7d605467dc
New scheduler API
...
This commit adds a Binding object. The idea is that schedulers can write
these to cause pods to be asssigned to hosts. I'll provide an implementation
along with a rudimentary scheduler plugin.
This continues k8s' tradition of phrasing all APIs as RESTful handlers.
2014-08-10 19:05:03 -07:00
Daniel Smith
5cdce0e35a
Prepare for external scheduler
...
1. Change names of Pod statuses (Waiting, Running, Terminated).
2. Store assigned host in etcd.
3. Change pod key to /registry/pods/<podid>. Container location remains
the same (/registry/hosts/<machine>/kublet).
2014-08-10 15:05:36 -07:00
Clayton Coleman
d419eedb06
Watch handler not returning after 404
2014-08-09 10:46:56 -04:00
Yuki Yugui Sonoda
d359f3c396
Make storage.Delete return *api.Status instead of api.Status
...
as apiserver.APIServer.finishReq expects.
This solves the warning in finishReq:
"programmer error: use *api.Status as a result, not api.Status."
2014-08-09 22:18:24 +09:00
Clayton Coleman
0083fae453
Provide helpers and tests for common error types
...
Unify error handling in apiserver into a single path - RESTStorage
objects must provide appropriate errors individually. Ensure ALL
errors which can be traced to logical faults with RESTStorage are
returned as api.Status objects.
2014-08-08 19:44:47 -04:00
Daniel Smith
079c9043bd
Switch to new external fuzz package
2014-08-08 15:54:09 -07:00
Clayton Coleman
71c6e082d4
Merge pull request #805 from lavalamp/serverWatch
...
Improve watch
2014-08-08 17:30:28 -04:00
brendandburns
4c00acdde0
Merge pull request #827 from brendandburns/kubelet
...
Add container hashing to the container name, and restart containers on changes.
2014-08-08 14:17:11 -07:00
Daniel Smith
5dd130a350
Prevent accidental setting of sync or timeout
2014-08-08 14:09:14 -07:00
Daniel Smith
49cded3800
Simplify ResourceWatcher interface to one function.
2014-08-08 14:09:13 -07:00
Daniel Smith
71709ae09e
Make replication controller use client
2014-08-08 14:09:13 -07:00
Daniel Smith
51caf759c3
Add WatchReplicationControllers to kubecfg's fake
2014-08-08 14:09:13 -07:00
Daniel Smith
85ff1d3e7f
Add fake client to make testing easier.
2014-08-08 14:09:13 -07:00
Daniel Smith
097147545c
Allow more general parameters to be made by client. Also fix style and comments.
2014-08-08 14:09:13 -07:00
Daniel Smith
283fdba6ab
Add more parameters to Watch
...
* Add labels selector (same as List)
* Add fields selector
* Plan to let you select pods by Host and/or Status
* Add resourceVersion to let you resume a watch where you left off.
2014-08-08 14:09:13 -07:00
Clayton Coleman
a74fac7d70
Centralize path magic in apiserver into the New method
...
Make OperationHandler and WatchHandler properly encapsulate their
concerns and make them not depend on the global path
2014-08-08 16:33:44 -04: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
Daniel Smith
ac6d6ec974
Merge pull request #807 from smarterclayton/abstract_apiserver_encoding
...
Decouple apiserver from codec implementation
2014-08-08 11:57:04 -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
c9fc0bcf3d
Decouple apiserver from codec implementation
...
The apiserver on initialization must be provided with a codec
for encoding and decoding all handled objects including api.Status
and api.ServerOp. In addition, the RESTStorage Extract() method
has been changed to New(), which returns a pointer object that the
codec must decode into (the internal object). Switched registry
methods to use pointers for Create/Update instead of values.
2014-08-07 13:35:35 -04: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
brendandburns
b43e3865b4
Merge pull request #789 from thockin/cleanups2
...
Rename files: stringlist -> list (similar to set)
2014-08-06 22:41:46 -07:00
csrwng
92be0b3f43
Fix the wrong action being recorded on GetService
...
Fix the action recorded when GetService gets called on FakeKubeClient
Also fix parameter names (controller -> service)
2014-08-07 00:15:44 -04:00
Tim Hockin
37309ece6d
Rename files: stringlist -> list (similar to set)
2014-08-06 20:13:40 -07:00
Tim Hockin
ebef8af8fe
Merge pull request #688 from Sarsate/volume-cleanup-loop
...
Volume reconciliation loop
2014-08-06 16:59:17 -07: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
Daniel Smith
8c529187b5
Merge pull request #806 from smarterclayton/follow_up_to_encoding_abstraction
...
Address remaining comments from #756
2014-08-06 10:47:41 -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
Clayton Coleman
67dbd15929
Address remaining comments from #756
...
Rename Encoding to Codec, Versioning to ResourceVersioner. Add
GoDoc. Add Delete(key, recursive) to EtcdHelper
2014-08-06 11:25:35 -04:00
Clayton Coleman
836d2b9808
Fix proxy error condition and simplify method
...
Add new minion proxy test case.
2014-08-06 01:03:17 -04:00
Tim Hockin
63a7c37650
Merge pull request #799 from sborman/master
...
Corrected a typo in comment.
2014-08-05 17:17:02 -07:00
Kouhei Ueno
22522cd003
PodConfigListener is never used
2014-08-06 06:43:16 +09:00
Sean Borman
1fc29e20cc
Corrected a typo.
2014-08-05 13:53:52 -07:00
Daniel Smith
860050b507
Merge pull request #745 from smarterclayton/add_structured_reason
...
Evolve the api.Status object with Reason/Details
2014-08-05 13:28:19 -07:00
Clayton Coleman
4f88b778a6
Evolve the api.Status object with Reason/Details
...
Contains breaking API change on api.Status#Details (type change)
Turn Details from string -> StatusDetails - a general
bucket for keyed error behavior. Define an open enumeration
ReasonType exposed as Reason on the status object to provide
machine readable subcategorization beyond HTTP Status Code. Define
a human readable field Message which is common convention (previously
this was joined into Details).
Precedence order: HTTP Status Code, Reason, Details. apiserver would
impose restraints on the ReasonTypes defined by the main apiobject,
and ensure their use is consistent.
There are four long term scenarios this change supports:
1. Allow a client access to a machine readable field that can be
easily switched on for improving or translating the generic
server Message.
2. Return a 404 when a composite operation on multiple resources
fails with enough data so that a client can distinguish which
item does not exist. E.g. resource Parent and resource Child,
POST /parents/1/children to create a new Child, but /parents/1
is deleted. POST returns 404, ReasonTypeNotFound, and
Details.ID = "1", Details.Kind = "parent"
3. Allow a client to receive validation data that is keyed by
attribute for building user facing UIs around field submission.
Validation is usually expressed as map[string][]string, but
that type is less appropriate for many other uses.
4. Allow specific API errors to return more granular failure status
for specific operations. An example might be a minion proxy,
where the operation that failed may be both proxying OR the
minion itself. In this case a reason may be defined "proxy_failed"
corresponding to 502, where the Details field may be extended
to contain a nested error object.
At this time only ID and Kind are exposed
2014-08-05 16:17:53 -04:00
Daniel Smith
dc0a475be9
Merge pull request #796 from nyaxt/fixrace
...
Avoid data race in Proxier.OnUpdate
2014-08-05 12:56:05 -07:00
Kouhei Ueno
2e02967aca
Avoid data race in Proxier.OnUpdate
...
The bug was that the proxier is passed as value on method decleration.
This caused a copy of Proxier to be created when the method was invoked.
The copy being a shallow copy turned out to have them both reference
a same map instance, but their mutexes were different instances.
This turned out to use different mutexes before operating on a same map
instance, which didn't make sense.
2014-08-06 04:34:54 +09:00
Daniel Smith
e75854a1f9
Merge pull request #759 from brendandburns/valid
...
Add c-identifier validation to service ids.
2014-08-05 12:32:02 -07:00
Daniel Smith
6f85a5b8aa
Merge pull request #794 from nyaxt/reland_atomicetcd
...
Remove duplicated defs and reland #694 .
2014-08-05 12:07:59 -07:00
Daniel Smith
2d3373664f
Merge pull request #765 from brendandburns/service
...
Add support for regions, and use them for cloud load balancing.
2014-08-05 11:59:36 -07:00
brendandburns
cc4300c3ec
Merge pull request #757 from lavalamp/repCtl
...
Remove etcd dep from controller manager
2014-08-05 11:47:31 -07:00
brendandburns
f87a93af7a
Merge pull request #754 from kelseyhightower/proxy-cleanup
...
proxy: cleanup and minor refactoring
2014-08-05 11:46:52 -07:00
brendandburns
bf40981197
Merge pull request #758 from lavalamp/clientCache
...
Watch based client cache
2014-08-05 11:46:22 -07:00
Kouhei Ueno
c1ec1d6d72
Remove duplicated def of IsEtcdNodeExist
2014-08-06 03:45:50 +09:00
Kouhei Ueno
c7947abd9c
Revert "Revert "Use atomic create in EtcdHelper.AtomicUpdate""
...
This reverts commit 73b64aa490
.
2014-08-06 03:43:19 +09:00
Brendan Burns
20a8f03d62
Add dns-952-identifier validation to service ids.
2014-08-05 11:40:48 -07:00
Brendan Burns
c27ab18481
Don't use zone for regional load balancers.
2014-08-05 11:38:33 -07:00
Brendan Burns
1d8407cf7d
Don't hard code load balancer zone.
2014-08-05 11:38:33 -07:00
Daniel Smith
73b64aa490
Revert "Use atomic create in EtcdHelper.AtomicUpdate"
2014-08-05 11:34:00 -07:00
Daniel Smith
51872d65c9
Merge pull request #694 from nyaxt/atomicetcd
...
Use atomic create in EtcdHelper.AtomicUpdate
2014-08-05 11:19:22 -07:00
Daniel Smith
5ff072030c
Merge pull request #746 from smarterclayton/atomic_create
...
Make create atomic for etcd on Services/ReplControllers
2014-08-05 11:08:55 -07:00
Kouhei Ueno
dea1b8c48b
Remove 10ms timeout from TestWatch
2014-08-06 01:02:58 +09:00
Kouhei Ueno
cf117d5b48
Add test for EtcdHelper.AtomicUpdate concurrent create
2014-08-06 00:30:55 +09:00
Kouhei Ueno
4799b546c9
Make fake_etcd_client threadsafe
2014-08-05 23:37:32 +09:00
Kouhei Ueno
3f9ec452e4
use atomic create in EtcdHelper.AtomicUpdate
2014-08-05 23:37:32 +09:00
Kouhei Ueno
b3e5f40988
Fix bug where debug "return" prevented whole TestAtomicUpdate run
2014-08-05 23:37:32 +09:00
Kelsey Hightower
1d3e660248
proxy: cleanup and minor refactoring
...
This change includes minor refactoring and cleanup of the proxy
package including the following items:
* Rename source files with misspelling of round robin
* Remove unnecessary and redundant comments
* Update comments for clarity
* Add locking when updating the round-robin index
* Improve method receiver names
* Rename the LoadBalance method to NextEndpoint to add clarity
No changes in behaviour have been introduced.
2014-08-05 07:18:12 -07:00
Clayton Coleman
325f9ef005
Make create atomic on etcd for Services/ReplControllers
2014-08-05 01:12:27 -04:00
Clayton Coleman
babb7528ce
httptest.NewTLSServer is ~0.2s of setup per test
...
We're not exercising anything TLS related in client and request,
set these back to NewServer. Should add a new TLS end-to-end
test for hack/test-cmd.sh with real (test) certs.
2014-08-05 00:59:42 -04:00