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
Brendan Burns
6d763dce2b
start normalizing error handling in watch.
2015-03-17 21:04:55 -07:00
Brendan Burns
4725ecac3f
Set the emptyNameError to be a bad request. Always return a JSON error.
2015-03-17 16:17:14 -07:00
Brian Grant
2f9a41b898
Merge pull request #5233 from brendandburns/labels
...
Make label and field selector query strings versionable.
2015-03-16 16:01:37 -07:00
Piotr Szczesniak
ffcf7b1866
Increased default timeout in APIServer to 2 minutes
...
This should for #5431
2015-03-14 06:54:31 +01:00
Rohit Jnagal
203f37a58a
Merge pull request #5240 from xudifsd/rm-double-write-in-apiserver-proxy
...
Redirector.ResourceLocation shouldn't return `"", nil`
2015-03-13 09:20:46 -07:00
nikhiljindal
5b1e8589e9
Updating api_installer to register paths in a deterministic order to get a deterministic swagger spec
2015-03-12 22:55:17 -07:00
Di Xu
3fac253536
Redirector.ResourceLocation shouldn't return `"", nil`
2015-03-13 08:26:46 +08:00
Brendan Burns
266234f3b9
Make label and field selector query strings versionable.
2015-03-12 12:24:07 -07:00
Wojciech Tyczynski
9f2f10d6db
Make scheduler to watch PodSpec.Host instead Status.Host
2015-03-12 13:38:58 +01:00
Daniel Smith
cc3a433a7a
fix goroutine leak
2015-03-11 12:51:20 -07:00
Salvatore Dario Minonne
925fa6baf8
Adding fields selector
2015-03-10 22:13:10 +01:00
Brian Grant
7aa060bae7
Merge pull request #4706 from mikedanese/PATCH
...
add PATCH verb to apiserver
2015-03-10 11:38:22 -07:00
Mike Danese
46ec580771
add PATCH to apiserver
2015-03-10 10:56:15 -07:00
Brendan Burns
5b3b330bb8
Switch some parse errors to return HTTP 400 instead of the default (500)
2015-03-09 20:42:14 -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
Clayton Coleman
4b16a87096
Simplify api_installer and setup methods
2015-03-09 14:39:31 -04: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
Daniel Smith
05ea93f985
Merge pull request #5147 from a-robinson/func
...
Re-add the defer statements around the monitor() calls in the apiserver.
2015-03-06 15:31:45 -08:00
Alex Robinson
60f0e9d673
Fix the broken calls to the monitor() by having it take arguments as pointers.
...
This is needed for the changes to various labels from later in the function
to be picked up.
2015-03-06 23:16:44 +00: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
Salvatore Dario Minonne
75f2efb500
moving ParseSelector to Parse for labels only.
2015-03-05 22:39:36 +01:00
Brian Grant
58a9045f75
Merge pull request #5081 from vmarmol/put
...
Specified that PUT is a replace and not an update.
2015-03-05 10:32:55 -08:00
Victor Marmol
5d919d6935
Specified that PUT is a replace and not an update.
...
Fixes #3112 .
2015-03-04 17:02:42 -08:00
Satnam Singh
123ca7de53
Specify HTTP for REDIRECT
2015-03-04 16:37:15 -08:00
Clayton Coleman
3beea3b660
Skip types that are not registered on an API version
2015-03-03 21:14:57 -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
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
Alex Robinson
0d5fe5d078
Use a prometheus Histogram rather than a Summary for tracking apiserver latency.
2015-03-02 02:15:16 +00: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
nikhiljindal
48e7945f65
Versioning the field selectors
2015-02-27 16:10:59 -08:00
Daniel Smith
ec58e6d78e
use correct path for proxy replacements
2015-02-24 10:10:06 -08:00
Daniel Smith
78d05e5307
add URL path generation function
2015-02-24 10:10:04 -08:00
Daniel Smith
2d56547524
refactor proxy upgrade path
2015-02-24 10:10:02 -08:00
nikhiljindal
905a3f7909
Updating the handlers to accept full request path rather than a trimmed one
2015-02-24 00:37:20 -08:00
Andy Goldstein
44d41a0f1b
Move golang code to third_party
2015-02-20 20:00:31 -05:00
Andy Goldstein
5bd0e9ab05
Add streaming command execution & port forwarding
...
Add streaming command execution & port forwarding via HTTP connection
upgrades (currently using SPDY).
2015-02-20 09:57:02 -05:00
Daniel Smith
5b96a454d2
clean up rest installation code a little
2015-02-19 13:26:27 -08:00
Daniel Smith
ca5a73ac6b
remove redundant func()
2015-02-17 15:58:18 -08:00
Brian Grant
876d651737
Merge pull request #4395 from smarterclayton/split_naming
...
Fix cross-namespace LIST and WATCH
2015-02-17 09:40:09 -08:00
deads2k
3be343449f
expose creation APIRequestInfoResolver
2015-02-16 13:56:03 -05:00
Clayton Coleman
9175082a1c
Split naming behavior out into objects that are derived from the request
...
Fix bug with cross namespace queries not being possible. Ensure selflink
is set on lists correctly.
2015-02-16 00:23:38 -05:00
Clayton Coleman
c977a45864
Merge pull request #4419 from smarterclayton/expand_generic_resources
...
Expand the generic registry
2015-02-13 13:53:20 -05:00
Clayton Coleman
78385b1230
Set 201 when RESTCreater returns a simple api.Status object
2015-02-13 12:12:50 -05:00
Jordan Liggitt
083ce268e0
Put user in context, map requests to context above resthandler layer
2015-02-12 20:58:04 -05:00
Clayton Coleman
c24f4a24b4
Rename TryAgainLater status code to ServerTimeout
2015-02-12 15:01:12 -05:00
Clayton Coleman
e6fdac1365
Return an error when names are empty
2015-02-12 09:45:13 -05:00
Clayton Coleman
8f6e3607a9
Add monitoring as a filter
2015-02-11 17:07:23 -05:00
Clayton Coleman
79cb93002e
Remove asynchronous channel on RESTStorage interfaces
2015-02-11 16:26:07 -05:00
Clayton Coleman
d167c11b59
Remove layers of indirection between apiinstaller and resthandler
...
Make the RESTHandler feel more go-restful, set the stage for adding
new types of subresource collections.
2015-02-11 16:26:06 -05:00
derekwaynecarr
7b34d6ef8e
The namespace context for a get of an individual namespace is the namespace
2015-02-11 16:06:51 -05:00
Alex Robinson
ab62b689a5
Add monitoring instrumentation for the remaining HTTP handlers in the apiserver.
2015-02-10 23:19:49 +00:00
Victor Marmol
535502ead6
Merge pull request #4272 from a-robinson/metrics
...
Basic initial instrumentation of the apiserver
2015-02-10 14:58:14 -08:00
Alex Robinson
d39262d743
Consolidate the prometheus Counters into a shared CounterVec and remove
...
the "code" label from the latencies SummaryVec.
2015-02-10 22:47:56 +00:00
Clayton Coleman
06656efe62
Merge pull request #4283 from ncdc/allow-proxy-to-resource-root-path
...
Allow proxying to a resource at /
2015-02-10 17:45:31 -05:00
Alex Robinson
2463cff79c
Basic initial instrumentation of the apiserver. This links in the
...
prometheus library for monitoring, which exports some basic resource
usage metrics by default, like number of goroutines, open file
descriptors, resident and virtual memory, etc. I've also started adding
in request counters and latency histograms, but have only added them to two
of our HTTP handlers. If this looks reasonable, I'll add them to the rest
in a second PR.
2015-02-10 20:44:28 +00:00
Andy Goldstein
4f89ed9d6a
Allow proxying to a resource at /
...
Add a route for /proxy/<kind>/<name>/ without requiring additional path
information. This allows for e.g. /proxy/service/myservice/, which will
proxy to the service at /, instead of always requiring something in the
path.
2015-02-10 10:04:40 -05:00
derekwaynecarr
0bd0e12bbc
Add support for Namespace as Kind
...
Add example for using namespaces
2015-02-10 09:50:50 -05:00
Mike Danese
14bfec92f2
rename probe.Status to probe.Result.
2015-02-05 15:49:58 -08:00
nikhiljindal
19f7ecf31b
Deleting the API objects related to /operations
2015-02-04 20:50:45 -08:00
deads2k
8a2fe9bd2b
modify policy to correctly identify resource versus kind
2015-02-04 13:36:01 -05:00
deads2k
1c9216a45e
clarify api request information
2015-02-04 13:36:01 -05:00
Brendan Burns
65e4964bc2
Merge pull request #4087 from enisoc/apiserver-proxy-redirect
...
Rewrite "Location" header in apiserver proxy.
2015-02-04 09:33:34 -08:00
nikhiljindal
18609e1706
Moving /watch, /proxy and /redirect registration to go-restful
2015-02-03 15:47:48 -08:00
Anthony Yeh
6a0dec0e99
Rewrite "Location" header in apiserver proxy.
...
So that redirects work correctly.
2015-02-03 15:14:28 -08:00
Clayton Coleman
9263a8f627
Remove logging on apiserver startup
...
Now that we return errors on startup there's not much value in the
startup log for anyone except a few developers. Nuke
2015-02-03 00:02:07 -05:00
Anthony Yeh
695b08885b
Fix apiserver proxy path rewriting.
...
1) Absolute paths without a hostname were being rewritten relative to
the current page, rather than relative to the current host.
e.g. When viewing /some/page.html, it would rewrite:
/other/page.html => proxyPrepend/some/other/page.html
Instead, it should rewrite:
/other/page.html => proxyPrepend/other/page.html
2) Trailing slashes were being stripped from all rewritten URLs.
This is because path.Join() always calls path.Clean() as well:
http://golang.org/pkg/path/#Join
2015-02-02 13:01:46 -08:00
derekwaynecarr
22ceccc188
Fix TestUnimplementedRESTStorage
2015-02-02 10:26:19 -05:00
derekwaynecarr
a216cb747c
Fix logic issue in register resource handlers not doing list across all namespaces in v1beta3
2015-02-02 10:26:19 -05:00
derekwaynecarr
4c33e36a88
Plumb restmapper properly through apiserver and tests
2015-02-02 10:26:19 -05:00
derekwaynecarr
71ec444d63
Make a RESTMapper scope aware
2015-02-02 10:26:19 -05:00
Satnam Singh
d8bda4006a
Increase API rate limit on read only port of apiserver
2015-01-30 11:58:59 -08:00
nikhiljindal
dc92d3c7a2
Cleaning up the operations code in client
2015-01-28 21:04:16 -08:00
Brian Grant
fcb1cd30ff
Merge pull request #3891 from nikhiljindal/Operation
...
Deleting OperationHandler for handling /operation endpoint on server
2015-01-28 17:01:37 -08:00
Satnam Singh
5d5752374b
Set Retry-After header before calling WriteHeader
2015-01-28 14:28:37 -08:00
nikhiljindal
521728e920
Deleting OperationHandler for handling /operation endpoint on server
2015-01-28 13:13:10 -08: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
5117189e03
Merge pull request #3707 from nikhiljindal/preOperations
...
Removing support for asynchronous server requests
2015-01-28 13:02:52 -05:00
deads2k
6e1f680a57
return all errors from RESTStorage registration
2015-01-28 10:31:33 -05:00
nikhiljindal
de60600608
Making all operations synchronous
2015-01-27 18:47:56 -08:00
Satnam Singh
3a9e6d8f29
Switch to use Too Many Requests response code
...
Name the 429 status code
2015-01-27 14:54:30 -08:00
Satnam Singh
358ace610d
Merge pull request #3824 from smarterclayton/allow_panic_and_error_reporting
...
Allow panics and unhandled errors to be sent elsewhere
2015-01-27 13:18:43 -08: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
b078889360
Merge pull request #3822 from nikhiljindal/swaggerbug
...
Fixing a bug where Reads() was being called twice on POST routes
2015-01-27 10:01:27 -08:00
Clayton Coleman
19987612bf
Replace code that eats errors with a more consistent reporting
...
In order to allow certain programmer error / unexpected error states
to be captured, replace sections that log and eat errors with a method
that can be centrally replaced. This captures two common error sources,
replication errors, and apiserver code that returns invalid errors.
2015-01-26 20:54:29 -05:00
nikhiljindal
54e5d1f102
Fixing a bug where Reads() was called twice on all POST routes
2015-01-26 17:21:25 -08:00
Satnam Singh
8350bb9700
Add a Retry-After header when rate limit is exceeded
2015-01-22 16:03:00 -08:00
Brian Grant
3ae67f8153
Merge pull request #3548 from nikhiljindal/listHandlers
...
Updating handleIndex in master to list all valid paths.
2015-01-21 15:42:50 -08:00
nikhiljindal
51007cc798
Updating handleIndex in master to list all valid paths.
...
The list of valid paths is computed from http.ServeMux and
restful.WebService.
Adding a mux helper - wrapper over mux, that keeps track of the paths
handled by mux.
2015-01-21 13:40:01 -08:00
Anthony Yeh
8c900187b6
Add reverse proxy headers in apiserver proxy.
...
Fixes #3484
2015-01-19 13:15:41 -08:00
Nikhil Jindal
e6c5d59a55
Merge pull request #3509 from enisoc/apiserver-proxy-trailing-slash
...
Preserve trailing slash in apiserver proxy.
2015-01-15 15:13:49 -08:00
Nikhil Jindal
aeab434400
Merge pull request #3514 from enisoc/apiserver-proxy-content-type
...
Allow Content-Type with charset in apiserver proxy.
2015-01-15 15:07:07 -08:00
Clayton Coleman
90c835af47
The API server setup logging is debug specific, bump above V(4)
...
Reduces some chatter in test suites where we are confident this code
already works. Also removed any logging which is obvious from swagger.
Finally, rolls up InstallREST related errors all the way back to master,
which will glog.Fatalf (coding errors).
2015-01-15 14:25:58 -05:00
Anthony Yeh
895c23e2d2
Allow Content-Type with charset in apiserver proxy.
...
Fixes #3456
2015-01-14 23:01:49 -08:00
Anthony Yeh
6f641744ff
Preserve trailing slash in apiserver proxy.
...
Some servers are sensitive to the presence of a trailing slash.
For example, http://etcd/v2/keys returns 404 while
http://etcd/v2/keys/ returns the key named "/".
2015-01-14 21:42:34 -08:00
nikhiljindal
f8db96b673
Fixing a bug in
...
https://github.com/GoogleCloudPlatform/kubernetes/pull/3404 which broke
swagger-ui.
Swagger-ui requires operation to be defined on all Routes.
2015-01-12 15:20:01 -08:00
Daniel Smith
6f43074143
Merge pull request #3404 from smarterclayton/method_not_allowed
...
Allow RESTStorage objects to not implement methods
2015-01-12 13:21:10 -08:00
Clayton Coleman
d17f75f254
Remove user agent logging (doesn't add significant value)
...
We can reintroduce path/agent logging at a later point, this just clogs
verbose logs.
2015-01-12 13:37:37 -05:00