Commit Graph

377 Commits (fc76242f4afd2c7e41ae943f4f3f518f3df9377e)

Author SHA1 Message Date
Daniel Smith 83d5c207c9 Merge pull request #6175 from nikhiljindal/proxy
Updating proxy to return 301 to add a "/" at the end for #4958 (attempt 2)
2015-03-30 15:21:46 -07:00
derekwaynecarr 265a0e3ca4 Listing items in a namespace should always include the namespace in the URL 2015-03-30 16:05:40 -04:00
nikhiljindal 4c4a084a92 Updating proxy to return 301 to add a / at the end 2015-03-30 12:12:49 -07:00
Brendan Burns ee0d71aac6 Fix up parameter handling. Also handle type mapping between Go and JSON 2015-03-27 21:43:16 -07:00
Brendan Burns d70d2d20cd Add params for the proxy when installing the API. 2015-03-27 21:43:16 -07:00
Daniel Smith 93a82c30d9 Revert "Updating proxy to return 301 to add a "/" at the end for #4958" 2015-03-27 15:59:40 -07:00
Daniel Smith d137e7b62d Merge pull request #6048 from nikhiljindal/proxy
Updating proxy to return 301 to add a "/" at the end for #4958
2015-03-27 15:49:10 -07:00
Brian Grant f0da47b2dd Merge pull request #5763 from smarterclayton/get_input_parameters_versioned
Expose versioned query parameters and make watch an operation on List
2015-03-27 14:35:23 -07:00
nikhiljindal 2fff606a6f Updating proxy to return 301 to add a / at the end 2015-03-27 14:29:18 -07:00
Clayton Coleman 870da687d0 Add more extensive tests to apiserver for variations in version
Formalize v1beta1 and v1beta3 style APIs in our test cases.
2015-03-27 15:03:58 -04:00
Clayton Coleman eb0eff69fe Move watch to being a resthandler resource and expose it on LIST
GET /pods?watch=true&resourceVersion=10

will now function equivalent to GET /watch/pods.
2015-03-27 15:03:58 -04:00
Clayton Coleman 1618c39a46 Convert List query parameters via object conversion
Convert url.Values -> an object, with appropriate versioning. ListOptions
should also expose parameter names to swagger.
2015-03-27 15:03:57 -04:00
Clayton Coleman 30358e8b04 Add more specific error handling and handle generic errors more effectively
The client library should type more generic errors from the server.
2015-03-26 17:30:13 -04:00
Clayton Coleman fc3609fb5b Allow InputStreams to be returned by requests
Add additional metadata to restful services.
2015-03-24 17:25:45 -04:00
Jordan Liggitt a75b501821 Improve ResourceLocation API, allow proxy to use authenticated transport 2015-03-24 11:11:34 -04:00
Wojciech Tyczynski f7191d626d Change "/ns" to "/namespaces" in few remaining places. 2015-03-24 13:05:32 +01: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 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