Commit Graph

1790 Commits

Author SHA1 Message Date
mqliang
9ff765978a add filedselector for Event 2015-12-01 23:02:48 +08:00
k8s-merge-robot
a836b1e261 Merge pull request #17326 from caesarxuchao/grooupVersion-lastest
Auto commit by PR queue bot
2015-12-01 05:05:40 -08:00
Chao Xu
6e192760e3 refactoring latest.go GroupVersion;
clean up latest.go GroupVersions;
remove latest.GroupMeta.Group;
remove latest.GroupMeta.Version.
2015-11-30 11:30:21 -08:00
k8s-merge-robot
63dc126739 Merge pull request #17886 from fabianofranz/pod_logs_validate_container
Auto commit by PR queue bot
2015-11-30 05:25:20 -08:00
k8s-merge-robot
140df5f809 Merge pull request #17220 from kargakis/kubectl-scale-deployments
Auto commit by PR queue bot
2015-11-30 04:19:58 -08:00
Fabiano Franz
afd56495a1 Pod log location must validate container if provided 2015-11-29 23:20:01 -02:00
mqliang
793cc14c68 remove unnecessary fmt.Printf() 2015-11-26 15:37:32 +08:00
deads2k
8679925847 update RESTMapping API to be properly typed 2015-11-25 14:02:37 -05:00
deads2k
5c4fb5bcbe make RESTMapper.KindFor 2015-11-25 14:02:37 -05:00
deads2k
6231404682 update decoder to use GroupVersion 2015-11-25 12:14:06 -05:00
k8s-merge-robot
e95e3dec42 Merge pull request #17414 from timstclair/apiserver
Auto commit by PR queue bot
2015-11-25 05:28:07 -08:00
Michail Kargakis
99fc35880b kubectl: Support scaling deployments
This commit adds support for using kubectl scale to scale deployments. Makes use of the
deployments/scale endpoint instead of updating deployment.spec.replicas directly.
2015-11-25 11:26:40 +01:00
k8s-merge-robot
431c67710b Merge pull request #17247 from thockin/airplane_validation_pt3
Auto commit by PR queue bot
2015-11-24 18:37:09 -08:00
Wojciech Tyczynski
bf13bef955 Use unversioned.ListOptions in API server. 2015-11-24 14:42:21 +01:00
Tim St. Clair
20ead45af9 Move etcd_util.go to separate package 2015-11-23 11:32:50 -08:00
Tim Hockin
ceee678b29 Rename validation 'New' funcs 2015-11-23 10:01:43 -08:00
Jordan Liggitt
9da769f90d Match service ports when proxying to services 2015-11-23 10:40:23 -05:00
Tim Hockin
48b49a5cae s/ValidationErrorList/ErrorList/ 2015-11-22 20:13:20 -08:00
Tim Hockin
0ff66da346 Move fielderrors into validation 2015-11-22 20:12:20 -08:00
k8s-merge-robot
4dbf7c637c Merge pull request #17163 from wojtek-t/extend_decoder
Auto commit by PR queue bot
2015-11-21 08:37:29 -08:00
Chao Xu
32f2ec71a8 Based on @tiran's patch: copy the request ContentLength and TransferEncoding field in proxy
@liggitt: Update proxy content-length tests; Copy content-length in generic rest proxy.
2015-11-20 09:57:47 -08:00
Wojciech Tyczynski
8594c20333 Merge pull request #16677 from DirectXMan12/feature/add-scale-validator
[WIP] Add Validators for Scale Objects
2015-11-20 12:03:45 +01:00
Timothy St. Clair
02851dd1b7 Removal of fakeClient and shift to storage.Interface for
all registry tests.
2015-11-19 10:34:30 -06:00
Solly Ross
e5ef9e1406 Add Validators for Scale Objects
This commit introduces a validator for use with Scale updates.
The validator checks that we have > 0 replica count, as well
as the normal ObjectMeta checks (some of which have to be
faked since they don't exist on the Scale object).
2015-11-18 13:53:56 -05:00
Wojciech Tyczynski
d7b098b0e9 Add DecodeParametersInto method to Codec. 2015-11-18 09:56:04 +01:00
Tim Hockin
ba383bcfeb Refactor IntOrString into a new pkg
pkg/util/intstr is a cleaner encapsulation for this type and supporting
functions.  No behavioral change.
2015-11-16 10:57:52 -08:00
k8s-merge-robot
89d7309c88 Merge pull request #16256 from mikedanese/daemon-gls
Auto commit by PR queue bot
2015-11-16 07:59:28 -08:00
k8s-merge-robot
961a02a602 Merge pull request #17204 from thockin/airplane-rest-canonicalize
Auto commit by PR queue bot
2015-11-13 18:17:18 -08:00
Mike Danese
7a7f31ead1 move daemonset to generalized label selector 2015-11-13 10:31:50 -08:00
Wojciech Tyczynski
a5a8717539 Pass versioner to cacher. 2015-11-13 08:35:28 +01:00
Tim Hockin
35ab5c6234 Add a REST hook for post-validation canonicalize
This is a simple hook that only Endpoints uses for now.
2015-11-12 21:13:16 -08:00
Wojciech Tyczynski
3df5d1dbc3 Move storage-related dirs under pkg/storage. 2015-11-12 19:49:32 +01:00
k8s-merge-robot
447fe209ab Merge pull request #17007 from zhengguoyong/fun_order_consistent
Auto commit by PR queue bot
2015-11-10 07:11:16 -08:00
eulerzgy
501c2825cf Make order of fun consistent 2015-11-10 17:43:54 +08:00
k8s-merge-robot
01fbe64a34 Merge pull request #16777 from zhengguoyong/add_log_warning2
Auto commit by PR queue bot
2015-11-09 06:37:39 -08:00
k8s-merge-robot
0abc12ce5a Merge pull request #16876 from hongchaodeng/fix-16721
Auto commit by PR queue bot
2015-11-07 07:31:15 -08:00
k8s-merge-robot
6b7115067d Merge pull request #16807 from smarterclayton/server_backpressure_on_etcd_down
Auto commit by PR queue bot
2015-11-05 21:19:30 -08:00
Hongchao Deng
056536ff83 component status: nil error should return empty string
If error is nil, it should return empty string instead of \"nil\".
JSON marshalling will omit empty error in such case.
2015-11-05 18:44:28 -08:00
k8s-merge-robot
5156b93a35 Merge pull request #16576 from hurf/mv_minions
Auto commit by PR queue bot
2015-11-05 17:15:17 -08:00
Timothy St. Clair
f6f2f41ab3 Removal of fakeClient from registry/generic/etcd/etcd_test.go in leiu of
NewEtcdTestClientServer
2015-11-05 08:28:58 -06:00
k8s-merge-robot
0089235bab Merge pull request #16776 from feihujiang/moveSubresourcesOfPodToRestPackage
Auto commit by PR queue bot
2015-11-04 21:57:31 -08:00
Clayton Coleman
3da15535b6 Provide backpressure to clients when etcd goes down
When etcd is down today we don't specifically handle the error involved,
which means clients get a generic 500 error. This commit adds a formal
error type internally for both WatchExpired and EtcdUnreachable, and
then converts them to api/errors before returning to the client. It also
upgrades the client to retry on any 429 or 5xx error that has a
Retry-After header, instead of just 429.

In combination, this allows the apiserver to exert backpressure on
controllers that are hotlooping.  Picked 2 seconds by default, but we
could potentially ramp that up even further in a future iteration.
2015-11-04 16:05:12 -05:00
k8s-merge-robot
2842d9476b Merge pull request #16496 from wojtek-t/switch_cacher_for_other_resources
Auto commit by PR queue bot
2015-11-04 03:01:24 -08:00
eulerzgy
287b9e8978 Add warning log 2015-11-04 10:55:43 +08:00
feihujiang
c39faf19f3 Move rest handler of subresources of pod to rest package 2015-11-04 10:23:49 +08:00
Jordan Liggitt
b3157d1445 Ensure HPA has valid resource/name/subresource, validate path segments 2015-11-03 14:46:17 -05:00
Wojciech Tyczynski
030a272db5 Enable cacher for all resources. 2015-11-03 11:55:37 +01:00
k8s-merge-robot
b79379516f Merge pull request #16584 from wojtek-t/refactor_use_cacher
Auto commit by PR queue bot
2015-11-03 01:10:13 -08:00
k8s-merge-robot
990c0184be Merge pull request #16330 from mikedanese/deploy-ptr
Auto commit by PR queue bot
2015-11-02 20:41:34 -08:00
Wojciech Tyczynski
8f385c563f Refactor code for creating Cacher. 2015-11-02 20:56:46 +01:00
feihujiang
3603b14977 Move service strategy to registry/service package 2015-11-02 19:56:03 +08:00
feihujiang
726def04d5 Make rootscoped resource no namespace selectable field 2015-10-31 10:52:21 +08:00
k8s-merge-robot
cc53619372 Merge pull request #15791 from abutcher/set-service
Auto commit by PR queue bot
2015-10-30 06:55:16 -07:00
hurf
3d7dd82bf6 Clean trace of "Minion"
Trivial change, remove "minion" in message.
2015-10-30 14:35:08 +08:00
Andrew Butcher
0c4aafaf1e Update master service ports and type via controller. 2015-10-29 10:56:46 -04:00
Wojciech Tyczynski
9c53f301f1 Merge selectors with ListOptions. 2015-10-29 15:42:57 +01:00
k8s-merge-robot
d5be3635e5 Merge pull request #16273 from wojtek-t/list_options_in_api
Auto commit by PR queue bot
2015-10-29 01:57:29 -07:00
Deyuan Deng
638411d744 Wait apiserver in controller manager startup process 2015-10-29 00:15:33 +08:00
Mike Danese
b0a41108af move deployment PodTemplate to be not a pointer 2015-10-28 00:13:40 -07:00
Wojciech Tyczynski
aa30e38183 Pass resource version to storage List operation. 2015-10-27 10:03:58 +01:00
Mike Danese
8acf01d620 add status subresource for deployment 2015-10-26 00:12:58 -07:00
Janet Kuo
54b743bc05 Change resource "ingress" to "ingresses" in URL path and kubectl 2015-10-25 16:54:25 -07:00
k8s-merge-robot
33dabe00a8 Merge pull request #15766 from feihujiang/supportNamespaceSelectorInAllNamespacesEndpoint
Auto commit by PR queue bot
2015-10-24 17:08:34 -07:00
feihujiang
501c76cebb Support namespace selector in all namespaces endpoint 2015-10-23 14:14:38 +08:00
Saad Ali
76c5e0e553 Revert "Use KubeletPort reported in NodeStatus instead of cluster-wide master config" 2015-10-22 21:25:38 -07:00
k8s-merge-robot
a6b8e112ac Merge pull request #12919 from gmarek/use_api_ports
Auto commit by PR queue bot
2015-10-22 19:53:41 -07:00
Saad Ali
a47a790356 Merge pull request #15900 from mikedanese/graceterm-1
don't gracefully delete terminated pods
2015-10-22 12:37:43 -07:00
Jordan Liggitt
63fb6c07a5 Validate names in BeforeCreate 2015-10-21 14:11:41 -04:00
k8s-merge-robot
a5a917603c Merge pull request #15837 from feihujiang/removeUselessCodesAboutMinion
Auto commit by PR queue bot
2015-10-21 09:05:46 -07:00
gmarek
6d6cd8e46a Use KubeletPort reporeted in NodeStatus instead of cluster-wide master config. 2015-10-21 17:19:31 +02:00
k8s-merge-robot
b02b5b9f87 Merge pull request #15460 from feihujiang/refactoringRegistryPodDirectory
Auto commit by PR queue bot
2015-10-20 14:40:21 -07:00
Mike Danese
ac686d7536 don't gracefully delete terminated pods 2015-10-20 09:31:20 -07:00
Steve Milner
8da2d4002f Fixes remaining imports per #15319 2015-10-20 07:13:13 -04:00
Deyuan Deng
151e4b7cb8 Search for port number for service locator 2015-10-19 21:22:59 +08:00
feihujiang
a456b4c424 Remove useless codes about Minion kind 2015-10-19 19:29:45 +08:00
Jerzy Szczepkowski
df732f061a HorizontalPodAutoscaler API: removal of ResourceConsumption target, introduction of CPU request utilization & other cleanups. 2015-10-16 07:15:50 +02:00
Mike Danese
a7a54cac74 move job to generalized label selector 2015-10-15 07:42:58 -07:00
k8s-merge-robot
351cc2040e Merge pull request #15491 from derekwaynecarr/ingress_status
Auto commit by PR queue bot
2015-10-15 06:04:38 -07:00
k8s-merge-robot
8c753c84eb Merge pull request #15191 from caesarxuchao/validate-UID
Auto commit by PR queue bot
2015-10-15 04:20:24 -07:00
derekwaynecarr
eae56c3b2d Add status subresource to Ingress 2015-10-14 14:36:29 -04:00
Maciej Szulik
98fa29adfd Make PodTemplateSpec for Job not a pointer, since it's a required field 2015-10-14 11:37:11 +02:00
Chao Xu
be0754750f add common fields validation before updaing a resource; make the repair of malformed update request flippable by a flag. 2015-10-13 16:28:32 -07:00
Clayton Coleman
d4cdabf2fc Connect should be passed a Responder interface
For connect handlers that need to respond with a structured error or
structured object, pass an interface that hides the details of writing
an object to the response (error or runtime.Object).

Example use case:

Connect handler that accepts a body input stream, which it streams to a
pod, and then returns a structured object with info about the pod it
just created.
2015-10-13 15:05:14 -04:00
Dawn Chen
0901e5050d Merge pull request #15371 from timothysc/etcd-contexts
New etcd client modifications part 1 (context support)
2015-10-12 16:04:13 -07:00
feihujiang
04aca8489f Move LogREST into pod/rest package 2015-10-13 06:10:21 +08:00
Dawn Chen
2dd5b2b1d9 Merge pull request #14579 from derekwaynecarr/testing_rc_strategy
Add testing to ReplicationController strategy
2015-10-12 14:43:36 -07:00
Dawn Chen
782102d437 Merge pull request #15224 from liggitt/proxy_https
Allow specifying scheme when proxying
2015-10-12 14:39:21 -07:00
Dawn Chen
d6ee649cb8 Merge pull request #13722 from feihujiang/returnHttpErrorStatusWhenRetriveErrorStatus
APIServer should return error status
2015-10-12 11:42:53 -07:00
derekwaynecarr
3c012db30f Add status subresource to HorizontalPodAutoscaler 2015-10-12 11:27:56 -04:00
Jordan Liggitt
1043126135 Refactor SSH tunneling, fix proxy transport TLS/Dial extraction 2015-10-12 11:17:01 -04:00
Jordan Liggitt
826459e51e Allow specifying scheme when proxying 2015-10-12 11:16:53 -04:00
derekwaynecarr
22dd92f626 Add testing to ReplicationController strategy 2015-10-12 11:01:33 -04:00
Timothy St. Clair
2a2a2d79ff New etcd client modifications part 1 (context support)
This commit plumbs contexts which are needed for the new client.
2015-10-12 08:45:49 -05:00
k8s-merge-robot
02ec1fb33c Merge pull request #13885 from smarterclayton/websocket_exec
Auto commit by PR queue bot
2015-10-10 09:52:01 -07:00
Chao Xu
7c9f4cc42f experimental. -> extensions. 2015-10-09 15:49:10 -07:00
Chao Xu
f3caff2a79 testapi.Experimental -> testapi.Extensions 2015-10-09 15:15:35 -07:00
Chao Xu
80f213c376 "experimental" -> "extensions" 2015-10-09 15:14:03 -07:00
Chao Xu
67f316dd19 apis/experimental->apis/extensions 2015-10-09 15:04:41 -07:00
Chao Xu
0b7e3c7dd1 experimental/v1alpha1->extensions/v1beta1 2015-10-09 15:01:33 -07:00
feihujiang
8781fc73c1 Server should return error status when retrive error status from other location 2015-10-10 05:26:15 +08:00
Clayton Coleman
363b616908 Expose exec and logs via WebSockets
Not all clients and systems can support SPDY protocols. This commit adds
support for two new websocket protocols, one to handle streaming of pod
logs from a pod, and the other to allow exec to be tunneled over
websocket.

Browser support for chunked encoding is still poor, and web consoles
that wish to show pod logs may need to make compromises to display the
output. The /pods/<name>/log endpoint now supports websocket upgrade to
the 'binary.k8s.io' subprotocol, which sends chunks of logs as binary to
the client. Messages are written as logs are streamed from the container
daemon, so flushing should be unaffected.

Browser support for raw communication over SDPY is not possible, and
some languages lack libraries for it and HTTP/2. The Kubelet supports
upgrade to WebSocket instead of SPDY, and will multiplex STDOUT/IN/ERR
over websockets by prepending each binary message with a single byte
representing the channel (0 for IN, 1 for OUT, and 2 for ERR). Because
framing on WebSockets suffers from head-of-line blocking, clients and
other server code should ensure that no particular stream blocks. An
alternative subprotocol 'base64.channel.k8s.io' base64 encodes the body
and uses '0'-'9' to represent the channel for ease of use in browsers.
2015-10-09 14:33:40 -04:00
Mike Danese
73f7242027 rename JobStatus.Unsuccessful => JobStatus.Failed, JobStatus.Successful => JobStatus.Succeeded 2015-10-08 10:41:22 -07:00
derekwaynecarr
544b453e31 Add replication controller status subresource 2015-10-07 14:39:33 -04:00
k8s-merge-robot
b0d748efb0 Merge pull request #14461 from JanetKuo/kubectl-api-group-cmd
Auto commit by PR queue bot
2015-10-07 07:29:10 -07:00
Janet Kuo
57388f9f94 Support kubectl group/resource name 2015-10-06 13:12:32 -07:00
Paul Morie
227dd82119 Add PodSecurityContext and backward compatibility tests 2015-10-05 21:05:27 -04:00
k8s-merge-robot
1b653ce1b8 Merge pull request #14889 from liggitt/honor-skip-validate
Auto commit by PR queue bot
2015-10-02 14:29:55 -07:00
k8s-merge-robot
e330b1197e Merge pull request #14459 from bprashanth/l7_ingress_resource_refactor
Auto commit by PR queue bot
2015-10-02 10:20:48 -07:00
Jordan Liggitt
36a721e8b7 Honor InsecureSkipVerify flag 2015-10-02 02:26:04 -04:00
Chao Xu
f4ff0f7683 fix thirdparty API, now the config file of thirdpartyresource also need to group/version instead of version 2015-10-01 12:30:51 -07:00
k8s-merge-robot
014ee7bb06 Merge pull request #14576 from derekwaynecarr/strategy_job_test
Auto commit by PR queue bot
2015-10-01 01:13:52 -07:00
Prashanth Balasubramanian
9779bf68ef Validation 2015-09-29 18:51:24 -07:00
Prashanth Balasubramanian
16921f961a Ingress registry 2015-09-29 18:51:24 -07:00
Brian Grant
e3abcf7198 Merge pull request #14535 from derekwaynecarr/daemon_sets_status
DaemonSets adds a Status subresource
2015-09-25 13:30:55 -07:00
Brian Grant
313918f561 Merge pull request #14148 from brendandburns/perf
Add a method for encoding directly to a io.Writer and use it for HTTP
2015-09-25 13:19:58 -07:00
derekwaynecarr
2cb408d21e Add tests for job strategy 2015-09-25 15:10:43 -04:00
derekwaynecarr
aead9d3291 DaemonSets adds a Status subresource 2015-09-25 12:13:54 -04:00
Brendan Burns
8998219686 Add a method for encoding directly to a io.Writer and use it for HTTPx 2015-09-24 15:52:09 -07:00
Chao Xu
ae1293418b move experimental/v1 to experimental/v1alpha1;
use "group/version" in many places where used to expect "version" only.
2015-09-24 15:32:11 -07:00
Eric Tune
50f8f0c782 Merge pull request #14343 from erictune/job-update
Job update
2015-09-24 13:54:54 -07:00
Daniel Smith
50a98d8fc0 Fix bug with empty subsets 2015-09-24 10:48:19 -07:00
Eric Tune
95a44be2ef Job status updates.
Added status REST storage.
Added validation for Status Updates.
Changed job controller to update status rather than just job
(which ignores status updates).
2015-09-22 11:39:35 -07:00
k8s-merge-robot
98231d1f68 Merge pull request #14171 from jszczepkowski/deployment-scale
Auto commit by PR queue bot
2015-09-22 01:37:41 -07:00
Chao Xu
f1de364a0e Make latest.AllGroups public; fix thirdPartyResourceDataCreator.New 2015-09-21 22:32:24 -07:00
k8s-merge-robot
de597c8dc4 Merge pull request #13822 from brendandburns/schema-api-2
Auto commit by PR queue bot
2015-09-21 19:23:10 -07:00
Brendan Burns
fb9efac68c Complete initial third party API support in the master 2015-09-21 15:56:36 -07:00
Clayton Coleman
c2e90cd154 Support extended pod logging options
Increase the supported controls on pod logging. Add validaiton to pod
log options. Ensure the Kubelet is using a consistent, structured way to
process pod log arguments.

Add ?sinceSeconds=<durationInSeconds>, &sinceTime=<RFC3339>, ?timestamps=<bool>,
?tailLines=<number>, and ?limitBytes=<number>
2015-09-21 15:39:32 -04:00
k8s-merge-robot
c2f76e4ce7 Merge pull request #14106 from jszczepkowski/hpa-api
Auto commit by PR queue bot
2015-09-19 22:23:06 -07:00
Mike Danese
9d1838fb64 only allow updates of parrallelism in jobspec 2015-09-18 11:48:47 -07:00
Jerzy Szczepkowski
53dab136ed Implemented Scale sub-resource for Deployment.
Implemented Scale sub-resource for Deployment.
2015-09-18 13:55:26 +02:00
Daniel Martí
586cb9126a Move pkg/util.Time to pkg/api/unversioned.Time
Along with our time.Duration wrapper, as suggested by @lavalamp.
2015-09-17 17:51:27 -07:00
Kris
f4ad00d9ae Moving Status object to a common package 2015-09-17 14:09:53 -07:00
feihujiang
51f59f3c78 Fix the wrong path of document 2015-09-17 20:38:08 +08:00
Jerzy Szczepkowski
7fcf7f1177 Cleanups in HorizontalPodAutoscaler API.
Cleanups in HorizontalPodAutoscaler API: renamed Min/MaxCount to Min/MaxReplicas as Replicas is the proper name used in other objects.
2015-09-17 14:16:43 +02:00
k8s-merge-robot
22f698f5b0 Merge pull request #13953 from liguangbo/change_iff_to_if_and_only_if
Auto commit by PR queue bot
2015-09-16 08:35:20 -07:00
liguangbo
4df68f03a3 change iff to if and only if to improve annotation readability 2015-09-16 08:29:36 +00:00
Jeff Lowdermilk
b2c74a7297 Merge pull request #13254 from soltysh/job_controller_kubectl
Job resource - kubectl part
2015-09-15 17:45:14 -07:00
Maciej Szulik
1b46bc010a Job clients, printer and describer 2015-09-15 13:54:51 +02:00
Clayton Coleman
f63fe9c52e List/Watch on field=metadata.name= across namespaces is broken
MatchSingle assumes that namespace is set.  That is not correct.
2015-09-14 20:54:31 -04:00
k8s-merge-robot
647288cde1 Merge pull request #13734 from wojtek-t/filter_in_storage
Auto commit by PR queue bot
2015-09-14 17:25:40 -07:00
Chao Xu
f5023929d8 fix broken files after rebase 2015-09-12 15:45:12 -07:00
Chao Xu
dd6c121d7f massive changes 2015-09-11 17:31:47 -07:00
Daniel Smith
4c2adabf42 move; sed replace 2015-09-11 16:03:22 -07:00
Maciej Szulik
e55c59e8c2 New Job resource 2015-09-11 21:36:20 +02:00
tummychow
78ce5da988 Move util.StringSet into its own package
A lot of packages use StringSet, but they don't use anything else from
the util package. Moving StringSet into another package will shrink
their dependency trees significantly.
2015-09-10 12:04:15 -07:00
k8s-merge-robot
1313e3b14e Merge pull request #13700 from mikedanese/daemon_set
Auto commit by PR queue bot
2015-09-10 10:15:45 -07:00
Mike Danese
bf881f187e rename expapi.Daemon to expapi.DaemonSet 2015-09-10 08:34:26 -07:00
Wojciech Tyczynski
ed7d6ebd71 Filter List in Storage level to avoid additional copies. 2015-09-10 09:49:50 +02:00
Wojciech Tyczynski
cd1ac360de Rename "minion" to "node" in few places. 2015-09-09 16:18:23 +02:00
k8s-merge-robot
0f4fa4ed25 Merge pull request #13704 from feihujiang/removeTheRedundantDefiniiteArticle
Auto commit by PR queue bot
2015-09-08 23:48:18 -07:00
k8s-merge-robot
0a7921e988 Merge pull request #13538 from brendandburns/thirdparty
Auto commit by PR queue bot
2015-09-08 23:17:56 -07:00
Brendan Burns
61f272c8cd Update the third party data codec to automatically include everything
in api.ObjectMeta.  Add more tests.
2015-09-08 21:13:06 -07:00
feihujiang
d4a3e30edd Remove the redundant definite article 2015-09-09 11:40:36 +08:00
Chao Xu
9fc79e9d99 refactor testapi and test scripts to prepare for multiple API groups. 2015-09-04 18:01:32 -07:00
Wojciech Tyczynski
2b2d6b677d Refactor registry tests to reduce dependency on go-etcd. 2015-09-04 09:52:54 +02:00
Wojciech Tyczynski
97b4a64e2c Refactor registry etcd delete tests 2015-09-03 09:05:17 +02:00
Brendan Burns
395bbc4b1b Fix the build. 2015-09-02 15:45:44 -07:00
Abhi Shah
1b0cf281e5 Merge pull request #13000 from brendandburns/schema-api-2
Add support for dynamic APIs
2015-09-02 13:53:28 -07:00
k8s-merge-robot
345340ba49 Merge pull request #13489 from nikhiljindal/defaultDeployment
Auto commit by PR queue bot
2015-09-02 07:59:42 -07:00
Wojciech Tyczynski
781de2f5e3 Merge pull request #13432 from wojtek-t/etcd_test_framework
Create registrytest support for etcd test to reduce amount of boilerplate in tests
2015-09-02 11:01:30 +02:00
nikhiljindal
30a58321e8 Adding defaults to Deployment 2015-09-01 23:48:34 -07:00
Wojciech Tyczynski
a4baf4c211 Add registrytest support for etcd tests. 2015-09-02 07:54:34 +02:00
nikhiljindal
d72d08e37e Stop supporting name field in resourcequota field selector 2015-09-01 13:12:02 -07:00
Derek Carr
a7e47cada2 Merge pull request #12963 from smarterclayton/enable_graceful
Enable graceful deletion of pods (7/7)
2015-09-01 15:07:29 -04:00
Brendan Burns
6aa7ce2689 addressed comments. 2015-09-01 12:00:56 -07:00
Wojciech Tyczynski
6dfe5b4b5a Refactoring of watch etcd tests. 2015-09-01 09:24:16 +02:00
Brendan Burns
d993b8891d Addressed changes 2015-08-31 21:13:37 -07:00
Brendan Burns
855c7cedcc Address comments. 2015-08-31 21:13:37 -07:00
Brendan Burns
b196d0f84b Add support for installing custom object APIs 2015-08-31 21:13:36 -07:00
Brendan Burns
7bfc8b5f37 Add dynamic APIs 2015-08-31 21:13:07 -07:00
k8s-merge-robot
2f9652c7f1 Merge pull request #13349 from nikhiljindal/daemonEtcdTest
Auto commit by PR queue bot
2015-08-31 14:54:28 -07:00
nikhiljindal
13ecd8a72c Adding deployment registry and exposing deployments in master 2015-08-31 10:47:04 -07:00
Clayton Coleman
f9590a33fd Enable graceful deletion by enabling pods 2015-08-30 18:25:53 -04:00
nikhiljindal
48d6e30c5a Use testapi.Codec in daemon etcd tests 2015-08-28 22:37:54 -07:00
Wojciech Tyczynski
836be0c432 Refactoring of update etcd tests. 2015-08-28 15:47:40 +02:00
k8s-merge-robot
282bf64dcd Merge pull request #13181 from mikedanese/daemon_experimental
Auto commit by PR queue bot
2015-08-28 01:32:33 -07:00
nikhiljindal
25f2b85041 Deleting unused code 2015-08-27 19:52:47 -07:00
Mike Danese
8460e3913d move daemon controller to the experimental api 2015-08-27 11:47:35 -07:00
Wojciech Tyczynski
1bd9ff3bc9 Renaming in pkg/registry to reflect reality 2015-08-25 16:25:59 +02:00
Wojciech Tyczynski
61de4fc34d Refactoring of create etcd tests. 2015-08-24 15:11:00 +02:00
Brendan Burns
5d664892f2 Add a storage implementation for thirdpartyresources. 2015-08-21 17:21:40 -07:00
Jerzy Szczepkowski
46ca41c8e3 Merge pull request #12975 from wojtek-t/switch_cacher_for_pods
Switch on Cacher for pods, endpoints and nodes.
2015-08-21 10:28:38 +02:00
Wojciech Tyczynski
ec6556987e Switch on Cacher for pods, endpoints and nodes. 2015-08-21 09:24:49 +02:00
k8s-merge-robot
44c76d5319 Merge pull request #12957 from smarterclayton/handle_terminating_pods
Auto commit by PR queue bot
2015-08-20 21:47:00 -07:00
Saad Ali
264a658afa Merge pull request #12869 from vishh/daemon-registry-client
Daemon registry client
2015-08-20 17:24:11 -07:00
Clayton Coleman
02dbb95447 Add TerminationGracePeriodSeconds to API
Set defaulting for pod spec
2015-08-20 11:03:38 -04:00
Wojciech Tyczynski
5931cc74cc Unification refactoring to pkg/registry 2015-08-20 11:17:23 +02:00
Wojciech Tyczynski
d45e41a584 Small refactoring of registry pod tests. 2015-08-20 10:41:29 +02:00
Vishnu Kannan
ec22c2dd82 Address comments. 2015-08-19 14:13:02 -07:00
Wojciech Tyczynski
dcc302ab38 Refactoring of list etcd tests. 2015-08-19 13:56:23 +02:00
Robert Bailey
08e6a43c1d Revert "Merge pull request #9165 from smarterclayton/graceful"
This reverts commit 4f856b595d, reversing
changes made to d78525a83b.

Conflicts:
	pkg/kubelet/status_manager.go
2015-08-18 17:34:49 -07:00
Ananya Kumar
4a148f99d6 Add client code 2015-08-18 12:58:50 -07:00
Ananya Kumar
b0679f18bc Add registry code 2015-08-18 12:58:50 -07:00
Kris Rousey
ae6c64d9bb Moving everyone to unversioned client 2015-08-18 10:23:03 -07:00
Robert Bailey
4f856b595d Merge pull request #9165 from smarterclayton/graceful
Enable graceful deletion using reconciliation loops in the Kubelet without TTL
2015-08-18 10:01:40 -07:00
Filip Grzadkowski
8d74f610f7 Merge pull request #12659 from mwielgus/horizontal_status
HorizontalPodAutoscaler status
2015-08-18 15:30:01 +02:00
Clayton Coleman
89f1f3b1b8 Alter graceful deletion to not use TTL
Avoid TTL by deleting pods immediately when they aren't
scheduled, and letting the Kubelet delete them otherwise.

Ensure the Kubelet uses pod.Spec.TerminationGracePeriodSeconds
when no pod.DeletionGracePeriodSeconds is available.
2015-08-18 09:08:43 -04:00
Clayton Coleman
b842a7dd15 Revert "Revert "Gracefully delete pods from the Kubelet""
This reverts commit 98115facfd.
2015-08-18 08:57:02 -04:00
Marcin Wielgus
cac7038b3b HorizontalPodAutoscaler status 2015-08-18 11:46:54 +02:00
Wojciech Tyczynski
6cea2c8940 Prepare for refactoring registry etcd tests 2015-08-18 09:53:23 +02:00
Salvatore Dario Minonne
48018c402c to fix govet issue 2015-08-13 17:26:43 +02:00
Jerzy Szczepkowski
f09a08d15a Refactoring of get etcd tests.
Refactoring of get etcd tests: introudced new generic resttest, TestGet; Converted all etcd tests to use it.
2015-08-13 12:14:04 +02:00
Wojciech Tyczynski
56fb29a83a Merge pull request #12344 from jszczepkowski/hpa-api
Added HorizontalPodAutoscaler object to experimental API.
2015-08-13 10:33:31 +02:00
Piotr Szczesniak
7186b48d48 Merge pull request #12528 from wojtek-t/rewrite_events
Rewrite events registry to be generic
2015-08-12 12:02:13 +02:00
Wojciech Tyczynski
2ced08358f Remove unused registry infrastructure 2015-08-12 11:23:10 +02:00
Wojciech Tyczynski
5de0f11b1d Unify events registry to be generic. 2015-08-12 11:23:07 +02:00
Jerzy Szczepkowski
baa1612241 Added HorizontalPodAutoscaler object to experimental API.
Added HorizontalPodAutoscaler object to experimental API. Related to #12087.
2015-08-12 11:03:21 +02:00
Salvatore Dario Minonne
6915e2de36 to fix go vet: composite literal uses unkeyed fields 2015-08-12 10:54:58 +02:00
Jerzy Szczepkowski
84af5594b3 Cleanup: "scaler" -> "scale".
Cosmetic cleanup: "scaler" replaced with "scale" (the proper name for sub-resource).
2015-08-12 09:14:05 +02:00
Kris Rousey
565189f5b8 Correcting all go vet errors 2015-08-11 13:55:37 -07:00
CJ Cullen
08334a3f32 Merge pull request #12460 from Huawei-PaaS/issue-build-error
Modify the TestCase TestServiceRegistryIPUpdate
2015-08-11 10:15:56 -07:00
Jian Huang
70ce862955 Fix the issue which TestServiceRegistryIPUpdate will randomly run failed. 2015-08-11 17:00:47 +00:00
Wojciech Tyczynski
5ea99310f1 Unify limitrange registry to be generic. 2015-08-11 09:06:44 +02:00
Alex Robinson
42e12f1c5f Merge pull request #12340 from wojtek-t/rewrite_service_etcd
Refactor "service" registry to use standard REST storage (and generic etcd)
2015-08-10 15:38:50 -07:00
Marek Grabowski
5f9cefc1d8 Merge pull request #12441 from vlajos/typofixes-vlajos-20150807
typofix - https://github.com/vlajos/misspell_fixer
2015-08-10 16:33:52 +02:00
Wojciech Tyczynski
79125f460c Services using standard REST storage 2015-08-10 13:27:44 +02:00
Wojciech Tyczynski
d11ab96446 Extract non-storage operations from service etcd 2015-08-10 13:27:44 +02:00
Veres Lajos
9f77e49109 typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01:00
Marcin Wielgus
91584c6b3b Experimental Scale subresource 2015-08-07 12:00:42 +02:00
Wojciech Tyczynski
871ca7a05f Merge pull request #12320 from mikedanese/rewrite-pr-issue-links
rewrite all links to issues and PRs to k8s links
2015-08-06 09:55:44 +02:00
Wojciech Tyczynski
20e84d2eb1 Remove unused members 2015-08-06 09:00:42 +02:00
Mike Danese
fe6b15ba2f rewrite all links to issues to k8s links 2015-08-05 21:11:11 -07:00
Mike Danese
17defc7383 run gofmt on everything we touched 2015-08-05 17:52:56 -07:00
Mike Danese
8e33cbfa28 rewrite go imports 2015-08-05 17:30:03 -07:00
Mike Danese
a23ee556ad Merge pull request #11999 from brendandburns/attach2
Add support for attach to kubectl
2015-07-31 12:51:08 -07:00
Brendan Burns
e8e756a719 Add pod/attach to the APIServer. 2015-07-30 10:55:53 -07:00
Wojciech Tyczynski
3cbbe72f9f Move etcd storage to pkg/storage/etcd 2015-07-30 15:42:06 +02:00
Wojciech Tyczynski
99d6b0e9f4 Rename storage interfaces 2015-07-30 10:34:57 +02:00
Wojciech Tyczynski
d17985f1ad Move StorageInterface to pkg/storage. 2015-07-30 09:32:04 +02:00
Mike Danese
85781b674d Merge pull request #11968 from brendandburns/flow
Optionally limit flow on all upgraded proxy connections
2015-07-29 16:00:43 -07:00
Brendan Burns
99b02bfe73 Add optional throttling to the proxy/exec/attach methods 2015-07-29 13:51:20 -07:00
Wojciech Tyczynski
7ce51db40d Rename StorageInterface methods 2015-07-29 08:02:13 +02:00
Wojciech Tyczynski
9d943df397 Private EtcdHelper 2015-07-27 09:20:13 +02:00
nikhiljindal
1517b66001 Updating an error to apierror 2015-07-15 16:43:59 -07:00
Zach Loafman
9db58ff2b2 Merge pull request #10632 from nikhiljindal/revert-etcderrors
Revert "Merge pull request #10246 from nikhiljindal"
2015-07-01 13:06:18 -07:00
nikhiljindal
d82d5d11a7 Revert "Merge pull request #10246 from nikhiljindal"
This reverts commit a902a2f014, reversing
changes made to 7df8d76a93.
2015-07-01 11:07:18 -07:00
Jeff Lowdermilk
f0a36b0afd Make UpgradeAwareProxyHandler use transport.Dial if provided
This change is required for the handler to work with sshtunnels.
Without it, `kubectl exec` and `kubectl port-forward` are broken
when an ssh proxy is used (see #9292). I manually verified this
fixes that issue, e2e test coming shortly.
2015-07-01 10:56:05 -07:00
Zach Loafman
df753b74ed Merge pull request #10509 from nikhiljindal/getToPost
Support both GET and POST methods in api server for /exec and /portforward
2015-06-30 15:56:31 -07:00
nikhiljindal
4b7f7ce535 Dont return raw etcd errors 2015-06-29 16:18:46 -07:00
nikhiljindal
e0d48d4983 Support both GET and POST methods for /exec and /portforward 2015-06-29 16:01:01 -07:00
Alex Robinson
b758be0daf Merge pull request #9047 from kazegusuri/allocator_test
add unit test for allocator
2015-06-29 14:11:48 -07:00
Alex Robinson
21f750fdc3 Merge pull request #10287 from wojtek-t/changes_to_registry
Remove some dead code
2015-06-29 11:02:41 -07:00
Robert Bailey
ed03973ae0 Merge pull request #10269 from nikhiljindal/eventsErrors
Returning api/errors from event/rest.go
2015-06-26 17:12:09 -07:00
nikhiljindal
7b56d89e80 Returning api/errors from event 2015-06-26 13:51:55 -07:00
Maxwell Forbes
712f303350 Merge pull request #9736 from sdminonne/bug_fix2
To add validation for service ports when defined as string
2015-06-25 19:37:04 -07:00
Maxwell Forbes
11f9fd1dcd Merge pull request #10074 from nikhiljindal/retryUpdate
Allow update without resource version
2015-06-24 10:55:41 -07:00
Wojciech Tyczynski
f6153445f1 Remove dead code 2015-06-24 15:14:33 +02:00
nikhiljindal
221ae4d63b Allow update without resource version 2015-06-23 00:16:08 -07:00
nikhiljindal
4e02aef87d Updating the error message to say node instead of minion 2015-06-22 12:52:14 -07:00
Salvatore Dario Minonne
4b13faa346 To add validation for service ports when defined as string (fixing issue #9734) 2015-06-22 17:21:51 +02:00
Satnam Singh
b964f3c911 Merge pull request #9739 from bprashanth/sno
Fix kubectl stop rc with sequence numbers
2015-06-19 15:30:26 -07:00
Prashanth Balasubramanian
9ed9bd1c4f Add a generation number to the object meta of all objects, and status of rcs 2015-06-19 14:32:08 -07:00
Satnam Singh
d96a9a1c0a Merge pull request #9862 from fgrzadkowski/bump_ectd_client
Bump ectd client and fix initializing IP/Port allocators when etcd is not reachable
2015-06-19 14:22:47 -07:00
Filip Grzadkowski
4c0c7dd879 Fix intializing IP/Port allocators when etcd is not reachable. 2015-06-19 21:20:52 +02:00
Satnam Singh
078e85cfdb Merge pull request #10076 from caesarxuchao/pr/9966/head
based on #9966: fix annoying 'please check...' messages; remove v1beta1&2 ref
2015-06-19 11:56:47 -07:00
Chao Xu
5673f73378 fix the left pre V1 field names in 290c4618c331f4f30a278af520121ff35 2015-06-18 18:44:55 -07:00
Saad Ali
b25de6e273 Merge pull request #9916 from caesarxuchao/streamer
remove string "v1beta1" from streamer_test.go
2015-06-17 11:33:34 -07:00
Chao Xu
271a63f486 remove string "v1beta1" from streamer_test.go 2015-06-16 17:10:58 -07:00
Saad Ali
a1e3e536c3 Merge pull request #9820 from thockin/dead-code
Remove dead code
2015-06-16 15:49:53 -07:00
Tim Hockin
29d4d7a16d Remove dead code 2015-06-15 14:40:36 -07:00
jhadvig
ad36f5d2f1 Making error msg for updating resource version more clear 2015-06-15 17:05:08 +02:00
Abhi Shah
f5b6597492 Revert "Make error msg for updating resource version more clear" 2015-06-10 12:54:52 -07:00
Jakub Hadvig
90dcd347ac Make error msg for updating resource version more clear 2015-06-10 14:03:06 +02:00
CJ Cullen
2d85e4a094 Use Node IP Address instead of Node.Name in minion.ResourceLocation.
Refactor GetNodeHostIP into pkg/util/node (instead of pkg/util to break import cycle).

Include internalIP in gce NodeAddresses.
2015-06-08 16:58:00 -07:00
Masahiro Sano
34849b4476 add unit test for allocator 2015-06-07 15:59:51 +09:00
Prashanth Balasubramanian
50eb9ad598 Use https only for the kubelet port 2015-06-05 14:06:38 -07:00
Prashanth Balasubramanian
b678e2ff9e Nodes returns transport and scheme in spite of port requirements 2015-06-05 12:50:57 -07:00
Quinton Hoole
bc59e69ff0 Merge pull request #9159 from csrwng/remove_cors_headers
Remove CORS headers from pod proxy responses
2015-06-05 11:40:09 -07:00
Quinton Hoole
8b01ecb53a Merge pull request #9024 from markturansky/recyc_controllers
PersistentVolumeRecycler controller
2015-06-05 11:39:08 -07:00
Cesar Wong
e8af67c180 Remove CORS headers from pod proxy responses
The API server sends its own CORS headers in its response, and if the
proxied pod response also includes its own headers, it confuses clients.
2015-06-04 16:49:04 -04:00
markturansky
2829fadfad PV Recycling API 2015-06-04 15:39:34 -04:00
Chao Xu
854b8034ab use testapi.Codec() in etcd_test.go 2015-06-04 10:23:15 -07:00
derekwaynecarr
14d2128238 Fix namespace controller on delete to not care if item not found 2015-06-03 22:59:07 -04:00
Brian Grant
f72fa67924 Revert "Use Node IP Address instead of Node.Name in minion.ResourceLocation." 2015-06-03 18:19:22 -07:00
Brian Grant
d4acb1d676 Merge pull request #9155 from cjcullen/mig
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
2015-06-02 22:51:20 -07:00
CJ Cullen
4e5d0da839 Use Node IP Address instead of Node.Name in minion.ResourceLocation.
Refactor GetNodeHostIP into pkg/util/node (instead of pkg/util to break import cycle).

Include internalIP in gce NodeAddresses. Remove NodeLegacyHostIP
2015-06-02 20:01:49 -07:00
Brian Grant
5115f0e6bc Merge pull request #8888 from smarterclayton/add_new_allocators
Add a new contiguous allocator strategy option
2015-06-02 19:54:44 -07:00
Filip Grzadkowski
98115facfd Revert "Gracefully delete pods from the Kubelet" 2015-06-02 23:40:05 +02:00
Clayton Coleman
e89d551817 Add a new contiguous allocator strategy option
Also fix an error in port allocator
2015-06-01 19:59:17 -04:00
Clayton Coleman
72ee028cab Gracefully delete pods from the Kubelet
This commit wires together the graceful delete option for pods
on the Kubelet.  When a pod is deleted on the API server, a
grace period is calculated that is based on the
Pod.Spec.TerminationGracePeriodInSeconds, the user's provided grace
period, or a default.  The grace period can only shrink once set.
The value provided by the user (or the default) is set onto metadata
as DeletionGracePeriod.

When the Kubelet sees a pod with DeletionTimestamp set, it uses the
value of ObjectMeta.GracePeriodSeconds as the grace period
sent to Docker.  When updating status, if the pod has DeletionTimestamp
set and all containers are terminated, the Kubelet will update the
status one last time and then invoke Delete(pod, grace: 0) to
clean up the pod immediately.
2015-06-01 19:23:59 -04:00
Rohit Jnagal
0cbd4beb63 Merge pull request #8886 from csrwng/fix_proxy_url_slash
Fix proxying of URLs that end in "/" in the pod proxy subresource
2015-05-29 16:28:41 -07:00
Rohit Jnagal
51750a4680 Merge pull request #8724 from smarterclayton/preserve_ttl
TTL is not preserved automatically during edit
2015-05-29 11:12:00 -07:00
Filip Grzadkowski
ce7a3ea34d Merge pull request #8916 from fgrzadkowski/limit_tracing
Improve tracing information in apiserver
2015-05-29 01:29:34 -07:00
Clayton Coleman
2b8e918ed9 TTL is not preserved automatically during edit
Change the signature of GuaranteedUpdate so that TTL can
be more easily preserved. Allow a simpler (no ttl) and
more complex (response and node directly available, set ttl)
path for GuaranteedUpdate.  Add some tests to ensure this
doesn't blow up again.
2015-05-28 19:58:17 -04:00
Tim Hockin
4318ca5a8b Rename 'portal IP' to 'cluster IP' most everywhere
This covers obvious transforms, but not --portal_net, $PORTAL_NET and
similar.
2015-05-28 16:10:44 -07:00
Chao Xu
9c1153322e update PodSpec.Host to PodSpec.NodeName in /pkg/api/types.go and /pkg/api/v1beta3/types.go 2015-05-28 14:10:06 -07:00
Filip Grzadkowski
eb14b68a9c Improve tracing information by deleting traces from etcd cache and adding information to traces from generic registry. 2015-05-28 16:34:35 +02:00
Wojciech Tyczynski
33318f0162 Use generated DeepCopy methods. 2015-05-28 09:03:27 +02:00
Cesar Wong
684dcd4307 Fix proxying of URLs that end in "/" in the pod proxy subresource
Also handles proxying of URLs that have an empty path and don't end in a slash "/" by redirecting to the same location with a slash appended.
2015-05-27 22:12:55 -04:00
Filip Grzadkowski
967b1b95ba Add very simple tracing mechanism for easier debugging of slow requests. 2015-05-26 16:17:18 +02:00
Justin Santa Barbara
bb697cee7e Clear LoadBalancerStatus both on LB delete and on update in the API
Although it takes some time to destroy a load balancer, we hide this complexity
from the user.
2015-05-22 19:14:28 -04:00
Justin Santa Barbara
7346cc8042 Add ServiceType = NodePort; wire everything up 2015-05-22 19:14:28 -04:00
Justin Santa Barbara
03cdc077c3 Wire up the portallocator to service NodePorts
We still don't actually enable this though!
2015-05-22 19:14:28 -04:00
Justin Santa Barbara
3bb2fe2425 Create port allocator, based on IP allocator mechanism
Including some refactoring of IP allocator
2015-05-22 19:14:28 -04:00
Justin Santa Barbara
973c2e4819 Add Type to ServiceSpec: ClusterIP or LoadBalancer 2015-05-22 19:14:21 -04:00
Dawn Chen
ad47b2d29d Merge pull request #8483 from liggitt/etcd_test
Update generic etcd tests for cluster-scoped objects
2015-05-21 09:13:44 -07:00
Jordan Liggitt
a6401fa433 Update generic etcd tests for cluster-scoped objects 2015-05-18 23:17:51 -04:00
Tim Hockin
f66ca25d9f Rename AccessMode to PersistentVolumeAccessMode 2015-05-18 17:21:30 -07:00
Tim Hockin
a548d542db Rename AffinityType to ServiceAffinity 2015-05-18 17:21:30 -07:00
Daniel Smith
c27999da07 Merge pull request #7966 from deads2k/add-dockercfg-secrets
add dockercfg secret types
2015-05-18 11:24:02 -07:00
deads2k
d404a17f0a allow leading dots in secret keys 2015-05-18 08:17:58 -04:00
Jordan Liggitt
a2d6dd0467 Pass correct update flag to TTLFunc 2015-05-17 00:42:30 -04:00
Wojciech Tyczynski
e1d9694558 Remove gob 2015-05-15 13:44:37 +02:00
Rohit Jnagal
532f6fdcef Merge pull request #7955 from hurf/refactor_scheduler
Move pkg/scheduler to plugin/pkg/scheduler
2015-05-14 10:28:52 -07:00
markturansky
0191574f7e Bi-directional bind between pv.Spec.ClaimRef and pvc.Spec.VolumeName 2015-05-13 14:05:21 -04:00
hurf
6203ce9f85 Move pkg/scheduler to plugin/pkg/scheduler
As the TODO in plugin/pkg/scheduler/scheduler.go described:

move everything from pkg/scheduler into this package. Remove
references from registry.
2015-05-13 14:03:25 +08:00
Quinton Hoole
2f2816368f Merge pull request #8062 from smarterclayton/fix_service_flake
ServiceIP allocation test is flaky
2015-05-12 11:18:47 -07:00
Nikhil Jindal
d75bd8bf2a Merge pull request #7101 from liggitt/service_account
ServiceAccounts
2015-05-12 10:23:41 -07:00
Victor Marmol
43029345f9 Merge pull request #7973 from dchen1107/podstatus
Add kubectl log --previous support to view last terminated container log
2015-05-11 17:08:45 -07:00
Jordan Liggitt
53d55f4192 Add ServiceAccount API type, client 2015-05-11 17:18:05 -04:00
Dawn Chen
86479cc56c Add support to pull log for last terminated container 2015-05-11 12:54:04 -07:00
Clayton Coleman
6ba6af2d1c ServiceIP allocation test is flaky
Choose a possible IP out of a list, instead of assuming it
can't be chosen randomly.
2015-05-11 13:05:56 -04:00
Clayton Coleman
e200d5a317 Make PortalIP alloc HA
* Add an allocator which saves state in etcd
* Perform PortalIP allocation check on startup and periodically afterwards

Also expose methods in master for downstream components to handle IP allocation
/ master registration themselves.
2015-05-08 13:34:16 -04:00
Zach Loafman
875e83a741 Revert "Revert "Security context - types, kubelet, admission"" 2015-05-05 16:02:13 -07:00
Zach Loafman
f48904fd5e Revert "Security context - types, kubelet, admission" 2015-05-05 15:20:39 -07:00
Paul Morie
1625e231dd Merge pull request #7343 from pweil-/security-context-types
Security context - types, kubelet, admission
2015-05-05 16:26:09 -04:00
Clayton Coleman
6e031ae01a Merge pull request #7780 from derekwaynecarr/incorrect_error
Throw an API error when deleting namespace in termination
2015-05-05 15:17:46 -04:00
Paul Weil
982bf19c20 security context initial implementation - squash 2015-05-05 13:46:13 -04:00
Cesar Wong
283049f679 Fix pod exec options
Change the command field to an array of strings.
2015-05-05 13:20:08 -04:00
derekwaynecarr
d6a4b2427a Throw an API error when deleting namespace in termination 2015-05-05 12:49:51 -04:00
Eric Paris
6b3a6e6b98 Make copyright ownership statement generic
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Jordan Liggitt
ac67fff1cf Convert Secret registry to use update/create strategy, allow filtering by Type 2015-04-28 15:00:20 -04:00
Daniel Smith
83093af8b0 Merge pull request #5707 from endocode/kbeecher/etcd_prefix
Adds ability to define a prefix for etcd paths
2015-04-27 13:37:43 -07:00
markturansky
a04420e548 Added pending phase for volumes. added defaults for PV/PVC. refactored to better phase transitioning in control loops 2015-04-27 12:05:12 -04:00
Karl Beecher
a7623ca6cc Adds ability to define a prefix for etcd paths
The API server can be supplied (via a command line flag) with a custom
prefix that is prepended to etcd resources paths.

Refs: #3476
2015-04-24 12:12:39 +02:00
Deyuan Deng
c73ce1db34 Validate Node IPs; clean up validation code 2015-04-23 21:08:18 -04:00
Daniel Smith
2fa3ae9f15 fix watch of single object 2015-04-23 16:02:22 -07:00
Clayton Coleman
e6e034af4f Rename PodTemplate.Spec to PodTemplate.Template 2015-04-22 12:54:27 -04:00
Clayton Coleman
10c2ace6bf Pod Templates 2015-04-22 12:54:25 -04:00
Brian Grant
cf523a23d0 Merge pull request #6985 from csrwng/fix_pod_log_location
Use Pod.Spec.Host instead of Pod.Status.HostIP for pod subresources
2015-04-21 12:58:47 -07:00
Piotr Szczesniak
27daa29753 Merge pull request #7073 from lavalamp/fix4
move port splitting to common place; add to node resource location
2015-04-21 16:10:40 +02:00
Brian Grant
9dcf3e0a33 Merge pull request #7082 from fabioy/api-cs.fix
Fixed "componentstatuses" API object JSON descriptions.
2015-04-20 18:10:36 -07:00
Daniel Smith
9f89043d8b Merge pull request #6989 from kazegusuri/update_node_label
use Watch for single object instead of WatchList
2015-04-20 17:28:23 -07:00
Fabio Yeon
81ef0198f4 Fixed "componentstatuses" API object JSON descriptions. 2015-04-20 17:28:13 -07:00
Masahiro Sano
f90dc8f413 use Watch for single object instead of WatchList 2015-04-21 08:00:52 +09:00
Kris Rousey
594f514843 Changing a few remaining instances of passing pods around by value. I
avoided changing api.PodList.Items to []*api.Pod.
2015-04-20 15:26:45 -07:00
Daniel Smith
27ee6ea0de move port splitting to common place; add to node resource location 2015-04-20 14:31:44 -07:00
Fabio Yeon
951a125751 Add "componentstatus" to API for easier cluster health check. 2015-04-17 11:58:23 -07:00
Cesar Wong
2adaf104fa Use Pod.Spec.Host instead of Pod.Status.HostIP for pod subresources
The Spec.Host is set when binding a pod to a node and will contain the
canonical host name of the node. The Status.HostIP may not be included
in the node's server TLS certificate.
2015-04-17 11:40:00 -04:00
Cesar Wong
d672363387 Pod proxy, exec and portforward subresources
Makes it possible to access the following subresources:

/namespaces/<ns>/pods/<pod-name>[:port]/proxy
/namespaces/<ns>/pods/<pod-name>/exec?container=<container>&command=<cmd>
/namespaces/<ns>/pods/<pod-name>/portforward
2015-04-16 10:20:17 -04:00
Cesar Wong
4da14e9357 Add PodExecOptions and PodProxyOptions versioned resources
PodExecOptions represents the URL parameters used to invoke an
exec request on a pod. PodProxyOptions contains the path parameter
passed to a proxy request.
2015-04-16 10:20:17 -04:00
Daniel Smith
835a87aed2 Merge pull request #6857 from wojtek-t/fix_scheduler_nodes
Fix listing nodes in scheduler
2015-04-15 17:05:04 -07:00
Wojciech Tyczynski
afb94c43b1 Fix listing nodes in scheduler 2015-04-15 14:26:25 +02:00
Wojciech Tyczynski
6feaf8ee4f Support List() single-matchers 2015-04-15 12:10:43 +02:00
Wojciech Tyczynski
d7a1965fd9 Merge pull request #6746 from davidopp/master
Clarify comments describing how GuaranteedUpdate() (previously AtomicUpd...
2015-04-15 08:13:44 +02:00
David Oppenheimer
6b28a69a1b Clarify comments describing how GuaranteedUpdate() (previously AtomicUpdate() works. Closes #6626. 2015-04-14 15:38:15 -07:00
Alex Robinson
9a351e3670 Move validation of load balancers only supporting TCP ports to validation.go. 2015-04-14 18:56:51 +00:00
Alex Robinson
2b14fc1d14 Remove the cloud provider field from the services REST handler and the master
now that load balancers are handled by the ServiceController.
2015-04-14 18:56:47 +00:00
Alex Robinson
ccc300289f Implement a ServiceController that watches services and handles keeping
external load balancers up-to-date based on the service's specs, using
the new DeltaFIFO watch queue class. Remove the old registry REST
handler code for creating/updating/deleting load balancers.

Also clean up a bunch of the GCE cloudprovider code related to load balancers.
2015-04-14 18:56:24 +00:00
Nikhil Jindal
60f0c28fd4 Merge pull request #6725 from smarterclayton/support_subpath_on_getter_with_options
Allow subpath on GET for GetterWithOptions
2015-04-13 11:27:41 -07:00
Wojciech Tyczynski
59ab41c8f7 Merge pull request #6292 from jszczepkowski/scale-pool
Updating target pools on cloud nodes change.
2015-04-13 10:58:49 +02:00
Clayton Coleman
0225d76b6a Support subpath on GET for GetterWithOptions
Allows REST consumers to build paths like:

    /api/v1beta3/namespaces/foo/webhookresource/<name>/<encodedsecretinurl>

Also fixes parameter exposure for subresources (was only fixed for
v1beta3).
2015-04-11 11:20:13 -04:00
Daniel Smith
1a2e4f8e1d Merge pull request #6616 from brendandburns/default
Default replica controller selector and labels using pod template.
2015-04-10 13:33:43 -07:00
Daniel Smith
c6abb5b047 Merge pull request #6686 from derekwaynecarr/terminate_must_have_deletion_timestamp
Improve validation and fix not throwing an error during ns delete
2015-04-10 10:56:09 -07:00
Tim Hockin
e4602eb68e Merge pull request #6663 from justinsb/cleanup_service_ip
Use defer to cleanup allocated service ip in case of error
2015-04-10 10:43:56 -07:00
Justin Santa Barbara
e551e0cb8c Use defer to cleanup allocated service ip in case of error
We're probably going to be doing a port allocation here also, so this needs some pre-simplifying.
2015-04-10 09:47:47 -07:00
derekwaynecarr
8364055f0f Improve validation and fix not throwing an error during ns delete 2015-04-10 11:41:28 -04:00
Jerzy Szczepkowski
eb253a694e Updating target pools on cloud nodes change.
Implemented updating target pools for external services on chage of cloud nodes. Related to #5241.
2015-04-10 16:06:56 +02:00
Brendan Burns
fded23a777 Default replica controller nodeSelector using pod template.
Add default labels from pod if not present.
2015-04-09 20:50:37 -07:00
Daniel Smith
629d94657e Merge pull request #6624 from gmarek/status_to_subresource
Update NodeStatus use subresources.
2015-04-09 16:00:15 -07:00
Daniel Smith
6a86608634 Merge pull request #6625 from wojtek-t/list_minions_supports_labels
ListMinions support for selectors
2015-04-09 10:30:08 -07:00
Wojciech Tyczynski
0e5b478b4d ListMinions support for selectors 2015-04-09 14:22:09 +02:00
gmarek
ccc56d3c3c Update NodeStatus use subresources. 2015-04-09 14:07:40 +02:00
Brendan Burns
5d4f1cf8da Add Validate in addition to ValidateUpdate to validation for most resources. 2015-04-08 20:15:49 -07:00
Clayton Coleman
51db3bd654 Create a new testclient package that can be backed by disk files
Standardize how our fakes are used so that a test case can use a
simpler mechanism for providing large, complex data sets, as well
as represent queries over time.
2015-04-07 14:56:15 -04:00
Derek Carr
27c12d5160 Merge pull request #6473 from markturansky/yoko_pv_client
Added PVClaim status subresource
2015-04-07 11:39:58 -04:00
Cesar Wong
8df4758ee9 Pod log subresource
Adds a Log subresource to Pod storage. The Log subresource implements
rest.GetterWithOptions and produces a ResourceStreamer resource that
will stream the log output from the pod's host node.
2015-04-07 07:56:24 -04:00
Cesar Wong
58a1b308c1 Refactor storage return for pod etcd storage
Convert the return value of pods rest.NewStorage to a struct.
This will allow returning more storage objects for a pod (sub resources)
without awkwardly adding more return values.
2015-04-07 07:46:30 -04:00
markturansky
4e528a847a added PVClaim status subresource 2015-04-06 14:42:22 -04:00
markturansky
ff86ae0705 Fixed RESTCreate/Update interface methods 2015-04-06 08:46:44 -04:00
markturansky
69d1d235cd Rebased and updated 2015-04-06 08:46:44 -04:00
markturansky
95bd170ca2 PV & PVC Client implementation 2015-04-06 08:46:43 -04:00
Daniel Smith
34b399ca02 Fix incorrect reference to name in v1beta3 API. 2015-04-03 14:10:47 -07:00
Daniel Smith
0c2d3ffe68 Single-key matching behavior in generic.Matcher 2015-04-03 13:11:21 -07:00
Brian Grant
414be101b6 Merge pull request #6352 from piosz/api
Removed PodStatus.Host
2015-04-02 13:16:24 -07:00
Wojciech Tyczynski
6b08958264 Kubelet watching only its own Node 2015-04-02 18:39:59 +02:00
Piotr Szczesniak
5c6439d449 Removed PodStatus.Host
Fixes #6165
2015-04-02 16:38:45 +02:00
Clayton Coleman
dec3209229 Merge pull request #6246 from derekwaynecarr/finalize_fix
Fix Namespace Termination
2015-04-01 17:34:56 -04:00
derekwaynecarr
b745f51c65 Client must specifiy a resource version on finalize 2015-04-01 11:16:45 -04:00
Victor Marmol
2de37624e8 Merge pull request #6252 from krousey/string_format_cleanup
Fixing a lot of string formatting issues
2015-03-31 16:57:36 -07:00
Kris Rousey
6904c4d585 Fixing a lot of string formatting issues with regards to:
* Improper format specifier (e.g. %s for bools or %s for ints)
  * More or less parameters than format specifiers
  * Not calling a formatting function when it should have (e.g. Error() instead of Errorf())
2015-03-31 16:47:10 -07:00
Tim Hockin
186818d787 WIP: Implement multi-port Services 2015-03-30 19:28:11 -07:00
Andy Goldstein
d7c5f427cb Pass ctx to Validate, ValidateUpdate
Pass ctx to Validate/ValidateUpdate. This is useful so strategies can
access data such as the current user.
2015-03-30 17:33:08 -04:00
Tim Hockin
8ae203825b Implement multi-port endpoints
Instead of endpoints being a flat list, it is now a list of "subsets"
where each is a struct of {Addresses, Ports}.  To generate the list of
endpoints you need to take union of the Cartesian products of the
subsets.  This is compact in the vast majority of cases, yet still
represents named ports and corner cases (e.g. each pod has a different
port number).

This also stores subsets in a deterministic order (sorted by hash) to
avoid spurious updates and comparison problems.

This is a fully compatible change - old objects and clients will
keepworking as long as they don't need the new functionality.

This is the prep for multi-port Services, which will add API to produce
endpoints in this new structure.
2015-03-27 12:36:32 -07:00
Brian Grant
a4bf91c8c0 Merge pull request #5690 from satnam6502/failputnover
Give better error message for PUTs with no resource version
2015-03-27 07:12:56 -07:00
Piotr Szczesniak
768c733bed Merge pull request #5971 from bprashanth/rc_watch_fields
Add the ability to watch fields of a replication controller
2015-03-27 10:19:41 +01:00
Tim Hockin
0f36c68244 Add REST PrepareForUpdate() hook
As per discussion with @snmarterclayton.  I implemented this for most
types in the "obvious" way.  I am not sure how to implement
this for a couple types, though.
2015-03-26 13:48:41 -07:00
Tim Hockin
b2687c1a84 rename ResetBeforeCreate to PrepareForCreate 2015-03-26 13:48:34 -07:00
Prashanth Balasubramanian
b0068d05f8 Add the ability to watch fields of an rc 2015-03-26 11:01:56 -07:00
gmarek
5a11748018 Move Capacity from NodeSpec to NodeStatus 2015-03-26 15:28:48 +01:00
Satnam Singh
cd05c8b9bc Give better error message for PUTs with no resource version 2015-03-25 15:52:48 -07:00
Rohit Jnagal
49ff04765b Add validation for node creation. 2015-03-25 21:55:03 +00:00
Derek Carr
bf14cbf682 Merge pull request #5930 from markturansky/fix_quota_registry_names
Changed arg names from 'pod' to 'resourceQuota'
2015-03-25 15:03:41 -04:00
Masahiro Sano
c49af0b7cb port minion registry to generic etcd 2015-03-26 02:44:35 +09:00
markturansky
89a17a410c changed arg names from 'pod' to 'resourceQuota' 2015-03-25 13:23:31 -04:00
Saad Ali
1f50bd226b Merge pull request #5854 from fgrzadkowski/delete_pod_cache
Delete pod_cache and rely on updating pod status by kublet.
2015-03-25 09:17:09 -07:00
Filip Grzadkowski
74da3b14b0 Delete pod_cache and rely on updating pod status by kublet. 2015-03-25 15:08:09 +01:00
Masahiro Sano
410e11c305 port endpoints to generic etcd 2015-03-25 22:15:19 +09:00
Clayton Coleman
aee9bdd69a Merge pull request #5805 from liggitt/node_proxy
Improve ResourceLocation API, allow proxy to use authenticated transport
2015-03-24 13:01:54 -04:00
Clayton Coleman
97560c409f Merge pull request #5554 from derekwaynecarr/namespace_controller
Namespace Controller to support Namespace Termination
2015-03-24 12:59:00 -04:00
Jordan Liggitt
a75b501821 Improve ResourceLocation API, allow proxy to use authenticated transport 2015-03-24 11:11:34 -04:00
derekwaynecarr
84c9709299 Increase controller sync time for namespace cleanup 2015-03-24 10:44:34 -04:00
derekwaynecarr
29c491ef2e Namespace.Spec.Finalizer support 2015-03-24 10:36:06 -04:00
Prashanth Balasubramanian
ef6601646d Migrate replication controllers to generic etcd 2015-03-23 17:59:25 -07:00
Clayton Coleman
9bb797fe93 Rename NewREST -> NewStorage to align on terminology 2015-03-23 16:52:21 -04:00
Clayton Coleman
5a3f0adbcc Remove older names 2015-03-23 16:52:21 -04:00
Clayton Coleman
d46087db50 Move REST* interfaces into pkg/api/rest
Dependency chain is now api -> api/rest -> apiserver.  Makes the
interfaces much cleaner to read, and cleans up some inconsistenties
that crept in along the way.
2015-03-23 16:52:21 -04:00
Clayton Coleman
65425f690c Move field errors to pkg/util/fielderrors
Allows pkg/api to take a reference to labels.Selector and fields.Selector
2015-03-22 17:43:34 -04:00
Saad Ali
f57540c7a0 Merge pull request #5532 from nikhiljindal/event
Adding GetFieldSelector() to client.EventInterface
2015-03-20 15:05:14 -07:00
nikhiljindal
1b87060aec Adding GetFieldSelector() to client.EventInterface 2015-03-20 13:58:23 -07:00
Abhishek Gupta
b0c23c1046 Headless Services: Adding option to specify None for PortalIP 2015-03-20 12:10:03 -07:00
Clayton Coleman
428d2263e5 Graceful deletion of resources
This commit adds support to core resources to enable deferred deletion
of resources.  Clients may optionally specify a time period after which
resources must be deleted via an object sent with their DELETE. That
object may define an optional grace period in seconds, or allow the
default "preferred" value for a resource to be used. Once the object
is marked as pending deletion, the deletionTimestamp field will be set
and an etcd TTL will be in place.

Clients should assume resources that have deletionTimestamp set will
be deleted at some point in the future.  Other changes will come later
to enable graceful deletion on a per resource basis.
2015-03-19 15:33:32 -04:00
Prashanth Balasubramanian
960e16c397 Embed etcdgeneric in RESTStorage for pods 2015-03-18 16:31:33 -07:00
gmarek
a3b137ce8e Cleanup of validation.go 2015-03-18 08:59:35 +01:00
Brian Grant
407589147e Merge pull request #5005 from jdef/persistent_bindings
Persist Bindings annotations alongside pod Host assignment
2015-03-16 16:16:44 -07:00
Clayton Coleman
bddef32193 Prepare EtcdHelper to extract more data from Node
In order to support graceful deletion, the resource object will
need access to the TTL value in etcd.  Also, in the future we
may want to get the creation index (distinct from modifiedindex)
and expose it to clients.  Change EtcdResourceVersioner to be
more type specific (objects vs lists) and provide a default
implementation that relies on the internal API convention.

Also, rename etcd_tools.go to etcd_helper.go and split a few
things up.
2015-03-16 15:33:50 -04:00
Clayton Coleman
4ca90e0343 FakeEtcdClient should return KeyNotFound on Delete 2015-03-16 14:22:03 -04:00
Clayton Coleman
143015025a Support TTL in genericetcd#Update 2015-03-16 14:22:01 -04:00
Jeff Lowdermilk
e37fd2a84d Merge pull request #5477 from dchen1107/clean
Convert RestartPolicy to string for v1beta3.
2015-03-16 10:23:52 -07:00
derekwaynecarr
9824d2b5f7 Embed generic etcd in namespace rest store 2015-03-16 10:45:04 -04:00
derekwaynecarr
2d13dfaf13 Improvements to namespace registry to align with pod model 2015-03-16 10:16:28 -04:00
Dawn Chen
34e9c82c70 Convert RestartPolicy to string for v1beta3.
Fixed #3607 and spiritually support #5475
2015-03-13 18:38:07 -07:00
Eric Tune
e214802e45 Merge pull request #5460 from derekwaynecarr/eliminate_resource_quota_usage
Eliminate resource quota usage
2015-03-13 16:10:26 -07:00
Daniel Smith
b02412f44e Merge pull request #5443 from bprashanth/rc_validation
Add an rc strategy, start delta validating updates
2015-03-13 13:52:19 -07:00
derekwaynecarr
799e3fa9cc Eliminate ResourceQuotaUsage in favor of ResourceQuota status 2015-03-13 16:52:09 -04:00
Prashanth Balasubramanian
6193608e9b Add an rc strategy, start delta validating updates 2015-03-13 13:09:03 -07:00
Brendan Burns
cf68593fc2 Merge pull request #5228 from justinsb/aws_lb_string
Change cloud provider CreateTCPLoadBalancer to return endpoint as string
2015-03-13 12:16:26 -07:00
James DeFelice
20eb3c49c5 resolves #4103
clarify resource conflict status, rebase to master
remove ResourceConflict, replace usage with Conflict
2015-03-13 12:16:51 +00:00
Jerzy Szczepkowski
ba9d02c0c7 Cleanup: removed BoundPodFactory.
Removed unused code: BoundPodFactory. Fixes #5384.
2015-03-13 10:44:25 +01:00
Ravi Sankar Penta
f6ecec5880 Allow admin user to explicitly unschedule the node
Setting Unschedulable on the node will not touch any existing pods
on the node but will block scheduling of new pods on the node.
2015-03-12 14:27:27 -07:00
Brian Grant
19b6c85fa5 Merge pull request #5363 from wojtek-t/no_bound_pods_in_scheduler
Make scheduler to watch PodSpec.Host instead Status.Host
2015-03-12 10:57:03 -07:00
Wojciech Tyczynski
9f2f10d6db Make scheduler to watch PodSpec.Host instead Status.Host 2015-03-12 13:38:58 +01:00
Yu-Ju Hong
533299bf0a Copy Spec.Host to Status.Host on pod creation 2015-03-11 21:53:51 -07:00
Eric Tune
e9b6c75b6a Stop updating boundPods objects.
Does not clean up your existing boundPods records.
Does not clean up all the dead code.  Future PRs from me
will do that.
2015-03-11 16:06:03 -07:00
Prashanth Balasubramanian
28d9260c0b Sync replication count with the api server on pod creation/deletion. 2015-03-11 13:29:20 -07:00
Brian Grant
1a75c8843c Merge pull request #5256 from jszczepkowski/podspec-host
Implemented writing Host in Pod.Spec during binding.
2015-03-11 11:30:45 -07:00
Jerzy Szczepkowski
9a6857cf2c Fixed writing Host in Pod.Spec during binding.
Fixed writing Host in Pod.Spec during binding. Related to #5207.
2015-03-11 14:48:10 +01:00
Eric Tune
5e8d70f76b Remove HostPort conflict checking.
We decided to get rid of boundPods.   Removing this check is
a prerequisite for that.  This check had some value before we had
IP-per-Pod.  However, AIUI, use of HostPort is strongly discouraged
in Kubernetes.  It still exists as part of a Pod spec because
of ContainerVM, where it is used.  But, this change does not affect
ContainerVM, where there is no master.

If someone did create pods with HostPort using kubernetes, the following
would happen:
  - The scheduler would try not to put two conflicting pods on the same
    machine (pkg/scheduler/predicates.go : PodFitsPorts() )
  - I'm not sure if it is currently possible for a race to occur where
    the PodFitsPorts check were bypassed.   Maybe it could happen.
  - If the kubelet was sent conflicting pods, it would detect them in
    ( pkg/kubelet/kubelet.go :  filterHostPortConflicts() ).  It would
    arbitrarily pick one pod to run and another to ignore.
  - If all of the above happened and the user filed and issue on github,
    we might figure out that the user used HostPort and tell the user to stop.

TODO:
 - e2e test
 - Several of the demos in examples/ use hostPort.  Change them to
   not specify hostPort and have a service instead.
2015-03-10 22:46:30 -07:00
Salvatore Dario Minonne
925fa6baf8 Adding fields selector 2015-03-10 22:13:10 +01:00
Brian Grant
6062e14313 Merge pull request #5220 from nikhiljindal/camelCaseFieldSelectors
Changing v1beta3 field selectors to be camelCased
2015-03-10 09:35:03 -07:00
Justin Santa Barbara
5d36d3cdbe Change cloud provider CreateTCPLoadBalancer to return endpoint as string
Some load balancers (particularly AWS ELB) define the public endpoint
as a hostname (instead of using IP addresses).

This is a partial fix for #5224; there will also be some proxy work.
2015-03-09 20:35:13 -07:00
nikhiljindal
916ca9cc68 Changing v1beta3 field selectors to be camelCased 2015-03-09 18:01:01 -07:00
Brian Grant
7b72d9539f Merge pull request #5054 from smarterclayton/switch_to_sub_bindings
Make Pod binding a subresource (and be generic to other types)
2015-03-09 16:41:26 -07:00
Alex Mohr
37bfb0d7cf Merge pull request #5159 from brendandburns/coverage
Expand test coverage in master.
2015-03-09 13:26:37 -07:00
Clayton Coleman
dfc19185f5 Add a subbindings resource as /pods/{name}/binding
Allows POST to create a binding as a child. Also refactors internal
and v1beta3 Binding to be more generic (so that other resources can
support Bindings).
2015-03-09 15:37:19 -04:00
James DeFelice
bf02d17244 rebased to master 2015-03-09 14:08:11 +00:00
James DeFelice
4943fe937b implemented nil err checks, cc @yujuhong @davidopp 2015-03-09 14:06:27 +00:00
James DeFelice
e5350d61a8 added comment suggested by @davidopp 2015-03-09 14:06:27 +00:00
James DeFelice
436790ccd1 add unit test for #4757
fixed compilation error
2015-03-09 14:06:27 +00:00
Brendan Burns
7c654a3d1b Expand test coverage in master, kubectl/cmd/util, pkg/registry/resourcequota, and api/rest. 2015-03-07 15:24:39 -08:00
Brendan Burns
5b6a78fc77 Place external load balancers in a namespace, and add a test to validate the behavior. 2015-03-06 17:16:27 +01:00
Brendan Burns
2700871b04 Merge pull request #5013 from smarterclayton/misc_fixup
Small cleanups to a number of client behaviors
2015-03-06 15:41:34 +01:00
Daniel Smith
3ef3777192 Make unexported fields panic (informatively)
...Also fix some incorrect calls to semantic.DeepEqual, and a bug where
it returned true incorrectly.
2015-03-05 21:40:37 -08:00
Salvatore Dario Minonne
75f2efb500 moving ParseSelector to Parse for labels only. 2015-03-05 22:39:36 +01:00
Brian Grant
9fcb48cab6 Merge pull request #4434 from ddysher/node-hostip
Node addresses
2015-03-05 10:33:15 -08:00
Daniel Smith
4cd59e629a Merge pull request #5010 from smarterclayton/update_resource_version
genericetcd.Etcd should test resourceVersion
2015-03-04 14:49:05 -08:00
Deyuan Deng
9b0af8df63 Node addresses 2015-03-04 16:47:31 -05:00
Mike Danese
5cbf89c060 plumb through changes on ReplicationController and Service 2015-03-04 10:38:42 -08:00
Mike Danese
e1ca63f569 SetObj and CreateObj optionally accept an object to fill with the result of the get 2015-03-04 10:38:42 -08:00
Clayton Coleman
a52b0f2619 Switch List/Watch to ListPredicate/WatchPredicate 2015-03-04 10:48:05 -05:00
Clayton Coleman
3d52aac13c genericetcd.Etcd should test resourceVersion
Also fix that Update was returning AlreadyExists instead of
NotFound (when create is disabled) and that Update when CreateOnUpdate
was true was not populating the returned object.

Added more tests
2015-03-03 19:54:43 -05:00
Brian Grant
fca9fd68c7 Merge pull request #4779 from smarterclayton/status_endpoints
Minimal status mutation change
2015-03-03 11:00:02 -08:00
Daniel Smith
c4822dc060 Revert "Revert "Adding converter functions to convert field label selectors to internal version before matching""
This reverts commit 5f35a67002.
2015-03-02 15:00:09 -08:00
Brendan Burns
fe973461f5 Merge pull request #4916 from thockin/plural_21_endpoints
Rename type Port to ContainerPort
2015-03-02 10:53:32 -08:00
Clayton Coleman
3d290089ae Minimal status mutation change
PUT /api/v1beta3/namespaces/default/pods/foo/status
    {
      "metadata": {...}, // allowed for valid values
      "spec": {}, // ignored
      "status": {...}, // allowed, except for Host
    }

Exposes the simplest possibly change. Needs a slight refactoring
to RESTUpdateStrategy to split merging which can be done in a
follow up.
2015-03-01 22:35:17 -05:00
Zach Loafman
5f35a67002 Revert "Adding converter functions to convert field label selectors to internal version before matching" 2015-02-28 11:42:49 -08:00
Tim Hockin
ea548b8260 Rename type Port to ContainerPort
Sadly I had to do this by hand - I just could not get gorename to fix up
users of it.
2015-02-27 21:05:59 -08:00
Daniel Smith
d68c738fcf Merge pull request #4575 from nikhiljindal/versionedFieldSelector
Adding converter functions to convert field label selectors to internal version before matching
2015-02-27 16:33:15 -08:00
nikhiljindal
48e7945f65 Versioning the field selectors 2015-02-27 16:10:59 -08:00
Lénaïc Huard
cd719d97df Fix kubernetes and kubernetes-ro services creation
If `kube-apiserver` is started before `etcd` is reachable, `kube-apiserver`
fails to create those services.
However, in the `Create` function, an IP has already been reserved for them.
When `etcd` comes back, the `Create` function fails because it considers that
the IP is already used.

If the service couldn't be created, the reserved IP should be released.
2015-02-27 18:01:03 +01:00
Satnam Singh
19b927ea57 Name a cluster and use it to make forwarding rules for GCE 2015-02-23 17:04:33 -08:00
Daniel Smith
650f6cb826 Revert "Multi-port Endpoints" 2015-02-23 13:53:21 -08:00
Tim Hockin
160f288832 Implement multi-port Endpoints
This is a part of multi-port services.
2015-02-22 09:35:12 -08:00
Tim Hockin
e0fd83096c Rename type Port to ContainerPort
Sadly I had to do this by hand - I just could not get gorename to fix up
users of it.
2015-02-21 22:26:38 -08:00
Tim Hockin
ae0062d001 Part 2 of plural ports: make endpoints a struct
Includes conversions for v1b[12] and tests and fixups for call sites.
2015-02-18 19:54:15 -08:00
Tim Hockin
34eaa0dbd6 Part 1 of plural ports: Add protocol to Endpoints
This makes it easier to make the second step, which is moving endpoints
to a struct instead of a string.
2015-02-18 18:58:04 -08:00
Paul Morie
a131a5e491 Add test for secret RESTStorage 2015-02-18 13:02:22 -05:00
Paul Morie
fb001ada21 Secret API resource 2015-02-18 11:54:56 -05:00
Tim Hockin
876b0c4619 Merge pull request #4484 from jszczepkowski/load-balancer
Update for external load balancer.
2015-02-17 17:04:08 -08:00
Paul Weil
8d7d03a2f8 service NewList should return ServiceList 2015-02-17 16:30:29 -05:00
Jerzy Szczepkowski
397c1fc69a Update for external load balancer.
Implementation of updating external load balancer on service update. This partially fixes #4411.
2015-02-17 21:49:36 +01:00
Yu-Ju Hong
9e72ec023b Remove obsolete defaulting in service/rest.go 2015-02-17 10:34:50 -08:00
Clayton Coleman
72da3b4424 Move rest.Pods to pkg/registry/pod/rest.go 2015-02-16 10:09:28 -05:00
Clayton Coleman
7a93af57c0 Remove pods from pkg/registry/etcd/etcd.go since they are in their own type
Altered the master initialization code
2015-02-16 10:09:27 -05:00
Clayton Coleman
247e467217 Collapse pod REST+Registry to a single object using generic/etcd 2015-02-16 10:09:27 -05:00
Clayton Coleman
8440310ea0 Adapt to changes to generic etcd/registry 2015-02-13 13:11:33 -05:00
Clayton Coleman
23d199ded9 Make generic etcd more powerful and return operations from etcd
When we complete an operation, etcd usually provides a response
object.  Return that object up instead of querying etcd twice.
2015-02-13 13:11:33 -05:00
Saad Ali
3bc8f4e793 Merge pull request #4359 from erictune/no_bound_pod_envs
Stop putting env vars into BoundPods.
2015-02-12 09:12:19 -08:00
Clayton Coleman
b2d50ce1cc Merge pull request #4329 from smarterclayton/bindings_incorrectly_removed
Bindings were not correctly removed across namespaces on pod update and delete
2015-02-12 11:43:22 -05:00
Eric Tune
5b4569697f Stop putting env vars into BoundPods.
They will still show up in etcd.  They never were available
through the API.

A subsequent PR(s) will rip out all BoundPods code.
Working in small increments.

This PR will cause users on lagging cloud providers
to not get env vars in their pods if they update to this code.
They have already been warned via email.

Removed unit tests of BasicBoundPodFactory.
There is adequate coverage in pkg/kubelet/kubelet_test.go.
2015-02-12 08:37:23 -08:00
Clayton Coleman
7d43971614 Merge pull request #4326 from yujuhong/phantom_pods
Allow AtomicUpdate() to surface the error when the key doesn't exist
2015-02-12 10:19:09 -05:00
Yu-Ju Hong
6813683ee2 Allow AtomicUpdate() to surface the error when the key doesn't exist
In some cases, when the key doesn't exist, AtomicUpdate should simply fail and
surface the error. This change adds a new function parameter "ignoreNotFound"
for this purpose.
2015-02-11 21:56:28 -08:00
Clayton Coleman
26f08b7807 RESTStorage should not need to know about async behavior
Also make sure all POST operations return 201 by default.
Removes the remainder of the asych logic in RESTStorage and
leaves it up to the API server to expose that behavior.
2015-02-11 16:26:08 -05:00
Clayton Coleman
6f85b655cc Bindings were not correctly removed across namespaces on pod update and delete
BoundPods must be checked for Name and Namespace equality, not just name
equality. In the future, we should also check for UID equality.
2015-02-11 14:35:28 -05:00
derekwaynecarr
0bd0e12bbc Add support for Namespace as Kind
Add example for using namespaces
2015-02-10 09:50:50 -05:00
derekwaynecarr
151be7773c Rename api.Namespace to api.NamespaceValue to avoid name collision 2015-02-10 09:44:29 -05:00
Brendan Burns
783e1de5bb Add some locking to prevent go data race logic from tripping. 2015-02-05 17:27:58 -08:00
Brendan Burns
b08bd8671f Merge pull request #4157 from saad-ali/updateEventApi
Add "Update Event" to Kubernetes API
2015-02-05 14:50:48 -08:00
Tim Hockin
a20fb598bc Merge pull request #4132 from jszczepkowski/master
Improve "constraint violation" error message.
2015-02-05 13:43:29 -08:00
Jerzy Szczepkowski
18c5fa1ae7 Applied comments. 2015-02-05 20:32:51 +01:00
Brian Grant
50b1034b6c Merge pull request #4122 from pmorie/comment
Clarify commenting in endpoints_controller
2015-02-05 07:09:56 -08:00
saadali
a41f520bf0 Add "Update Event" to Kubernetes API 2015-02-05 00:07:51 -08:00
Jerzy Szczepkowski
ad4c2ee630 Improve "constraint violation" error message. 2015-02-05 00:29:28 +01:00
Paul Morie
3229a634a0 Clarify commenting in endpoints_controller 2015-02-04 15:14:05 -05:00
Brian Grant
3f28badae3 Merge pull request #3854 from yujuhong/defaults
Migrate API defaulting to a centralized location
2015-02-04 11:41:23 -08:00
Tim Hockin
411666decb Get rid of ServiceSpec.ProxyPort
As far as I know, nobody uses it.  It was replaced by PublicIPs.  If I were
being very polite I would leave it in internal, but since I am 99.99% sure
nobody uses it, I am cutting it.  Let's argue about it.
2015-02-03 22:45:00 -08:00
Yu-Ju Hong
4a72addaeb Factor out API defaulting from validation logic
Currently, the validation logic validates fields in an object and supply default
values wherever applies. This change factors out defaulting to a set of
defaulting callback functions for decoding (see #1502 for more discussion).

 * This change is based on pull request 2587.

 * Most defaulting has been migrated to defaults.go where the defaulting
   functions are added.

 * validation_test.go and converter_test.go have been adapted to not testing the
   default values.

 * Fixed all tests with that create invalid objects with the absence of
   defaulting logic.
2015-02-03 00:55:42 -08:00
Clayton Coleman
1588970ec4 Turn 409 into 500 Try Again Later when using generateName
If a client says they want the name to be generated, a 409 is
not appropriate (since they didn't specify a name). Instead, we
should return the next most appropriate error, which is a 5xx
error indicating the request failed but the client *should* try
again.  Since there is no 5xx error that exactly fits this purpose,
use 500 with StatusReasonTryAgainLater set.

This commit does not implement client retry on TryAgainLater, but
clients should retry up to a certain number of times.
2015-02-02 14:46:25 -05:00
Clayton Coleman
e485dc93ca Minions should have common logic with create
TODO: disable / document generate names for cluster scoped resources.
2015-02-02 14:46:25 -05:00
Clayton Coleman
0a87f0332b Add name generation to services 2015-02-02 14:46:25 -05:00
Clayton Coleman
5603714df8 Use name generation on pods via replication controllers
The generated name is '<controllerName>-%s', unless controllerName-
would be long enough to cause a validation error.
2015-02-02 14:44:53 -05:00
Clayton Coleman
a7c9a12286 Add name generation and normalize common create flows
Adds `ObjectMeta.GenerateName`, an optional string field that defines
name generation behavior if a Name is not provided.

Adds `pkg/api/rest`, which defines the default Kubernetes API pattern
for creation (and will cover update as well). Will allow registries
and REST objects to be merged by moving logic on api out of those places.

Add `pkg/api/rest/resttest`, which will be the test suite that verifies
a RESTStorage object follows the Kubernetes API conventions and begin
reducing our duplicated tests.
2015-02-02 14:44:53 -05:00
saadali
e83fd7b8e7 Make master service IP static (no longer randomly assigned) 2015-01-30 16:07:19 -08:00
Deyuan Deng
662bcb9c3d Fix node hostip issue 2015-01-30 14:23:18 -05:00
Deyuan Deng
c793c4f0ab Sync node status from node controller to master. 2015-01-29 23:17:15 -05:00
Brian Grant
0345211e0c Merge pull request #3921 from nikhiljindal/OperationClean
Some more operations code cleanup
2015-01-29 14:54:05 -08:00
Tim Hockin
d01ea11a6e Merge pull request #3856 from smarterclayton/validation_logic_needs_cleanup
Validation of ObjectMeta is inconsistently applied
2015-01-29 14:12:44 -08:00
Brendan Burns
2d4e72f1fa Add some extra checking around a call to list pods. 2015-01-28 22:22:54 -08:00
nikhiljindal
dc92d3c7a2 Cleaning up the operations code in client 2015-01-28 21:04:16 -08:00
derekwaynecarr
829fa69527 Introduce a ResourceQuota object 2015-01-28 15:03:19 -05:00
Tim Hockin
c8f61885df Merge pull request #3695 from mikedanese/ready
refactor pkg/health into more reusable pkg/probe
2015-01-28 11:00:32 -08:00
Clayton Coleman
a0356bca96 Unify validation logic for create and update paths
Ensure ObjectMeta is consistently validated on both create and update

Make PortalIP uncleareable
2015-01-28 13:10:37 -05:00
Tim Hockin
a480794efc Tighten validation of Name and Namespace 2015-01-27 17:04:59 -05:00
derekwaynecarr
74f368f50e Modified LimitRangeItem.Kind to LimitRangeItem.Type, added example files 2015-01-27 16:41:28 -05:00
derekwaynecarr
091cbe5fa2 Add a limit range resource 2015-01-27 16:41:27 -05:00
Mike Danese
5dc6362f8a rename probe.Healthy to probe.Success and renam probe.Unhealthy to probe.Failure. 2015-01-27 11:20:30 -08:00
Mike Danese
a298402bd4 remove pkg/health and move everything over to pkg/probe 2015-01-27 11:20:30 -08:00
Brendan Burns
f124842505 Clear pod cache on delete. 2015-01-26 17:26:43 -08:00
Daniel Smith
09e30a6a63 log on health checks 2015-01-14 17:38:48 -08:00
Daniel Smith
2bee4ac572 Merge pull request #3381 from a-robinson/events2
Improve client recording of events such that clients are
2015-01-14 15:21:16 -08:00
Daniel Smith
c13ae34b02 Merge pull request #3445 from saad-ali/fix3172
Remove CONDITION from event object completely
2015-01-14 15:03:06 -08:00
Eric Tune
88c68e0349 Merge pull request #3331 from pmorie/services
Service visibility w/in namespaces, master services, set env vars in kubelet
2015-01-14 15:01:05 -08:00
saadali
90dfdcecd5 Remove CONDITION from event object completely
# *** ERROR: *** Some files have not been gofmt'd.  To fix these
# errors, run gofmt -s -w <file>, or cut and paste the following:
#   gofmt -s -w pkg/kubecfg/resource_printer.go pkg/proxy/config/config.go pkg/runtime/types.go
#
# Your commit will be aborted unless you override this warning. To
# commit in spite of these format errors, delete the following line:
#   COMMIT_BLOCKED_ON_GOFMT
2015-01-14 14:17:16 -08:00
Paul Morie
fd834ae84d Pods should see services only from their own ns 2015-01-14 17:06:36 -05:00
Tim Hockin
e86d4cd3c6 Use a strong type for UID fields 2015-01-14 13:53:43 -08:00
Alex Robinson
be6b1cf0e2 Push the full channel logic into the implementation of the broadcaster
in watch/mux.go rather than being in the client event recording code.
2015-01-13 02:22:30 +00:00
Dawn Chen
26a6628d8a Merge pull request #3374 from lavalamp/fix
Fix minion listing
2015-01-12 16:36:46 -08:00
Daniel Smith
3e75195ff3 make minion registry not intolerably slow 2015-01-12 16:20:52 -08:00
Clayton Coleman
302629569b Remove unimplemented methods 2015-01-12 12:20:01 -05:00
Clayton Coleman
22c99c98e2 Split RESTStorage into separate interfaces
Omit unimplemented interfaces from Swagger
2015-01-12 12:19:45 -05:00
Clayton Coleman
2741126cd4 Merge pull request #3239 from smarterclayton/healthy_registry_should_decorate
HealthyRegistry should only decorate minions, not omit them
2015-01-08 10:34:56 -05:00
Daniel Smith
35f54addca Update more packages, tests, binaries for quantity
make etcd registry pass test
fix kubelet config for quantity
fix openstack for quantity
fix controller for quantity
fix last tests for quantity
wire into binaries
fix controller manager
fix build for 32 bit systems
2015-01-07 15:21:35 -08:00
Clayton Coleman
a0d711816d HealthyRegistry should only decorate minions, not omit them
Fixes #3098
2015-01-07 11:09:41 -05:00
Dawn Chen
e3c019128e Add EventSource to api to have both Component and Host information. 2015-01-06 16:08:20 -08:00
Tim Hockin
ca27fb259c Don't use pointers for session affinity 2014-12-29 14:43:17 -08:00
Tim Hockin
fb0a7a9693 Add apiserver proxy support for pods.
This is useful for testing mostly.
2014-12-23 12:51:24 -08:00
Daniel Smith
65cf5f29b7 Merge pull request #3095 from derekwaynecarr/events_not_namespace
Namespace scope events in storage
2014-12-22 16:01:38 -08:00
Daniel Smith
5b8e91595a Make pod listing costant-time
* move ip cache out of registry/pod
* combine, rationalize, and move pod status logic
* Fix unit and integration tests
2014-12-22 14:14:03 -08:00
derekwaynecarr
b47cde2465 Namespace scope events in storage 2014-12-22 13:01:20 -05:00
Daniel Smith
9fee1b0503 Merge pull request #3051 from brendandburns/flake
Add a PodUnknown phase and make ListPods return even when there are errors
2014-12-19 16:45:44 -08:00
Brendan Burns
5e8490d5fe Add a PodUnknown phase and make ListPods return even when there are errors
obtaining info for some pods.
2014-12-19 15:08:48 -08:00
Mike Foley
c4e94efe16 Sticky Session Implementation
- Added process to cleanup stale session affinity records
- Automatically set cloud provided load balancer for sticky session if the service requires it - Note, this only works on GCE right now.
- Changed sessionAffinityMap a map to pointers instead of structs to improve performance
- Commented out cookie and protocol from sessionAffinityDetail to avoid confusion as it is not yet implemented.
2014-12-18 18:46:10 -05:00
Brendan Burns
82d0d68571 Merge pull request #3027 from jdef/rest_no_network_settings
only log about no network settings for running pods
2014-12-18 10:19:20 -08:00
Brendan Burns
36bc3604b9 Merge pull request #2893 from brendandburns/pd3
Make it easier to update nodes, make it possible to update capacity.
2014-12-18 10:18:54 -08:00
Deyuan Deng
677f68ec02 Fix node Get() error code 2014-12-18 23:03:52 +08:00
James DeFelice
b3c7aa8a53 only log about no network settings for running pods 2014-12-18 08:41:56 -05:00
Brendan Burns
cf0b41535f Make it easier to update nodes, make it possible to update capacity. 2014-12-17 21:50:26 -08:00
Dawn Chen
deafd90280 PodStatus 2014-12-17 11:39:09 -08:00
Clayton Coleman
88715cc6ef Rename Event.Status to Event.Condition to match v1beta3 agreement
Question - should this be a phase?  Seems like no, since phase implies
defined lifecycle and this field is explicitly not defined.
2014-12-16 09:43:10 -05:00
Deyuan Deng
45bfcb451b Enable watch on node changes. 2014-12-16 08:12:31 +08:00
Daniel Smith
f1f20f820a Merge pull request #2942 from brendandburns/kubelet
revert the revert along with fixes to make it pass e2e tests.
2014-12-15 13:17:52 -08:00
Daniel Smith
a2638da2a7 Merge pull request #2899 from derekwaynecarr/update_generic_etcd
Update generic etcd to enable namespace scoped resources
2014-12-15 13:10:51 -08:00
Brendan Burns
a6f967b6e7 Revert "Revert "Add an api object for the kubelet, and a versioned endpoint.""
This reverts commit dcfcf315e5.
2014-12-15 09:29:04 -08:00
derekwaynecarr
92e2c2b302 Updated default function names, keyroot to keyrootfunc 2014-12-15 10:42:13 -05:00
derekwaynecarr
6353612f40 Update generic etcd to enable namespace scoped resources 2014-12-15 10:42:13 -05:00
Brendan Burns
dcfcf315e5 Revert "Add an api object for the kubelet, and a versioned endpoint."
This reverts commit d4b9979382.
2014-12-12 21:13:44 -08:00
Brendan Burns
d4b9979382 Add an api object for the kubelet, and a versioned endpoint. 2014-12-12 15:26:28 -08:00
Brian Grant
9b539262a8 Count only non-dead pods in replicationController current state replicas count. 2014-12-12 22:23:14 +00:00
Jordan Liggitt
51bfb50698 Use util.Time consistently in types.go 2014-12-11 11:14:25 -05:00
Brendan Burns
bac915a066 Return an error if a user attempts to create an externalized UDP balancer. 2014-12-10 20:08:03 -08:00
Daniel Smith
272bfc97ed Merge pull request #2788 from smarterclayton/roundtrip_node_nodelist
Rename Minions -> Nodes internally
2014-12-10 11:12:15 -08:00
Clayton Coleman
6ab6c90ce5 Merge pull request #2665 from ddysher/fix-watch-filter
Move watch filter into storage level
2014-12-10 12:31:55 -05:00
Clayton Coleman
0d887ae7b3 Change podStatus from Nodes.List() -> Nodes.Get(name)
Retrieves a lot less data
2014-12-10 12:08:19 -05:00
Clayton Coleman
d1d7505272 Rename client Minions->Nodes, select the correct path for v1beta3
Replaces the client public interface but leaves old references to "minions"
for a later refactor.  Selects the path "nodes" for v1beta3 and "minions"
for older versions.
2014-12-10 12:08:19 -05:00
Clayton Coleman
19379b5a38 Internal rename api.Minion -> api.Node 2014-12-10 12:08:18 -05:00
Clayton Coleman
2c27f7d332 Allow an empty service 2014-12-09 12:48:53 -05:00
Brendan Burns
33b3c1b8ce Fix e2e. 2014-12-08 16:55:56 -08:00
Deyuan Deng
76552423f9 Move watch filter into storage level 2014-12-04 20:15:27 -05:00
Eric Tune
3f285269cc Rename watch.Mux -> watch.Broadcaster
A few reasons:
- Mux is already widely used in the codebase to refer to a http handler mux.
- Original meaning of Mux was something which sent a chose one of several inputs to
  and output.  This sends one output to all outputs.  Broadcast captures that idea
  better.
- Aligns with similar class config.Broadcaster (see #2747)
2014-12-04 00:30:51 -08:00
Tim Hockin
f4b031d025 Merge pull request #2514 from thockin/label-ns
Add label key namespacing
2014-12-02 13:38:46 -08:00
Brendan Burns
6b009f06cd Merge pull request #2635 from thockin/public-ip
Enable public IPs even in not createExternal...
2014-12-01 14:56:22 -08:00
Tim Hockin
89875ef09d Loosen DNS 952 for labels 2014-12-01 12:30:43 -08:00
Eric Tune
585afa1bae Merge pull request #2610 from ddysher/node-namespace
Fix node namespace.
2014-11-26 13:02:21 -08:00
Tim Hockin
0c03f6e784 Enable public IPs even in not createExternal...
This allows the proxier to portal Public IPs even if the
createExternalLoadBalancer flag is not set.

This also fixes what appears to be a bug in the createExternalLoadBalancer path
wherein multiple PublicIPs would get truncated.
2014-11-26 10:54:28 -08:00
Eric Tune
636ffed399 Merge pull request #2515 from thockin/why
Add details on Invalid validation errors
2014-11-25 14:04:27 -08:00
Deyuan Deng
c8c7a13ac6 Fix node namespace. 2014-11-25 16:30:55 -05:00
Tim Hockin
ff8c5f9415 Add a Detail field to Validation Error 2014-11-24 17:28:42 -08:00
Daniel Smith
610ab9a0db Merge pull request #2586 from dchen1107/cleanup
Using util.Time for ContainerStatus
2014-11-24 15:35:07 -08:00
Dawn Chen
acb0f1198b Using util.Time for ContainerStatus 2014-11-24 15:15:33 -08:00
derekwaynecarr
039af4a569 Endpoint.Namespace is not being set when it has no resolved pods 2014-11-24 14:15:22 -05:00
Eric Tune
f122fc94bf Move service enviroment vars code.
GetServiceEnvironmentVariables (originally in  pkg/registry/service/rest.go)
is split into two parts: one that lists services, and one that turns
a ServiceList into environment vars.  This will allow a subsequent PR
to add a call to the latter function with an existing ServiceList.
The former part is moved into pkg/registry/pod/bound_pod_factory.go.
The latter part is put in a new package, pkg/kubelet/envvars/envvars.go.
The new package is under kubelet because the container enviroment is more
associated with kubelet than with registry.
Test code moved too.
2014-11-23 05:50:34 -08:00
bgrant0607
8298308d34 Merge pull request #2525 from erictune/cleanup1
Rename makeContainerKey -> make BoundPodsKey.
2014-11-21 14:04:11 -08:00
Eric Tune
20a8e4bf19 Rename makeContainerKey -> make BoundPodsKey.
Fix some typos too.
2014-11-21 13:15:08 -08:00
markturansky
8159c8fd25 Refactor PodCondition to PodPhase 2014-11-21 15:28:38 -05:00
markturansky
13cba21c6c Add old and new DesiredState/Status to podToSelectableFields for watches 2014-11-21 09:46:05 -05:00
Deyuan Deng
a4e7604266 Merge pull request #2478 from smarterclayton/refactor_minion_to_match_v1beta3
Move the internal minion representation to match v1beta3
2014-11-20 21:37:43 -05:00
Clayton Coleman
156000ef6d Move the internal minion representation to match v1beta3
Moves to 'Spec' and 'Status' internally and removes duplicate
fields.  Moves Capacity into Spec and drops use of NodeResources
2014-11-20 20:53:08 -05:00
Tim Hockin
95a9098311 fix 'go vet' warnings 2014-11-21 09:45:28 +08:00
Tim Hockin
ea960711ff Clean up error logs.
Use %v for errors, tidy some messages, make error messages start lowe-case
(as per go guidelines).  Just accumulated nits.
2014-11-21 09:45:26 +08:00
markturansky
8af4ccb111 v1beta3 Pod refactor 2014-11-18 09:25:42 -05:00
Deyuan Deng
c20ceea170 Add more validation for updating node. 2014-11-17 13:42:31 -05:00
Deyuan Deng
cc310e0e71 Support node label update. 2014-11-17 13:42:31 -05:00
Brendan Burns
88fa703b8e Merge pull request #2417 from thockin/ipalloc
Cleanups of ipv6 changes.
2014-11-17 09:54:16 -08:00
Brendan Burns
271ed1c21e Merge pull request #2394 from ddysher/random-fix
Exclude service itself when checking conflict.
2014-11-17 09:47:58 -08:00
Tim Hockin
9c218f0a19 Cleanups of ipv6 changes.
I was late re-reviewing and some comments did not get resolved.
2014-11-17 09:33:14 -08:00
Deyuan Deng
241f3d702b Exclude service itself when checking conflict. 2014-11-15 10:40:40 -05:00
Brendan Burns
4a8a2b5a9f Address comments. 2014-11-14 17:23:13 -08:00
Brendan Burns
2aa52d043b Add external services v2 support. 2014-11-14 11:32:54 -08:00
Brendan Burns
c2485a4056 Merge pull request #2147 from justinsb/ipv6
Initial ipv6 / iptables work
2014-11-14 10:34:37 -08:00
Daniel Smith
de75e5a9bb Fix server-side namespace handling for events; add validation 2014-11-14 09:43:28 -08:00
Dawn Chen
ff68b75401 Merge pull request #2333 from derekwaynecarr/validate_uid
Set uid during object create
2014-11-13 13:56:25 -08:00
derekwaynecarr
15701ff403 Set uid during object create 2014-11-13 15:25:49 -05:00
Deyuan Deng
c83ee59e15 Remove health check when creating node. 2014-11-12 18:55:18 -05:00
Daniel Smith
178d0af795 Fix watch for events; add test for interface implementation so it won't break again. 2014-11-12 15:22:08 -08:00
Daniel Smith
0348a67413 Merge pull request #2195 from smarterclayton/prepare_pod_template_v1beta3
Allow an internal pod template reference or object
2014-11-12 10:55:08 -08:00
derekwaynecarr
b326cbbe0c Centralize minion validation 2014-11-12 12:38:15 -05:00
Daniel Smith
f1b0b64a75 Add 'source' to events field selector. 2014-11-11 15:32:13 -08:00
Clayton Coleman
94c873e7a4 Remaining refactor for PodTemplateSpec and fixing test cases 2014-11-11 17:03:20 -05:00
Deyuan Deng
38abf0c7ad Return success when registrying unhealthy node. 2014-11-07 15:45:15 -05:00
Justin SB
b19170f335 gofmt 2014-11-07 06:34:18 -08:00
Justin SB
04313ff173 Create ip_allocator that copes with IPv6
It uses a set (via a map) of allocated IPs
2014-11-06 21:26:26 -08:00
markturansky
119f654a13 Refactor PodStatus to PodCondition in internal API for v1beta3 2014-11-05 17:26:47 -05:00
Daniel Smith
3bd10d4fb4 Merge pull request #2145 from lavalamp/eventing2
Add a placeholder to boundPod's SelfLink
2014-11-05 13:49:53 -08:00
bgrant0607
fc0dab630c Merge pull request #2086 from markturansky/v1beta3_refactor
Refactor internal API for Services to match v1beta3
2014-11-04 21:48:02 -08:00
bgrant0607
c7ff31004b Merge pull request #2094 from brendandburns/svc
Add some validation for externalized service ports.
2014-11-04 13:04:56 -08:00
markturansky
bd7643c033 refactor services to v1beta3 2014-11-04 14:23:53 -05:00
Daniel Smith
724db61c1d Add a placeholder to boundPod's SelfLink, and test that one can make references to them. 2014-11-03 17:46:33 -08:00
Dawn Chen
c4aa4d28a6 Merge pull request #2120 from brendandburns/uuid
Add some blocking so that we don't generate identical UUIDs for API objects.
2014-11-03 15:32:56 -08:00
Brendan Burns
f556f2f82f Add some validation for externalized service ports. 2014-11-03 13:36:34 -08:00
Brendan Burns
a624630112 Add some blocking so that we don't generate identical UUIDs for API objects. 2014-11-03 13:27:59 -08:00
Brendan Burns
32a04e48fd Make endpoints return 400 instead of 500 2014-11-02 20:08:06 -08:00
Daniel Smith
7146ec9d49 Implement kubernetes & kubernetes-ro services 2014-10-29 11:29:28 -07:00
Daniel Smith
94e736e286 Merge pull request #2009 from smarterclayton/unify_meta
Unify Accessor for ObjectMeta/TypeMeta/ListMeta
2014-10-29 09:58:46 -07:00
deads2k
613bf93eaf expose ParseWatchResourceVersion for downstream use 2014-10-28 16:29:33 -04:00
Daniel Smith
66b43a5e87 fix build 2014-10-28 12:44:24 -07:00
Clayton Coleman
5cb3c10289 Merge pull request #1782 from smarterclayton/allow_put_to_set_create
Allow clients to determine the difference between create or update on PUT
2014-10-28 13:40:41 -04:00
Tim Hockin
bb5ca0f91b Respect a requested PortalIP if possible 2014-10-27 14:03:52 -07:00
Clayton Coleman
66ace4c270 Begin to unify ResourceVersioner and SelfLinker
Create a new MetadataAccessor interface that combines both
and use it where previously latest.ResourceVersioner and SelfLinker
were being used.

Adds Namespace to the get/set interface. Adds TODO about future
fast path for metadata (as per thockin's comment)
2014-10-27 16:00:55 -04:00
Clayton Coleman
d5ee171410 Allow clients to determine the difference between create or update on PUT
PUT allows an object to be created (http 201).  This allows REST code to
indicate an object has been created and clients to react to it.

APIServer now deals with <-chan RESTResult instead of <-chan runtime.Object,
allowing more data to be passed through.
2014-10-24 14:41:15 -04:00
derekwaynecarr
c6eb371c93 Fixup unit tests 2014-10-24 11:49:04 -04:00
derekwaynecarr
580cb5ea4f Rework client.Interface 2014-10-24 11:47:30 -04:00
Clayton Coleman
644eb70085 Refactor tests to split ObjectMeta from TypeMeta 2014-10-24 11:22:21 -04:00
Clayton Coleman
7550c146dc Replace struct initializers for TypeMeta with ObjectMeta 2014-10-24 11:22:21 -04:00
Clayton Coleman
09800643e2 Change validation now that namespace is on ObjectMeta 2014-10-24 11:22:20 -04:00
Haney Maxwell
3160500940 Refactor kubelet access and add SSL 2014-10-22 14:53:59 -07:00
Clayton Coleman
91d9a90e4e Replace use of "id" in strings with "name" 2014-10-22 15:59:12 -04:00
Clayton Coleman
bb77a5d15f Rename ID -> Name 2014-10-22 15:00:26 -04:00
deads2k
34b5861b60 add unit tests for rejection of conflicting namespaces 2014-10-21 15:57:02 -04:00
Daniel Smith
f748e2d2c5 Implement redirection & proxying for minions 2014-10-20 11:28:12 -07:00
Michal Fojtik
0bccce4520 Move error about connecting to healthz server to V(1) 2014-10-20 15:31:01 +02:00
Tim Hockin
8d37319982 Fix borrow and carry in IPAllocator 2014-10-17 17:13:22 -07:00
Daniel Smith
f1e0290605 fix broken test 2014-10-17 15:21:03 -07:00
derekwaynecarr
e2c888795c Fix typo etcd registry 2014-10-17 16:22:57 -04:00
derekwaynecarr
1d6c937183 Wrong method call to watch service endpoints key 2014-10-17 13:34:42 -04:00
Clayton Coleman
26cff8b9bf Rename the etcd path for pods to be /registry/nodes/<>/boundpods 2014-10-16 19:29:08 -04:00
Clayton Coleman
6ae611aedd Write BoundPods to etcd instead of ContainerManifestList
Rename ManifestFactory -> BoundPodFactory and change the general structure
of the call to focus on BoundPod.
2014-10-16 19:29:08 -04:00
derekwaynecarr
085ca40291 Enforce unique constraint at namespace boundary in etcd, make client and server namespace aware 2014-10-16 13:02:52 -04:00
Tim Hockin
e907011111 Core support for ip-per-service 2014-10-16 08:36:47 -07:00
Deyuan Deng
ec46e94dc2 Create MinionController to sync minions from cloudprovider (pkg cloudprovider/controller). 2014-10-14 18:45:25 -04:00
Dawn Chen
f01fd8ff38 After all containers in a pod started. If any one container is still running,
or in the process of restarting, mark pod status running.

Fix #1758.
2014-10-14 10:26:31 -07:00
Daniel Smith
841e9e87ff Merge pull request #1713 from brendandburns/update
Add update to the pod etcd handler.
2014-10-13 17:42:30 -07:00
Brendan Burns
4380637be7 Add update to the pod etcd handler. 2014-10-13 17:27:31 -07:00
Daniel Smith
b1a6b3eee8 Split generic; add test, address other review comments 2014-10-10 15:47:34 -07:00
Daniel Smith
d3d9f7ac8b ObjectDiff moved after rebase 2014-10-10 15:47:34 -07:00
Daniel Smith
3e076e12fe Add event registry and type 2014-10-10 15:46:49 -07:00
Daniel Smith
9a9362e896 Add generic registry object so we can stop rewriting this code 2014-10-10 15:46:49 -07:00
Brendan Burns
9ffa69ce15 Merge pull request #1696 from derekwaynecarr/pod_cache_needs_namespace
Pod cache needs to be namespace-aware
2014-10-10 08:28:32 -07:00
derekwaynecarr
9e60bf1e43 Pod cache needs to be namespace-aware 2014-10-10 09:35:31 -04:00
Tim Hockin
d84816aaec Merge pull request #1709 from erictune/move_line
Fix format specifiers in Printf-type functions.
2014-10-09 20:40:35 -07:00
Eric Tune
800284164a Fix format specifiers in Printf-type functions. 2014-10-09 17:06:32 -07:00
Daniel Smith
9b42f62da3 Merge pull request #1705 from erictune/dead
Delete unused function.
2014-10-09 17:05:34 -07:00
Eric Tune
8296f038ac Delete unused function. 2014-10-09 16:40:11 -07:00
Deyuan Deng
15e5b876b8 Change ContainsMinion to GetMinion 2014-10-08 23:41:15 -04:00
Clayton Coleman
82bcdd3b3b Make ResourceVersion a string internally instead of uint64
Allows us to define different watch versioning regimes in the future
as well as to encode information with the resource version.

This changes /watch/resources?resourceVersion=3 to start the watch at
4 instead of 3, which means clients can read a resource version and
then send it back to the server. Clients should no longer do math on
resource versions.
2014-10-07 19:00:26 -04:00
Daniel Smith
ee107d3fad fix extra un-cosmetic extraneous code. 2014-10-07 14:08:18 -07:00
Daniel Smith
4dd3094035 Fix mismatched arg and formatter in Errorf 2014-10-07 14:03:06 -07:00
Deyuan Deng
4de810efb4 Rebase to master, change JSONBase to TypeMeta. 2014-10-07 16:22:36 -04:00
Deyuan Deng
c3d9197a4b Rename InsertMinion to CreateMinion. 2014-10-07 16:22:35 -04:00
Deyuan Deng
4a35325f29 Use etcd as backend for minion registry. 2014-10-07 16:22:35 -04:00
Clayton Coleman
d3e51a0f24 Rename JSONBase -> TypeMeta in preparation for v1beta3
Will make subsequent refactor much easier
2014-10-07 11:12:16 -04:00
Brendan Burns
fca26ccc65 Merge pull request #1569 from dchen1107/termination
Initial support to propagating the termination reasons and image failures
2014-10-06 16:56:23 -07:00
Brendan Burns
130784bfdf Merge pull request #1594 from thockin/ipallocator
Add an IPAllocator type
2014-10-06 16:56:00 -07:00
Dawn Chen
8d0ed93aa1 Clean unittests 2014-10-06 13:37:22 -07:00
Dawn Chen
9861eb7c8e Initial support of propogating the termination reasons and image failure
to apiserver. Deprecated docker.Container from API completely.

Conflicts:
	pkg/api/types.go
	pkg/kubelet/kubelet.go
2014-10-06 13:37:22 -07:00
Brendan Burns
7c694d2cad Merge pull request #1596 from thockin/unbound
Better handling of unbound pods.
2014-10-06 13:31:41 -07:00
Tim Hockin
372aa07b58 Better handling of unbound pods.
A small collection of tweaks to better handle pods when they are not currently
bound to a host.
2014-10-06 12:27:18 -07:00
Tim Hockin
8131a5ca6a Add an IPAllocator type 2014-10-06 09:02:04 -07:00
Deyuan Deng
7bae027604 Fix bug in minion registrytest. 2014-10-05 15:55:26 -04:00
Brendan Burns
1551b48347 Add a resource fit scheduler predicate. Set sensible defaults. 2014-10-03 15:09:59 -07:00
Brendan Burns
a115840e4f Add a caching layer, so we don't pound cloud providers for ip addresses. 2014-10-02 21:51:09 -07:00
derekwaynecarr
6625e58a20 Updates to review comments 2014-10-01 10:57:50 -04:00
derekwaynecarr
0312d80ffa Update test cases to use default context 2014-10-01 10:57:50 -04:00
derekwaynecarr
e4ec49ee6b Require namespace on controller, pod, service objects 2014-10-01 10:57:50 -04:00
Tim Hockin
04cdf286a4 Make and use api.Protocol type 2014-09-27 20:31:37 -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
derekwaynecarr
b7fcc7d3ec Add ctx to registry test cases 2014-09-26 15:19:22 -04:00
derekwaynecarr
09365fed8d Add ctx to registry interfaces 2014-09-26 15:18:42 -04: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
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
Daniel Smith
4d4ebcd38e Add ttl parameter to CreateObj 2014-09-25 12:08:14 -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
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
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
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
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
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
Daniel Smith
f211e46f20 handle watch errors everywhere 2014-09-22 17:37:12 -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
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
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
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
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
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
Daniel Smith
4e9cf2ccb4 Add field selector to List, implement for pods. 2014-09-16 16:17:16 -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
derekwaynecarr
0c20fffa06 No DNS in vagrant cross minions, need explicit IP as host 2014-09-11 13:38:50 -04:00
Brendan Burns
e7625c8d91 Add current state to replica controller. 2014-09-09 16:19:18 -07:00
Brendan Burns
4ba4762827 Insert the current state of a replica controller. 2014-09-09 15:23:34 -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
Daniel Smith
759c3f9033 Rename all XStorage types to REST for clarity 2014-09-08 15:19:13 -07:00
Dawn Chen
7ace5a3e83 Passing pod UUID to Kubelet. 2014-09-08 14:24:09 -07:00
brendandburns
753b80c9b8 Merge pull request #1105 from lavalamp/proxy
Add a generic proxier
2014-09-08 12:51:24 -07:00
Daniel Smith
fc09f988b4 Make tests pass again 2014-09-07 22:26:42 -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
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
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
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
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
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
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
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
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
Brian Waldon
816c4a3c76 Remove unnecessary parameter from NewRegistry 2014-08-28 16:52:45 -07:00
Daniel Smith
4de254444e Add simple service redirection 2014-08-27 20:51:41 -07: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
52923a1348 Return validation errors from storage create/update 2014-08-26 13:30:55 -04: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
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
58f8ac860f Set creation timestamp on services 2014-08-23 14:33:24 -04:00
Satnam Singh
7fcaf80f67 Make validation check for legal serive port numbers. 2014-08-22 14:44:21 -07:00
Brendan Burns
5839378adc Add a validation that replicaSelector matches PodTemplate.Labels 2014-08-21 22:18:55 -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
Tim Hockin
95e0be9a63 Move FakeCloud into its own pkg 2014-08-20 20:16:41 -07:00
Clayton Coleman
493863eb93 Return immediately when controllers/pods are committed
Add client waiting conditions.
2014-08-20 18:46:10 -04:00
Brendan Burns
a198bbb0ae Switch api.Status to *api.Status in a bunch of places. 2014-08-20 10:21:49 -07:00
Deyuan Deng
c104551025 Improve pkg/registry/service code coverage. 2014-08-19 20:13:00 -04:00
brendandburns
88baa52134 Merge pull request #918 from lavalamp/bindImpl
Implement bindings
2014-08-18 18:19:33 -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
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
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
e40e5b53a7 Add Watch to /pods. 2014-08-16 19:07:29 -07:00
Daniel Smith
26e2256178 Remove unused and not completely correct code 2014-08-15 18:20:37 -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
231ed95a61 Typo in name 2014-08-13 14:36:23 -04: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
brendandburns
3222f61bca Merge pull request #557 from lavalamp/podLocation
Prepare for external scheduler
2014-08-11 15:27:24 -07:00
Daniel Smith
b5352a81c7 Use DesiredState rather than CurrentState for Host. 2014-08-11 15:12:51 -07:00
Daniel Smith
b7752a86d4 Add debugging info printing to etcd fake
And make tests pass again.
2014-08-11 13:09:24 -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
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
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
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
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
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
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
Brendan Burns
c27ab18481 Don't use zone for regional load balancers. 2014-08-05 11:38:33 -07:00
Clayton Coleman
325f9ef005 Make create atomic on etcd for Services/ReplControllers 2014-08-05 01:12:27 -04:00
Tim Hockin
7f0d470979 Merge pull request #776 from nyaxt/respectzone
ServiceRegistryStorage.Delete should respect zone.
2014-08-04 14:29:46 -07:00
Tim Hockin
471955d310 Merge pull request #775 from nyaxt/misc_cleanup
Minor clean ups for readability
2014-08-04 14:29:07 -07:00
Kouhei Ueno
d7fc4637e9 ServiceRegistryStorage.Delete should respect zone. 2014-08-05 06:11:00 +09:00
Kouhei Ueno
c6ebc4859e Reduce nesting on ServiceRegistryStorage.Create 2014-08-05 05:38:31 +09:00
Brendan Burns
ab4918464e Switched Set to Create 2014-08-04 12:10:16 -07:00
brendandburns
27426db827 Merge pull request #756 from smarterclayton/expose_encoding_versioning_interfaces
Expose an Encoding/Versioning interface for use with etcd
2014-08-04 10:10:54 -07:00
Clayton Coleman
ef1329b6c8 Remove expectNoError from pkg/registry 2014-08-04 09:36:47 -04:00
Clayton Coleman
4448be2d95 Expose an Encoding/Versioning interface for use with etcd
etcd_tools.go is not dependent on the specific implementation
(which is provided by pkg/api).  All EtcdHelpers are created
with an encoding object which handles Encode/Decode/DecodeInto.
Additional tests added to verify simple atomic flows.

Begins to break up api singleton pattern.
2014-08-03 21:35:33 -04:00
Daniel Smith
7dbb6f02fe Begin systemizing files in pkg/registry
Files that have RESTStorage implementations now end in "storage", and
files that have registries now end in "registry". I removed some
underscores in file names, since it seems to be go style not to have
them. I split minion_registry.go into two files.

We should consider splitting this package into two, to make more clear
the separation between the layers.
2014-07-31 17:24:15 -07:00
Daniel Smith
928092e79e Etcd watcher verification
To make sure the etcd watcher works, I changed the replication
controller to use watch.Interface. I made apiserver support watches on
controllers, so replicationController can be run only off of the
apiserver. I made sure all the etcd watch testing that used to be in
replicationController is now tested on the new etcd watcher in
pkg/tools/.
2014-07-31 14:54:30 -07:00
brendandburns
b0d18b2af0 Merge pull request #571 from lavalamp/master
Decode/Encode everywhere
2014-07-29 17:19:33 -07:00
Daniel Smith
e10d85efce Merge pull request #685 from smarterclayton/error_on_empty_service
Cleanly delete service without endpoints key
2014-07-29 09:45:31 -07:00
Daniel Smith
4a1660be7c Merge pull request #679 from dchen1107/minionlogs
Fix #663
2014-07-29 09:37:55 -07:00
Clayton Coleman
a49b331794 Cleanly delete service without endpoints key
If a service is deleted before the etcd key corresponding to its
endpoints has been created, a 500 error is returned (etcd key
not found).  Instead, key not found should be ignored silently.

There is a potential race condition with the controller creating
endpoints after the service has been deleted which a cleanup task
should handle in the future.

Closes #684
2014-07-29 11:44:46 -04:00
Dawn Chen
58008510a0 Fix #663
Return all healthy minions instead of only returning the first several
healthy minions. Without the PR, if the first minion failed with health
check, the machine list is empty, thus GET /api/v1beta1/pods failed
with code 500
2014-07-29 00:24:53 -07:00
Daniel Smith
f87bd6b8f9 Merge pull request #628 from jdef/master
named container ports should have sane env var names
2014-07-28 23:05:48 -07:00
Daniel Smith
cd0b25f1e5 Merge pull request #639 from rafael/validate_pods
Validate pod on create and update.
2014-07-28 18:49:51 -07:00
Rafael Chacón
c9a3ab168d Validate pod on create and update.
* This commit adds pod validations on when creating and updating a pod.
2014-07-28 18:02:30 -07:00
Daniel Smith
811d710385 Merge pull request #674 from brendandburns/service
Don't hard code load balancer zone.
2014-07-28 17:15:22 -07:00
Brendan Burns
c717b872a3 Don't hard code load balancer zone. 2014-07-28 15:54:16 -07:00
Daniel Smith
31a78c3e2b Merge pull request #619 from brendandburns/controller
Make individual controller actions asynchronous.
2014-07-28 15:35:19 -07:00
Brendan Burns
1a3e4f8baf Add some more synchronization. 2014-07-28 15:05:39 -07:00
Daniel Smith
b3cc696486 All types stored in etcd are now API objects.
This means I made an api.ContainerManifestList, and added a JSONBase to
endpoints (and changed Name -> JSONBase.ID).
2014-07-28 11:27:36 -07:00
Clayton Coleman
5bc19584a5 Update Service and ReplControllers to validate
Validations are performed on update and on create.
2014-07-27 19:55:03 -04:00
James DeFelice
8e3e65e0f3 named container ports should have sane env var names 2014-07-25 17:55:52 -04:00
Brendan Burns
bf5ae4bb9d Fork API types. 2014-07-24 21:47:08 -07:00
Jonathan Boulle
c43035088b assorted formatting and typo fixes 2014-07-24 15:10:36 -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
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
Daniel Smith
c9246dc130 Implement required sync changes everywhere.
Make requests sync by default, so that usage of them doesn't have to
change.
2014-06-26 10:33:21 -07:00
Tim Hockin
9f9e75f508 Switch to glog for logging, bridge logging to glog.
1) imported glog to third_party (previous commit)
2) add support for third_party/update.sh to update just one pkg
3) search-and-replace:
  s/log.Printf/glog.Infof/
  s/log.Print/glog.Info/
  s/log.Fatalf/glog.Fatalf/
  s/log.Fatal/glog.Fatal/
4) convert glog.Info.*, err into glog.Error*

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

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

The glog lib is sort of weak in that it only flushes every 30 seconds, so
we spin up our own flushing goroutine.
2014-06-24 20:51:57 -07:00
Daniel Smith
2cc038298b Make minion printing prettier; standardize on MinionList.Items like the other list types. 2014-06-24 15:29:17 -07:00
Daniel Smith
c12a3773f5 Add minion types, address other comments 2014-06-23 13:27:52 -07:00
Daniel Smith
79ee5aa250 Implement minion registry. Minions now a first-class object. 2014-06-23 13:27:52 -07:00
Daniel Smith
d460c01ade Add minion registry 2014-06-23 13:27:52 -07:00
brendandburns
49c25a4e28 Merge pull request #196 from lavalamp/marshal
Make api able to marshal its types correctly
2014-06-23 13:22:52 -07:00
Daniel Smith
b850d36166 Fix boilerplate everywhere 2014-06-23 11:32:11 -07:00
Daniel Smith
41534c1cc5 Encode/decode working everywhere now. 2014-06-23 09:54:17 -07:00
Daniel Smith
2bcb44b6bd make Registry use Encode 2014-06-23 09:54:17 -07:00
Daniel Smith
fb991fb84e Change type to []byte 2014-06-23 09:54:17 -07:00
Daniel Smith
a718f6fdb8 minor fixes to scheduler_test 2014-06-22 11:17:23 -07:00
Daniel Smith
466be48c74 Merge pull request #166 from brendandburns/sync
Part #1 of synchronous requests: Add channels and a mechanism for waiting
2014-06-19 16:40:25 -07:00
Brendan Burns
2640de5c02 Part #1 of synchronous requests: Add channels and a mechanism for waiting on them 2014-06-19 16:13:13 -07:00
brendandburns
e031c193a3 Merge pull request #164 from lavalamp/master
Standardize terminology on "selector"
2014-06-19 13:55:27 -07:00
Daniel Smith
5a1a793784 fix after rebase 2014-06-19 13:33:36 -07:00
Daniel Smith
cfce408266 Rename ReplicasInSet to ReplicaSelector 2014-06-19 13:31:42 -07:00
Daniel Smith
bc02b3c21a Rename [label] query to selector 2014-06-19 13:31:42 -07:00
Daniel Smith
c4649d539b Separate labels and selector in services for clarity 2014-06-19 13:30:04 -07:00
Brendan Burns
302ec0f37b Wire in the pod cache. Just used for List for now. 2014-06-18 22:26:35 -07:00
Brendan Burns
4f549aae54 Add a PodCache that is responsible for caching pod information.
Not wired in yet.
2014-06-18 20:04:52 -07:00
Brendan Burns
420b2fdd57 Add support for populating host ip address. 2014-06-18 14:57:50 -07:00
Brendan Burns
57869958bc Add IP look up if the Cloud Provider is not null
Add Instance info to the Cloud Provider interface
2014-06-18 14:27:43 -07:00
Brendan Burns
31427d2d6f Add a fake cloud impl.
Update the service registry with unit tests.
2014-06-18 14:22:41 -07:00