Commit Graph

735 Commits (58dc3ba31db102fc383881083d9b7c8e3bb3e4a3)

Author SHA1 Message Date
Rudi Chiarito a2d1bb7acf Add httpHeaders to httpGet liveness probe
Also update existing documentation and try to steer users away from 'host'.
Add validation.
2016-02-05 11:20:04 -05:00
Jimmi Dyson 1b204d85a6 Ensure all API server responses are properly instrumented 2016-02-04 12:35:03 +00:00
Wojciech Tyczynski f23034d5da Reset more metrics before scalability tests 2016-02-04 11:47:13 +01:00
k8s-merge-robot 5914deeac8 Merge pull request #19380 from brendandburns/apiresource
Auto commit by PR queue bot
2016-02-03 00:49:47 -08:00
harry 1032067ff9 Replace runtime reference by pkg 2016-02-01 21:06:44 +08:00
Clayton Coleman 6e0ad75a6e Change the signature of resthandler.err for upcoming watch changes
Watch will need to be able to invoke scope.err, and it will not
have access to the go-restful req/res. Change to use the raw http
type now.
2016-01-30 18:00:43 -05:00
Clayton Coleman 443cafab90 Add benchmarks for watch over websocket and http
... and a quick doc on how to run them

```
$ godep go test ./pkg/apiserver -benchmem -run=XXX -bench=BenchmarkWatch
PASS
BenchmarkWatchHTTP-8        20000     95669 ns/op   15053 B/op    196 allocs/op
BenchmarkWatchWebsocket-8   10000    102871 ns/op   18430 B/op    204 allocs/op
```
2016-01-28 21:34:51 -05:00
Clayton Coleman 33085c0cf2 Update tests to handle codec changes 2016-01-22 13:27:26 -05:00
Clayton Coleman c1d932e44a Switch API objects to not register per version codecs
Remove Codec from versionInterfaces in meta (RESTMapper is now agnostic
to codec and serialization). Register api/latest.Codecs as the codec
factory and use latest.Codecs.LegacyCodec(version) as an equvialent to
the previous codec.
2016-01-22 01:10:21 -05:00
Clayton Coleman 125ef6fbc8 Support content-type negotiation in the API server
A NegotiatedSerializer is passed into the API installer (and
ParameterCodec, which abstracts conversion of query params) that can be
used to negotiate client/server request/response serialization. All
error paths are now negotiation aware, and are at least minimally
version aware.

Watch is specially coded to only allow application/json - a follow up
change will convert it to use negotiation.

Ensure the swagger scheme will include supported serializations - this
now includes application/yaml as a negotiated option.
2016-01-22 00:12:50 -05:00
nikhiljindal 2ad642d370 Merge registered and latest and move to apimachinery 2016-01-21 14:42:21 -08:00
Alex Mohr 21a5d57c75 Merge pull request #19481 from deads2k/fix-patch-admission
make patch call update admission chain after applying the patch
2016-01-21 14:23:19 -08:00
deads2k e90c2bd7dc make patch call update admission chain after applying the patch 2016-01-20 16:21:27 -05:00
Harry Zhang 936a11e775 Use networking to hold network related pkgs
Change names of unclear methods

