Commit Graph

744 Commits

Author SHA1 Message Date
Eric Chiang
92d37d5cc5 plugin/pkg/auth/authenticator/token/oidc: get groups from custom claim 2016-02-12 09:58:18 -08:00
Jordan Liggitt
3038eec2aa Use a different verb for delete collection 2016-02-10 18:08:46 -05:00
Wojciech Tyczynski
bb79ed6f8e Small cleanup in metrics 2016-02-10 16:05:52 +01:00
k8s-merge-robot
b98d9a21a1 Merge pull request #20818 from deads2k/remove-mixed-case
Auto commit by PR queue bot
2016-02-09 05:06:45 -08:00
k8s-merge-robot
3b150b5e43 Merge pull request #19559 from jimmidyson/instrument-apiserver-handlers
Auto commit by PR queue bot
2016-02-08 23:14:20 -08:00
Jordan Liggitt
545f6be573 Regenerate types.go 2016-02-08 17:19:15 -05:00
deads2k
6d71421ae1 eliminate mixed case from RESTMapper 2016-02-08 15:33:31 -05:00
Jan Chaloupka
4389b3f0d6 Rewritte util.* -> wait.* wherever reasonable 2016-02-07 12:02:20 +01:00
k8s-merge-robot
30c1263b81 Merge pull request #20376 from smarterclayton/rest_error
Auto commit by PR queue bot
2016-02-06 02:15:45 -08:00
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