Commit Graph

806 Commits

Author SHA1 Message Date
Chao Xu
7c9f4cc42f experimental. -> extensions. 2015-10-09 15:49:10 -07:00
Chao Xu
67f316dd19 apis/experimental->apis/extensions 2015-10-09 15:04:41 -07:00
Clayton Coleman
3f1b18fbba Refactor exec to make attach useful without a client.Config
The current executor structure is too dependent on client.Request
and client.Config. In order to do an attach from the server, it needs
to be possible to create an Executor from crypto/tls#TLSConfig and to
bypassing having a client.Request.

Changes:

* remotecommand.spdyExecutor - handles upgrading a request to SPDY and getting a connection
* remotecommand.NewAttach / New - moved to exec / portforward / attach since they handle requests
* Remove request.Upgrade() - it's too coupled to SPDY, and can live with the spdyExecutor
* Add request.VersionedParams(runtime.Object, runtime.ObjectConvertor) to handle object -> query transform
2015-10-09 14:36:46 -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
k8s-merge-robot
388159590d Merge pull request #15014 from ncdc/gh14995-fix-wait-goroutine-leaks
Auto commit by PR queue bot
2015-10-09 00:51:46 -07:00
Robert Bailey
f9364da306 Merge pull request #13820 from jackgr/apply_patch
Add method to apply strategic merge patch
2015-10-08 12:44:13 -07:00
Piotr Szczesniak
95b293c615 Merge pull request #13516 from samsabed/backoff-image-reason
backoff image pulling on failure
2015-10-08 13:05:32 +02:00
jackgr
ddda379b1b Add method to apply strategic merge patch. 2015-10-07 17:14:11 -07:00
Sam Abed
fdf712cd84 back-off image pull on failure
Signed-off-by: Sam Abed <samabed@gmail.com>
2015-10-07 21:12:42 +11:00
Andy Goldstein
7999e72659 Fix potential goroutine leaks in pollers 2015-10-06 14:58:21 -04:00
derekwaynecarr
970c369f31 Kubelet sets kernel overcommit_memory flag 2015-10-06 14:28:46 -04:00
Jordan Liggitt
b9ba3bd7c2 Allow specifying scheme when proxying 2015-10-05 22:12:10 -04:00
Alex Robinson
d481ba7547 Merge pull request #14964 from a-robinson/lbdelete
Unrevert #14608 and decrease the latency of GCE load balancer deletions
2015-10-05 16:26:07 -07:00
Alex Robinson
2feb54ce40 Add utility function for errors that runs multiple functions that errors
as goroutines, blocks until they're all done executing, and combines the
results into an Aggregate error.
2015-10-05 22:43:19 +00:00
Alex Robinson
52b8c40bfa Merge pull request #14758 from deads2k/fix-patch
make patch handle conflicts gracefully
2015-10-05 14:41:51 -07:00
Steve Milner
6439486512 url.URL.Host now canonical before use in spdy roundtripper. 2015-10-05 16:05:36 -04:00
Alex Robinson
b1461be2e4 Merge pull request #14982 from Huawei-PaaS/fixed_typos_for_proxy
Fixed some typos for pkg/proxy
2015-10-05 11:40:03 -07:00
deads2k
05e84fafbe move HasConflicts to shareable location 2015-10-05 14:37:57 -04:00
Alex Robinson
8f9feb40b9 Merge pull request #14867 from tummychow/no-fielderror-glog
Remove glog dependency from fielderrors
2015-10-05 11:32:50 -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
CJ Cullen
1b841d26e7 Merge pull request #14996 from thockin/wait-poll
add wait.PollImmediate() and retool wait tests
2015-10-02 16:39:42 -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
k8s-merge-robot
7007481f00 Merge pull request #14917 from nikhiljindal/deploymentController
Auto commit by PR queue bot
2015-10-02 13:18:49 -07:00
Tim Hockin
1973d233e8 add wait.PollImmediate() and retool wait tests 2015-10-02 11:44:26 -07:00
qiaolei
718d7df276 Fixed some typos 2015-10-03 00:33:35 +08:00
k8s-merge-robot
6ca515c312 Merge pull request #14820 from gmarek/playground
Auto commit by PR queue bot
2015-10-02 07:37:45 -07:00
k8s-merge-robot
1bcdd56cf3 Merge pull request #12283 from ncdc/gh8766-port-forward-not-closing-correctly
Auto commit by PR queue bot
2015-10-02 04:48:12 -07: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
nikhiljindal
c6deb442f9 Adding events to deployment 2015-10-01 16:38:08 -07:00
David Oppenheimer
a448b5e154 Merge pull request #14697 from vishh/api-proxy
Avoid rewriting URLs in the proxy, if the application is proxy-aware.
2015-10-01 11:54:31 -07:00
tummychow
447c3371a1 Remove glog dependency from fielderrors 2015-10-01 11:02:51 -07:00
gmarek
fc79ce347e Allow usining FakeOOMAdjuster in Kubelet 2015-10-01 10:55:08 +02:00
Nikhil Jindal
7adb463dd0 Merge pull request #14199 from nikhiljindal/deploymentDescribe
Adding a DeploymentDescriber to kubectl
2015-09-30 21:34:24 -07:00
Andy Goldstein
ed021fed4c Port forwarding fixes
Correct port-forward data copying logic so that the server closes its
half of the data stream when socat exits, and the client closes its half
of the data stream when it finishes writing.