Use net as pkg name for short
2016-01-15 13:46:16 +08:00
k8s-merge-robot 0df7e695d4 Merge pull request #19458 from davidopp/notsclose
Auto commit by PR queue bot
2016-01-12 13:53:13 -08:00
k8s-merge-robot 9b106c6e6d Merge pull request #18058 from mqliang/httpProbe
Auto commit by PR queue bot
2016-01-11 23:21:01 -08:00
David Oppenheimer 8ac484793d Comment out calls to httptest.Server.Close() to work around
https://github.com/golang/go/issues/12262 . See #19254 for
more details. This change should be reverted when we upgrade
to Go 1.6.
2016-01-11 23:02:11 -08:00
Brendan Burns 79533385cf Add kind to APIResource 2016-01-07 22:27:34 -08:00
k8s-merge-robot 9c5ede63fc Merge pull request #19274 from krousey/apiserver_flake
Auto commit by PR queue bot
2016-01-04 16:08:29 -08:00
Kris 552e998b1e Fix a premature server shutdown error
Sometimes the test server would close down the TCP socket before all
requests could finish.
2016-01-04 15:31:01 -08:00
Nikhil Jindal af9834ea75 Merge pull request #19040 from nikhiljindal/serverLibrary
api server library: moving API registration logic to generic api server
2016-01-04 14:31:33 -08:00
nikhiljindal 87ce093c77 Moving API registration logic to generic api server 2015-12-30 14:22:14 -08:00
Clayton Coleman 9dad7e624c Split the serviceaccount package into two parts
Public utility methods and JWT parsing, and controller specific logic.
Also remove the coupling between ServiceAccountTokenGetter and the
authenticator class.
2015-12-26 21:28:12 -05:00
Clayton Coleman 3d5ed379b0 authn.go doesn't belong in pkg/apiserver
apiserver does not need to know about specific authentication
mechanisms, and does not need to take dependencies on all the
authentication packages.
2015-12-26 21:22:22 -05:00
Wojciech Tyczynski 58336829be Switch to versioned ListOptions in server. 2015-12-21 14:23:37 +01:00
k8s-merge-robot 44fc4d3f34 Merge pull request #18484 from brendandburns/3rdparty5
Auto commit by PR queue bot
2015-12-19 10:12:35 -08:00
Brendan Burns e594407ab5 Add dynamic APIs to the list of discoverable APIs 2015-12-18 14:03:43 -08:00
Eric Tune 1965fe1824 Rerun hack/update-codecgen.sh 2015-12-17 13:51:33 -08:00
Eric Tune 1752cf22d4 Merge pull request #17940 from soltysh/job_deadline
Added ActiveDeadlineSeconds to jobs
2015-12-17 13:11:13 -08:00
Maciej Szulik 327c104460 Added ActiveDeadlineSeconds to jobs, allowing failing a job after
exceeding allowed time.
2015-12-17 15:26:42 +01:00
deads2k 9fda7f1812 update StatusDetails to handle Groups 2015-12-17 09:14:12 -05:00
Brendan Burns 2efcccf981 Add a server side export facility 2015-12-16 15:01:13 -08:00
k8s-merge-robot 4dc17d8eeb Merge pull request #18522 from liggitt/close_websocket
Auto commit by PR queue bot
2015-12-16 12:06:13 -08:00
k8s-merge-robot e309583ff1 Merge pull request #18473 from smarterclayton/change_runtime_object
Auto commit by PR queue bot
2015-12-16 04:24:22 -08:00
Clayton Coleman 8f203a28f1 Change runtime.Object signature 2015-12-15 13:36:25 -05:00
deads2k 6e33403abf update CodecFor for GroupVersion 2015-12-15 10:56:00 -05:00
deads2k d0aaf13920 use constants for group names 2015-12-14 10:04:10 -05:00
k8s-merge-robot 266ab4a796 Merge pull request #18487 from smarterclayton/guard_encode_decode
Auto commit by PR queue bot
2015-12-13 23:08:18 -08:00
k8s-merge-robot c458cd7bb7 Merge pull request #18379 from deads2k/gv-newobject
Auto commit by PR queue bot
2015-12-13 13:33:16 -08:00
k8s-merge-robot 47d2f41680 Merge pull request #18370 from deads2k/gv-interfacesfor
Auto commit by PR queue bot
2015-12-13 10:27:17 -08:00
Jeff Lowdermilk f6686ba3a4 Merge pull request #18290 from wojtek-t/fast_namespace_deletion
Support collection deletion in apiserver.
2015-12-11 13:34:56 -08:00
deads2k ec87d74ecb update InterfacesFor to use GroupVersion 2015-12-11 13:45:41 -05:00
Jordan Liggitt 993ef54e12 Close web socket watches correctly 2015-12-10 14:20:46 -05:00
k8s-merge-robot 0bf11d89cf Merge pull request #18277 from wojtek-t/better_traces
Auto commit by PR queue bot
2015-12-10 09:56:13 -08:00
Timothy St. Clair a428246960 Abstract the error handling for the storage layer to eliminate the
direct etcd dependency.
2015-12-10 08:06:19 -06:00
Wojciech Tyczynski f28bb68d8c Support collection deletion in apiserver. 2015-12-10 09:46:25 +01:00
Clayton Coleman 1e21054134 Hide common codec methods under helpers
The pending codec -> conversion split changes the signature of
Encode and Decode to be more complicated. Create a stub helper
with the exact semantics of today and do the simple mechanical
refactor here to reduce the cost of that change.
2015-12-09 21:15:02 -05:00
k8s-merge-robot e477503cf8 Merge pull request #18249 from mvdan/apiserver-test-close
Auto commit by PR queue bot
2015-12-09 11:38:31 -08:00
deads2k 519b4e80d1 update NewObject for groupversionkind 2015-12-09 08:13:15 -05:00
k8s-merge-robot ec1ba7438f Merge pull request #17796 from deads2k/gv-object-typer
Auto commit by PR queue bot
2015-12-07 12:34:55 -08:00
deads2k 3f045cf168 udpate admission for API groups 2015-12-07 08:55:01 -05:00
deads2k f764e0099c Update ObjectTyper to GroupVersion 2015-12-07 08:35:05 -05:00
Wojciech Tyczynski 788218d7bb Better traces for api calls. 2015-12-07 09:15:54 +01:00
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
Daniel Martí 5ec087fa30 Properly close http connection on TestList
If not, using `go test -count=n` would make them pile up and ultimately
get to the limit of open files:

	apiserver_test.go:984: 17: unexpected error: Get http://127.0.0.1:44131/apis/test.group/version/simple: dial tcp 127.0.0.1:44131: socket: too many open files

