Commit Graph

171 Commits (734f05057edc874aa19d0421eb6fa0cd648c7f99)

Author SHA1 Message Date
k8s-merge-robot 8e496e3fa3 Merge pull request #18015 from wojtek-t/list_traces
Auto commit by PR queue bot
2015-12-05 22:10:01 -08:00
k8s-merge-robot c849825d18 Merge pull request #16400 from caesarxuchao/fix-proxy-content-length
Auto commit by PR queue bot
2015-12-03 15:56:03 -08:00
Wojciech Tyczynski 0736d5c893 Better traces in list operations. 2015-12-03 09:16:37 +01:00
Wojciech Tyczynski bf13bef955 Use unversioned.ListOptions in API server. 2015-11-24 14:42:21 +01: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
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
Timothy St. Clair 02851dd1b7 Removal of fakeClient and shift to storage.Interface for
all registry tests.
2015-11-19 10:34:30 -06: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
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 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
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
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
Jordan Liggitt b3157d1445 Ensure HPA has valid resource/name/subresource, validate path segments 2015-11-03 14:46:17 -05:00
feihujiang 726def04d5 Make rootscoped resource no namespace selectable field 2015-10-31 10:52:21 +08:00
Wojciech Tyczynski 9c53f301f1 Merge selectors with ListOptions. 2015-10-29 15:42:57 +01:00
Wojciech Tyczynski aa30e38183 Pass resource version to storage List operation. 2015-10-27 10:03:58 +01: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
Jordan Liggitt 63fb6c07a5 Validate names in BeforeCreate 2015-10-21 14:11:41 -04: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
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
Dawn Chen 782102d437 Merge pull request #15224 from liggitt/proxy_https
Allow specifying scheme when proxying
2015-10-12 14:39:21 -07: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
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
feihujiang 8781fc73c1 Server should return error status when retrive error status from other location 2015-10-10 05:26:15 +08:00
Filip Grzadkowski c0532a432a Revert "Allow specifying scheme when proxying" 2015-10-07 13:02:35 +02:00
Jordan Liggitt b9ba3bd7c2 Allow specifying scheme when proxying 2015-10-05 22:12:10 -04:00
Jordan Liggitt 36a721e8b7 Honor InsecureSkipVerify flag 2015-10-02 02:26:04 -04:00
Kris f4ad00d9ae Moving Status object to a common package 2015-09-17 14:09:53 -07: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
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
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
Wojciech Tyczynski ed7d6ebd71 Filter List in Storage level to avoid additional copies. 2015-09-10 09:49:50 +02:00
Chao Xu 9fc79e9d99 refactor testapi and test scripts to prepare for multiple API groups. 2015-09-04 18:01:32 -07:00
Clayton Coleman 02dbb95447 Add TerminationGracePeriodSeconds to API
Set defaulting for pod spec
2015-08-20 11:03:38 -04: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
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
Wojciech Tyczynski 2ced08358f Remove unused registry infrastructure 2015-08-12 11:23:10 +02:00
Veres Lajos 9f77e49109 typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01: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
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
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
nikhiljindal 4b7f7ce535 Dont return raw etcd errors 2015-06-29 16:18:46 -07:00
nikhiljindal 221ae4d63b Allow update without resource version 2015-06-23 00:16:08 -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
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
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
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
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
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
Jordan Liggitt a2d6dd0467 Pass correct update flag to TTLFunc 2015-05-17 00:42:30 -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
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
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
Daniel Smith 2fa3ae9f15 fix watch of single object 2015-04-23 16:02:22 -07:00
Masahiro Sano f90dc8f413 use Watch for single object instead of WatchList 2015-04-21 08:00:52 +09: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
Wojciech Tyczynski 6feaf8ee4f Support List() single-matchers 2015-04-15 12:10:43 +02:00
David Oppenheimer 6b28a69a1b Clarify comments describing how GuaranteedUpdate() (previously AtomicUpdate() works. Closes #6626. 2015-04-14 15:38:15 -07: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
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
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 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 ef6601646d Migrate replication controllers to generic etcd 2015-03-23 17:59:25 -07: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
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
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