Modify the client to wait for both copies (client->server,
server->client) to finish before it unblocks.

Fix race condition in the Kubelet's handling of incoming port forward
streams. Have the client generate a connectionID header to be used to
associate the error and data streams for a single connection, instead of
assuming that streams n and n+1 go together. Attempt to generate a
pseudo connectionID in the server in the event the connectionID header
isn't present (older clients); this is a best-effort approach that only
really works with 1 connection at a time, whereas multiple concurrent
connections will only work reliably with a newer client that is
generating connectionID.
2015-09-30 20:03:49 -04:00
Brendan Burns
665a2807ee Merge pull request #14615 from smarterclayton/bandwidth_fails_on_mac
Linux bandwidth test doesn't work on Mac
2015-09-29 19:28:54 -07:00
Andy Goldstein
e73652411e Add http proxy support for exec/port-forward
Add http proxy support for exec/port-forward in SpdyRoundTripper
2015-09-29 15:29:19 -04:00
Vishnu kannan
2788b47059 Avoid rewriting URLs in the proxy, if the application is proxy-aware. 2015-09-28 17:20:03 -07:00
nikhiljindal
153c57ffc8 Adding a DeploymentDescriber to kubectl 2015-09-28 14:21:24 -07:00
liguangbo
12299087da Change Oom to OOM 2015-09-28 18:18:04 +08:00
Clayton Coleman
4506f9f455 Linux bandwidth test doesn't work on Mac 2015-09-26 11:41:27 -04:00
Brian Grant
2a105f3692 Merge pull request #14187 from markturansky/unsupported_bandwidth
Added unsupported for non-linux platforms
2015-09-24 16:48:39 -07:00
Eric Tune
f264ae67c7 Merge pull request #14201 from swagiaal/fix-format-and-mount-comment
Correct comments in mount.go
2015-09-23 16:45:36 -07:00
Eric Tune
f3018162d1 Revert "Check the condition immediately in util.Wait funcs" 2015-09-23 16:32:05 -07:00
Eric Tune
a4d85703d5 Merge pull request #14365 from ncdc/poll-immediately
Check the condition immediately in util.Wait funcs
2015-09-23 16:31:53 -07:00
Eric Tune
d3beca6f06 Merge pull request #14381 from dchen1107/fix
Flag controlled RLIMIT_NOFILE for kubelet.
2015-09-23 16:30:11 -07:00
Brendan Burns
77fd388485 Increase a bunch of timeouts to reduce flakes 2015-09-23 11:09:03 -07:00
Sami Wagiaalla
3e9587997f Correct comments in mount.go
Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-09-23 11:40:17 -04:00
Dawn Chen
38583307ca flag controlled RLIMIT_NOFILE for kubelet. 2015-09-22 15:18:34 -07:00
Andy Goldstein
95041ab0ae Check the condition immediately in util.Wait funcs
Have poller() send to the channel once, immediately, before the ticker
starts. This way, Poll, PollInfinite, and WaitFor will check the
condition immediately, instead of waiting for the poller's interval to
elapse once before doing the initial condition check.
2015-09-22 14:06:52 -04:00