Steps to reproduce (no longer fails):

	godep go test -short -run '^$' -o test .
	./test -test.run '^TestList$' -test.count 100

Note that this might not fail if your `ulimit -n` is not low enough.
2015-12-05 13:29:03 +01: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
Jordan Liggitt 2321651518 Add non-resource and API group support to ABAC authorizer, version ABAC policy rules 2015-12-03 12:31:13 -05:00
Wojciech Tyczynski 0736d5c893 Better traces in list operations. 2015-12-03 09:16:37 +01:00
mqliang 149af2f7a7 remove todo 2015-12-02 13:04:59 +08:00
deads2k a7dd09ec47 update requestScope to fully qualify kind and resource 2015-12-01 16:50:24 -05:00
k8s-merge-robot 4eb010b1f7 Merge pull request #17694 from hongchaodeng/ratelimit
Auto commit by PR queue bot
2015-11-26 13:12:26 -08:00
Clayton Coleman 1d592e4c28 Unversioned types should not use ambiguous go-int
All external types that are not int64 are now marked as int32,
including
IntOrString. Prober is now int32 (43 years should be enough of an initial
probe time for anyone).

Did not change the metadata fields for now.
2015-11-26 11:45:25 -05:00
k8s-merge-robot fc694ea787 Merge pull request #16725 from wojtek-t/update_ugorji
Auto commit by PR queue bot
2015-11-25 22:14:20 -08:00
deads2k 8679925847 update RESTMapping API to be properly typed 2015-11-25 14:02:37 -05:00
deads2k ed95a6d77f update scheme to use GroupVersion 2015-11-25 12:15:48 -05:00
deads2k e0b7f52633 hack up queryToObject to continue to work as it used to 2015-11-25 12:14:06 -05:00
deads2k 68b0572974 internal versions 2015-11-25 12:14:06 -05:00
deads2k 6231404682 update decoder to use GroupVersion 2015-11-25 12:14:06 -05:00
k8s-merge-robot 3bd23b185b Merge pull request #17730 from wojtek-t/use_unversioned_list_options_in_client
Auto commit by PR queue bot
2015-11-25 09:10:19 -08: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
Wojciech Tyczynski 58062bc347 Regenerate files 2015-11-25 12:34:05 +01:00
k8s-merge-robot 3e56ce6490 Merge pull request #17327 from deads2k/gv-restmapper
Auto commit by PR queue bot
2015-11-24 19:08:49 -08:00
deads2k c40dd0335a make DefaultRESTMapper methods type correct 2015-11-24 14:17:37 -05:00
Wojciech Tyczynski b6ef62af24 Use unversioned.ListOptions in clients. 2015-11-24 16:52:09 +01:00
k8s-merge-robot f3753c02ed Merge pull request #17369 from wojtek-t/use_unversioned_list_options
Auto commit by PR queue bot
2015-11-24 07:32:37 -08:00
Wojciech Tyczynski bf13bef955 Use unversioned.ListOptions in API server. 2015-11-24 14:42:21 +01:00
k8s-merge-robot fcdf32f336 Merge pull request #17674 from gmarek/fix-test
Auto commit by PR queue bot
2015-11-24 03:40:53 -08:00
Hongchao Deng 13d152a873 RateLimiter: change CanAccept() to TryAccept() 2015-11-23 16:42:53 -08:00
k8s-merge-robot 06ef4b0a83 Merge pull request #17156 from feihujiang/moveListFunctionsFromRuntimeToMetaPackage
Auto commit by PR queue bot
2015-11-23 14:13:25 -08:00
Tim St. Clair 20ead45af9 Move etcd_util.go to separate package 2015-11-23 11:32:50 -08:00
gmarek a5300a0c63 Add more comments to TestMaxInflight 2015-11-23 20:26:02 +01:00
k8s-merge-robot 7b814a5122 Merge pull request #17640 from wojtek-t/fix_max_in_fligh_test
Auto commit by PR queue bot
2015-11-23 07:30:42 -08:00
k8s-merge-robot ffe8370927 Merge pull request #17567 from deads2k/allow-head
Auto commit by PR queue bot
2015-11-23 03:49:27 -08:00
Wojciech Tyczynski 2766272fff Fix MaxInFlight test 2015-11-23 10:54:57 +01: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
deads2k 72e345aa4e handle the HEAD verb correctly for authorization 2015-11-20 11:34:35 -05:00
feihujiang ad79fa6e84 Move list functions from runtime to meta package 2015-11-20 09:20:55 +08:00
Wojciech Tyczynski d7b098b0e9 Add DecodeParametersInto method to Codec. 2015-11-18 09:56:04 +01:00
deads2k 303bcad398 use groupversion in RESTMapping 2015-11-16 09:22:11 -05:00
Jordan Liggitt b675a77213 Add groupless API server tests 2015-11-16 07:42:00 -05:00
deads2k bf983e942c use GroupVersion in APIGroupVersion for api installer 2015-11-16 07:42:00 -05:00
David Eads 486103d887 Revert "use GroupVersion in APIGroupVersion for api installer" 2015-11-13 12:55:08 -05:00
deads2k 3c725f17ea use GroupVersion in APIGroupVersion for api installer 2015-11-13 09:00:04 -05:00
nikhiljindal 61cef8f570 Updating typeToJSON to handle pointers as well 2015-11-03 17:31:40 -08:00
Jordan Liggitt 600b5e633d Fix GetRequestInfo subresource parsing for proxy/redirect verbs 2015-10-30 13:41:49 -04:00
Wojciech Tyczynski 9c53f301f1 Merge selectors with ListOptions. 2015-10-29 15:42:57 +01:00
k8s-merge-robot cd7e4bd6bb Merge pull request #16364 from liggitt/unversioned_types
Auto commit by PR queue bot
2015-10-29 05:56:17 -07:00
Jordan Liggitt 3bc4abb9aa Add TypeMeta to discovery response objects 2015-10-27 10:27:13 -04:00
Wojciech Tyczynski aa30e38183 Pass resource version to storage List operation. 2015-10-27 10:03:58 +01:00
Wojciech Tyczynski f4d75e0a0a Support timeout in watch requests 2015-10-24 13:12:49 +02:00
deads2k 6fbb3f4b6e add nonResourceURL detection 2015-10-20 16:23:30 -04:00
eulerzgy f8f9afb874 alias local packagename for pkg/util/errors 2015-10-18 09:37:46 +08:00
Wojciech Tyczynski d51965bf00 Autogenerate files. 2015-10-16 10:20:02 +02: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 e4c910a35a Merge pull request #15362 from wojtek-t/refactor_test_objects
Refactor test objects to a separate package
2015-10-13 11:52:47 -07:00
k8s-merge-robot 2dec0826f7 Merge pull request #15351 from caesarxuchao/fix-14584-1
Auto commit by PR queue bot
2015-10-13 02:19:43 -07:00
Wojciech Tyczynski 3d88a63b5d Refactor test objects to a separate package 2015-10-13 10:15:11 +02:00
Chao Xu 7817c2312c fix rebase 2015-10-12 13:48:14 -07:00
Chao Xu 8654227c08 run grep-sed 2015-10-12 13:33:13 -07:00
Chao Xu 58ed8fd6fe run goimports 2015-10-12 13:33:13 -07:00
Chao Xu 654ceb6e5a run grep-sed 2015-10-12 13:33:13 -07:00
Chao Xu 29d3351b69 run goimports 2015-10-12 13:33:13 -07:00
Chao Xu e3d984be27 run grep-sed 2015-10-12 13:33:13 -07:00
Chao Xu cbb3deb182 run goimports 2015-10-12 13:31:45 -07:00
Chao Xu 50a2c4c643 grep-sed 2015-10-12 13:31:45 -07:00
Jordan Liggitt 1043126135 Refactor SSH tunneling, fix proxy transport TLS/Dial extraction 2015-10-12 11:17:01 -04: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 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
Clayton Coleman 9136d49dc9 400 HTTP should not result in a stack trace printed 2015-10-09 14:33:41 -04: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
deads2k 05e84fafbe move HasConflicts to shareable location 2015-10-05 14:37:57 -04:00
deads2k 41e2a4c40f make patch handle conflicts gracefully 2015-10-05 14:37:57 -04:00
Alex Robinson 7c5b8f6a58 Merge pull request #14985 from deads2k/fix-anon-struct
fix patch for anonymous struct fields
2015-10-05 10:29:59 -07:00
Alex Robinson 66cbacc9c1 Merge pull request #14967 from liggitt/set_transport_defaults
Add util to set transport defaults
2015-10-05 10:29:32 -07: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
deads2k c4ca26f84d fix patch for anonymous struct fields 2015-10-02 16:32:37 -04:00
k8s-merge-robot 333eaf5893 Merge pull request #14710 from liggitt/authz_attr
Auto commit by PR queue bot
2015-10-02 09:18:13 -07:00
k8s-merge-robot a413fd278f Merge pull request #14874 from derekparker/fix-json-patch-content-type
Auto commit by PR queue bot
2015-10-02 07:08:58 -07:00
k8s-merge-robot f5adbb7e12 Merge pull request #14926 from caesarxuchao/fix-discovery-1
Auto commit by PR queue bot
2015-10-02 06:39:44 -07:00
Jerzy Szczepkowski e485fafc17 Merge pull request #14901 from wojtek-t/debug_tests
Fix TestMaxInFlight
2015-10-02 11:23:14 +02:00
Jordan Liggitt 2a1286c8f2 Add util to set transport defaults 2015-10-02 02:29:46 -04:00
Jordan Liggitt 36a721e8b7 Honor InsecureSkipVerify flag 2015-10-02 02:26:04 -04:00
Jordan Liggitt e024e55e8e Add verb to authorizer attributes 2015-10-01 23:54:02 -04:00
Chao Xu 4927cec3be fix groups exposes at apis/ 2015-10-01 18:32:42 -07:00
Wojciech Tyczynski a659007f6a Fix TestMaxInFlight 2015-10-01 14:28:22 +02:00
Derek Parker 4745cc9d9a apiserver: Fix handling patch requests with charset
Fixes #14872
2015-09-30 14:03:27 -07:00
deads2k df870cf36a remove Kind from APIRequestInfo 2015-09-30 09:46:22 -04:00
deads2k 8db054651c plumb APIGroup to authorization attributes and test 2015-09-30 09:45:10 -04:00
deads2k dc8d0de70b update APIRequestInfo for APIGroup 2015-09-30 09:45:10 -04:00
Brendan Burns c3a8dc0494 Deflake the max-in-flight limit test 2015-09-28 16:08:14 -07: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
Eric Tune 72992ae8f6 Merge pull request #14418 from gmarek/dead-code
Remove dead RateLimit function from API server handlers
2015-09-23 16:25:06 -07:00
Brendan Burns 77fd388485 Increase a bunch of timeouts to reduce flakes 2015-09-23 11:09:03 -07:00
gmarek 9d57f2c571 Remove dead RateLimit function from API server handlers 2015-09-23 13:44:37 +02:00
k8s-merge-robot 6c30a0e170 Merge pull request #13955 from caesarxuchao/API-discovery
Auto commit by PR queue bot
2015-09-21 14:01:36 -07:00
Chao Xu 1278771b34 let apiserver support api discovery 2015-09-21 12:20:24 -07:00
deads2k 630c6cc16a add patch verb to APIRequestInfo 2015-09-21 14:09:36 -04:00
nikhiljindal 4ee799e181 Fixing swagger spec 2015-09-18 12:26:21 -07: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