Commit Graph

1193 Commits (a072bda6fd598f2afdb5b30f571ae37e4700d70e)

Author SHA1 Message Date
k8s-merge-robot 990c0184be Merge pull request #16330 from mikedanese/deploy-ptr
Auto commit by PR queue bot
2015-11-02 20:41:34 -08:00
Jordan Liggitt ddae749111 Read error from failed upgrade attempts 2015-11-02 22:39:58 -05:00
Janet Kuo 4d92268212 Better error handling for output format when "kubectl config view" 2015-11-02 16:25:52 -08:00
Huamin Chen a31d23ea0e don't use ext4 mkfs options for other fs
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-10-30 11:53:10 -04:00
Sami Wagiaalla 1d352a16b8 Support volume relabling for pods which specify an SELinux label 2015-10-28 09:26:58 -04:00
Mike Danese b0a41108af move deployment PodTemplate to be not a pointer 2015-10-28 00:13:40 -07:00
k8s-merge-robot ec9b493647 Merge pull request #14639 from gmarek/hollow-proxy
Auto commit by PR queue bot
2015-10-27 18:22:38 -07:00
Daniel Smith 6219b50280 Merge pull request #16160 from kargakis/windows-fixes-for-edit
edit: Windows fixes
2015-10-27 15:44:26 -07:00
gmarek 5a4e4d4d57 Add a HollowProxy to the HollowNode. 2015-10-27 18:23:29 +01:00
Daniel Smith fcd99461ff Merge pull request #16286 from liggitt/wsstream_cpu
Avoid CPU hotloop on client-closed websocket
2015-10-26 17:19:20 -07:00
Daniel Smith b07dd73f26 Merge pull request #16053 from saad-ali/attachDetachMutextFix
Fix GCE Cloud/Attach/Detach stability issues
2015-10-26 13:05:27 -07:00
Jordan Liggitt 85379b12ca Avoid CPU hotloop on client-closed websocket 2015-10-26 14:04:16 -04:00
k8s-merge-robot 275e978b90 Merge pull request #16241 from smarterclayton/fix_flake_stream
Auto commit by PR queue bot
2015-10-26 02:54:47 -07:00
k8s-merge-robot 4f17b4b39c Merge pull request #15961 from ncdc/stream-protocol-negotiation
Auto commit by PR queue bot
2015-10-25 07:26:41 -07:00
Clayton Coleman f79c74e311 Make util/wsstream/stream_test.go not flaky
It's hard to manage connection buffers in a deterministic test, ensure
that the error is always consistent and the output is always a subset
of the input
2015-10-24 15:47:57 -04:00
kargakis 73713ce268 edit: Windows fixes
Contains the following fixes for Windows users of kubectl edit:
* Defaults to notepad as the default Windows editor
* Uses CRLF line endings
* Ensures a file lock is freed
2015-10-24 17:06:49 +02:00
saadali 19115b2a22 Fix GCE Cloudprovider waitForOp bug and make GCE attach/detach atomic operations. 2015-10-23 11:58:56 -07:00
Andy Goldstein 6fddb0e83a Add httpstream.Handshake unit test 2015-10-23 14:09:41 -04:00
Paul Morie 3cd12f5e05 FSGroup implementation 2015-10-22 16:40:59 -04:00
Andy Goldstein ff9883d9ec Address code review comments 2015-10-21 21:53:51 -04:00
Andy Goldstein 3d1cafc2c3 Add streaming subprotocol negotiation
Add streaming subprotocol negotiation for exec, attach, and port
forwarding. Restore previous (buggy) exec functionality as an
unspecified/unversioned subprotocol so newer kubectl clients can work
against 1.0.x kubelets.
2015-10-21 21:53:51 -04:00
Huamin Chen 3b14135cad mount returns more verbose message upon error
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-10-21 11:52:02 -04:00
eulerzgy f8f9afb874 alias local packagename for pkg/util/errors 2015-10-18 09:37:46 +08:00
Cesar Wong b56d474110 Proxy: do not send X-Forwarded-Host or X-Forwarded-Proto with an empty value 2015-10-16 13:09:51 -04:00
k8s-merge-robot a3f2ba2e34 Merge pull request #11694 from ncdc/add-spdy-proxy-support
Auto commit by PR queue bot
2015-10-15 06:56:15 -07:00
k8s-merge-robot 130e6a7a4d Merge pull request #15468 from feiskyer/volume-typo-error
Auto commit by PR queue bot
2015-10-15 05:08:33 -07:00
Wojciech Tyczynski 647aa1bc8c Unify per-resource List for unversioned client 2015-10-14 08:37:57 +02:00
Dawn Chen 535246f364 Merge pull request #15396 from derekwaynecarr/kernel_flags
Ensure panic_on_oom disabled
2015-10-13 10:24:50 -07:00
derekwaynecarr 0ec36ae210 Ensure panic_on_oom disabled 2015-10-13 11:24:32 -04:00
Dawn Chen 00eb2e7bfc Merge pull request #15267 from nikhiljindal/deploymentRCSelector
Deployment: Fixing the selector for new RC created by deployment
2015-10-12 14:40:30 -07:00
Dawn Chen 782102d437 Merge pull request #15224 from liggitt/proxy_https
Allow specifying scheme when proxying
2015-10-12 14:39:21 -07:00
Dawn Chen 149ca1ec49 Merge pull request #14618 from smarterclayton/refactor_exec
Refactor exec to make attach useful without a client.Config
2015-10-12 11:44:34 -07:00
nikhiljindal 6f61326cdb Fixing the selector for new RC created by deployment 2015-10-12 11:00:29 -07:00
Jordan Liggitt 1043126135 Refactor SSH tunneling, fix proxy transport TLS/Dial extraction 2015-10-12 11:17:01 -04:00
Jordan Liggitt 826459e51e Allow specifying scheme when proxying 2015-10-12 11:16:53 -04:00
feisky 8ad6b8f035 Fix typo error 2015-10-12 18:57:56 +08: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 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
k8s-merge-robot a7c20b1201 Merge pull request #14311 from danwinship/printf-fix
Auto commit by PR queue bot
2015-09-21 21:09:29 -07:00
Dan Winship 6ec4d229de glog.Info() -> glog.Infof() 2015-09-21 17:47:29 -04:00
Clayton Coleman c2e90cd154 Support extended pod logging options
Increase the supported controls on pod logging. Add validaiton to pod
log options. Ensure the Kubelet is using a consistent, structured way to
process pod log arguments.

Add ?sinceSeconds=<durationInSeconds>, &sinceTime=<RFC3339>, ?timestamps=<bool>,
?tailLines=<number>, and ?limitBytes=<number>
2015-09-21 15:39:32 -04:00
k8s-merge-robot 7425cd5a22 Merge pull request #14209 from nikhiljindal/deploymentController
Auto commit by PR queue bot
2015-09-18 22:51:47 -07:00
k8s-merge-robot 5de212ed29 Merge pull request #14134 from eparis/string-set-intersection
Auto commit by PR queue bot
2015-09-18 21:24:28 -07:00
nikhiljindal 89e9691080 Adding scale up/down code to DeploymentController 2015-09-18 19:24:16 -07:00
k8s-merge-robot 8d7038eef0 Merge pull request #13825 from rootfs/path_len
Auto commit by PR queue bot
2015-09-18 14:44:33 -07:00
markturansky fcb8f4e719 added unsupported for non-linux platforms 2015-09-18 12:50:13 -04:00
Huamin Chen 29bd6e738d review feedback
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-09-18 10:50:30 -04:00
k8s-merge-robot 73d71d6a67 Merge pull request #14096 from mvdan/util-duration
Auto commit by PR queue bot
2015-09-18 00:20:43 -07:00
k8s-merge-robot 755ff241e3 Merge pull request #14109 from BugRoger/replace_file_with_lsblk_command_for_volume_checks
Auto commit by PR queue bot
2015-09-17 23:39:50 -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
Alex Mohr bdfd469a85 Merge pull request #14137 from caesarxuchao/13823
rebase 13823
2015-09-17 15:25:52 -07:00
k8s-merge-robot c1eb1a1b2f Merge pull request #13791 from fgrzadkowski/fix_secrets_in_docker
Auto commit by PR queue bot
2015-09-17 15:13:29 -07:00
Kris f4ad00d9ae Moving Status object to a common package 2015-09-17 14:09:53 -07:00
Eric Paris fc9d3c9de2 pkg/util/sets: add Intersection function
I actually want to use this over in kubernetes/contrib
2015-09-17 16:17:11 -04:00
Filip Grzadkowski 7fe34f2050 Introduce nsenter writer for volume plugins 2015-09-17 16:40:29 +02:00
Huamin Chen ad308cdf45 review feedback: remove RemoveAllSkipMountPoints since ReadDirNoExit already filters bad mountpoints
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-09-17 10:04:06 -04:00
Michael Schmidt 57f89da69a Fix to detect unformatted volumes in CoreOS
The `file` command used here to check whether a device is formatted is not
available for CoreOS. The effect is that the mounter tries to mount an
unformatted volume which fails. This makes it quite tedious to use persistent
volumes in CoreOS.

This patch replaces the `file` command with `lsblk` which is available in
CoreOS. I checked that it's also available on RHEL, Debian, Ubuntu and SLES.
2015-09-17 15:25:23 +02:00
feihujiang 51f59f3c78 Fix the wrong path of document 2015-09-17 20:38:08 +08:00
k8s-merge-robot 22f698f5b0 Merge pull request #13953 from liguangbo/change_iff_to_if_and_only_if
Auto commit by PR queue bot
2015-09-16 08:35:20 -07:00
liguangbo 4df68f03a3 change iff to if and only if to improve annotation readability 2015-09-16 08:29:36 +00:00
Jeff Lowdermilk 20e127028f Merge pull request #12396 from danwinship/iptables
Update util/iptables to deal with firewalld
2015-09-15 17:54:16 -07:00
markturansky bd4705c414 rebased and changed io helpers to use new API groups 2015-09-15 13:26:49 -04:00
markturansky 7bc55b5aea configurable pv recyclers 2015-09-15 12:48:25 -04:00
Dan Winship 8bc9c40796 Watch for firewalld restart, to allow reloading iptables rules 2015-09-15 11:17:40 -04:00
Huamin Chen 45d4f7d6c2 Opening Pod volume dir could fail if for instance the directory has stale handle or directory is busy.
In such case, don't exit if the directory cannot be opened.

Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-09-14 14:43:44 -04:00
Huamin Chen adf59896e0 when kubelet removes pod dir, it should skip those that still have unmounted volumes
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-09-14 13:50:08 -04:00
tummychow a21c52a766 Move util/validation files to their own package 2015-09-13 00:46:52 -07:00
k8s-merge-robot 5ed8400642 Merge pull request #13628 from MikaelCluseau/wip-hairpin
Auto commit by PR queue bot
2015-09-11 17:45:46 -07:00
k8s-merge-robot 5bafcc2167 Merge pull request #13007 from jackgr/diff_and_patch
Auto commit by PR queue bot
2015-09-11 15:27:14 -07:00
Mike Danese 3758a01ced Merge pull request #13755 from ArtfulCoder/shufflestrings
ShuffleStrings uses a seeded rand object
2015-09-11 14:48:53 -07:00
Mikaël Cluseau 1ab520a59b pkg/util/exec: allow mocking of LookPath 2015-09-12 08:43:45 +11:00
Mike Danese b0457bee94 Merge pull request #13058 from mvdan/go1.5
Race condition and test fixes
2015-09-10 15:10:19 -07:00
jackgr 3ecb1bac83 Add method to create strategic merge patch. 2015-09-10 14:01:07 -07:00
tummychow 78ce5da988 Move util.StringSet into its own package
A lot of packages use StringSet, but they don't use anything else from
the util package. Moving StringSet into another package will shrink
their dependency trees significantly.
2015-09-10 12:04:15 -07:00
Daniel Martí 5f3aff2c43 Fix struct input test in jsonpath 2015-09-10 11:44:13 -07:00
Abhishek Shah da06ecfc1f ShuffleStrings uses a seeded rand object 2015-09-09 12:08:57 -07:00
Dai Zuozhuo 2e2ef3e830 change -o template to -o go-template=... 2015-09-05 22:30:47 +08:00
Dai Zuozhuo 9ccceac5e8 sort jsonpath_test results 2015-09-05 22:29:35 +08:00
Andy Goldstein c83786979c Various exec fixes
If stdin is noninteractive, the io.Copy from stdin to remoteStdin will
unblock when it finishes reading from stdin. In this case, make sure to
close remoteStdin so the server knows the client won't be sending any
more data. This ensures that the remote process terminates. For example:

echo foo | kubectl exec -i <pod> -- cat

Without this change, the `cat` process never terminates and `kubectl
exec` hangs.

Fix interactive exec sessions hanging after you type 'exit'.

Add e2e test to cover noninteractive stdin: `echo a | kubectl exec -i <pod>
cat`

Add e2e test to cover psuedo-interactive stdin: `kubectl exec -i <pod> bash`

Prep for sending multiple data frames over multiple streams in remote command
test, which is more likely to find flakes (requires bump of spdystream
once an issue with the frame worker queues not being fully drained when
a goaway frame is received).
2015-09-04 10:40:53 -04:00
Abhi Shah 228517e634 Merge pull request #13536 from brendandburns/util
Add Forever, syntactic sugar on Until
2015-09-03 11:12:34 -07:00
Brendan Burns 5048464445 Add Forever, syntactic sugar on Until 2015-09-02 16:49:05 -07:00
Brendan Burns 31454d0f46 Merge pull request #12705 from brendandburns/kubectl
Add a printer that knows how to print user-defined columns
2015-09-02 09:47:34 -07:00
Brendan Burns ac958e5320 Merge pull request #12513 from brendandburns/tc2
integrate bandwidth shaping and the kubelet.
2015-09-02 09:44:10 -07:00
k8s-merge-robot 345340ba49 Merge pull request #13489 from nikhiljindal/defaultDeployment
Auto commit by PR queue bot
2015-09-02 07:59:42 -07:00
k8s-merge-robot dd5f970679 Merge pull request #13446 from fgrzadkowski/fix_docker_multinode_doc
Auto commit by PR queue bot
2015-09-02 06:48:56 -07:00
nikhiljindal 30a58321e8 Adding defaults to Deployment 2015-09-01 23:48:34 -07:00
k8s-merge-robot 3d51f524b5 Merge pull request #13386 from danwinship/iptables-w
Auto commit by PR queue bot
2015-09-01 13:07:57 -07:00
Brendan Burns de14623775 Add a printer that knows how to print user-defined columns 2015-09-01 10:11:13 -07:00
Brendan Burns e5140150df Merge pull request #13410 from danwinship/dbus
Add a mockable dbus interface to pkg/util
2015-09-01 10:01:17 -07:00
Filip Grzadkowski 1a9b0d6018 Fix mounting volumes in docker based kubernetes setup. 2015-09-01 16:42:23 +02:00
Dan Winship 37942f16a6 Add a mockable dbus interface to pkg/util 2015-08-31 18:00:35 -04:00
Jordan Liggitt b5e8f7aa41 Recover panics in finishRequest, write correct API response 2015-08-31 14:55:18 -04:00
Dan Winship 1d90c6d537 Use iptables --wait flag if available
Use iptables --wait (if available) to avoid race conditions with
util.iptables failing if it tries to modify the tables at the same
time as another process.
2015-08-31 10:00:19 -04:00
Dan Winship 6bab1adfd1 Check iptables for -C flag at construct time
Also, reorganize the code a bit in preparation for checking for
another flag as well. And, if semver.NewVersion() returns an error, it
means there's a bug in the code somewhere (we should only ever be
passing it valid version strings), so just log that error rather than
returning it to the caller.
2015-08-31 09:54:57 -04:00
Dan Winship a41e422600 Drop the "v" from GetIptablesVersionString() output
Neither of its callers wants it
2015-08-31 09:54:57 -04:00
Dan Winship 97a2cbc6ef Fix some incorrect test debug output on error 2015-08-31 09:54:57 -04:00
Brendan Burns 9f3ef68ebc integrate bandwidth shaping and the kubelet. 2015-08-30 22:24:09 -07:00
nikhiljindal 92f373a4b6 Validate deployment 2015-08-28 12:47:33 -07:00
Yu-Ju Hong a5fe33b8a3 Merge pull request #8530 from swagiaal/add-fomat-and-mount
Support formatting and mounting GCE PD without 'safe_format_and_mount'
2015-08-26 15:12:06 -07:00
Yu-Ju Hong d839ab2024 Merge pull request #12940 from Miciah/Warning-to-Warningf
glog.Warning -> glog.Warningf
2015-08-26 13:36:05 -07:00
Sami Wagiaalla ab0258f259 Support formatting and mounting GCE PD without 'safe_format_and_mount'
The GCE PD plugin uses safe_format_and_mount found on standard GCE images:

https://github.com/GoogleCloudPlatform/compute-image-packages/blob/master/google-startup-scripts/usr/share/google/safe_format_and_mount

On custom images where this is not available pods fail to format and
mount GCE PDs. This patch uses linux utilities in a similar way to the
safe_format_and_mount script to format and mount the GCE PD and AWS EBC
devices. That is first attempt a mount. If mount fails try to use file to
investigate the device. If 'file' fails to get any information about
the device and simply returns "data" then assume the device is not
formatted and format it and attempt to mount it again.

Signed-off-by: Sami Wagiaalla <swagiaal@redhat.com>
2015-08-26 11:53:40 -04:00
Yu-Ju Hong 9f508e9422 Merge pull request #13076 from invenfantasy/master
Cleanup deprecated Forever function
2015-08-25 10:07:10 -07:00
Nikhil Jindal 8846c841a8 Merge pull request #12648 from samsabed/crashloop
back off restarts of crashlooping containers
2015-08-24 18:54:13 -07:00
Christian Stewart 3a23bee9ad
always select non link-local interface, fixes #11961
The API server will refuse to start if a link-local IP address is selected, however, ChooseNetworkInterface can still select link-local network routes. This causes a startup failure on platforms like DigitalOcean that use a link-local route to fetch metadata.

Signed-off-by: Christian Stewart <christian@paral.in>
2015-08-24 14:49:19 -04:00
Sam Abed 995cb15bb6 back off restarts of crashlooping containers
Signed-off-by: Sam Abed <samabed@gmail.com>
2015-08-24 21:43:17 +10:00
caogaojin 60cb4406e9 Cleanup deprecated Forever function
Since util.Forever function has been deprecated, we should cleanup these
pieces of code.
2015-08-24 10:31:59 +08:00
Jerzy Szczepkowski 9d058c9e52 Commented-out flaky case of json path test.
Commented-out flaky case of json path test. Related to #13024.
2015-08-21 13:47:04 +02:00
Eric Paris bcf912667b Use pflag functions instead of ours. 2015-08-20 15:00:55 -07:00
Saad Ali 2f1edf7db5 Merge pull request #12839 from difro/archaic_iptables
Fix dup rule generation with older iptables
2015-08-20 14:33:19 -07:00
Saad Ali 489e75e073 Merge pull request #12202 from daizuozhuo/kubectl
add jsonpath to kubectl
2015-08-20 14:31:45 -07:00
Saad Ali 5ec3c78190 Merge pull request #8366 from justinsb/idempotent_loadbalancer
Make LoadBalancer creation more self-healing; don't delete on AWS
2015-08-20 14:30:55 -07:00
Jihoon Chung 837edf850d Fix dup rule generation with older iptables
With older iptables binary, kube-proxy generates duplicate
iptables rules in NAT table every few seconds.

This fixes the problem by properly unquoting && parsing
older iptables-save output.
2015-08-20 14:24:35 +09:00
Dai Zuozhuo 85972c44a4 jsonpath user guide docs 2015-08-20 09:11:04 +08:00
Dai Zuozhuo b61a905b19 add jsonpath to kubectl 2015-08-20 08:57:24 +08:00
Saad Ali 8a43bd621e Merge pull request #12745 from eparis/even-less-dash-false-positive
verify-flags-underscore.py: Even fewer dash false positives
2015-08-19 17:03:29 -07:00
Miciah Masters 8aa299da90 glog.Warning -> glog.Warningf
Fix three places where glog.Warning is used with a formatted string.
2015-08-19 16:22:28 -04:00
Saad Ali b05cab0bc5 Merge pull request #6945 from eparis/IsMountPoint
Rename IsMountPoint to IsLikelyNotMountPoint
2015-08-19 12:47:51 -07:00
Tim Hockin 3d309700d0 Make iptables use semver lib 2015-08-17 20:57:44 -07:00
Eric Paris 055d648ed7 Change log_flush_frequency to use -
Since we have the rename, we don't need our declaration to look like
glog's.
2015-08-17 11:19:31 -07:00
Justin Santa Barbara cb38b02f2c Add unit test for StringSet Equal 2015-08-17 08:58:46 -04:00
Justin Santa Barbara 924350d5f6 AWS: Make load balancer creation idempotent on AWS
This turned out to be a little convoluted, but is needed because deleting an ELB on AWS
is a painful UX - it won't have the same endpoint when it is recreated.

Also started splitting the provider into files, but only for new functions (so far!)
2015-08-17 08:58:46 -04:00
Marek Grabowski 2816632cad Merge pull request #11996 from jayunit100/maxTimes
Fix maxTimes comment to clarify infinit waits
2015-08-17 11:57:44 +02:00
Eric Paris f125ad88ce Rename IsMountPoint to IsLikelyNotMountPoint
IsLikelyNotMountPoint determines if a directory is not a mountpoint.
It is fast but not necessarily ALWAYS correct. If the path is in fact
a bind mount from one part of a mount to another it will not be detected.
mkdir /tmp/a /tmp/b; mount --bin /tmp/a /tmp/b; IsLikelyNotMountPoint("/tmp/b")
will return true. When in fact /tmp/b is a mount point. So this patch
renames the function and switches it from a positive to a negative (I
could think of a good positive name). This should make future users of
this function aware that it isn't quite perfect, but probably good
enough.
2015-08-14 18:45:43 -04:00
Wojciech Tyczynski 4516eeba81 Merge pull request #12594 from liggitt/status_field
Limit field errors to a single field name
2015-08-13 08:35:02 +02:00
Brendan Burns 99b8df1812 Add field based sorting to the kubectl command line. 2015-08-12 16:51:36 -07:00
Jordan Liggitt d7a50c4778 Limit field errors to a single field name 2015-08-12 14:10:26 -04:00
BenTheElder ae569e20b5 Partially Implement #3760 2015-08-12 02:39:15 -04:00
Kris Rousey 565189f5b8 Correcting all go vet errors 2015-08-11 13:55:37 -07:00
Alex Robinson d6b7fcc69f Merge pull request #11988 from brendandburns/tc
Add some utilities for limiting bandwidth using 'tc'
2015-08-10 14:23:04 -07:00
Alex Robinson 11fcd3bb39 Merge pull request #12478 from eparis/use-pflag-network
Use pflags for net.IP and net.IPNet instead of custom flag types
2015-08-10 11:55:54 -07:00
Brendan Burns dcd6b00d83 Add a package for bandwidth control 2015-08-10 11:24:02 -07:00
Eric Paris f3282ff4d2 Use pflag IPNet instead of our own helpers
Since pflag can handle net.IPNet arguements use that code. This means
that our code no longer has casts back and forth and just natively uses
net.IPNet.
2015-08-10 10:15:08 -04:00
Eric Paris fe6b633e2a Convert for util.IP to just use a net.IP
pflag can handle IP addresses so use the pflag code instead of doing it
ourselves. This means our code just uses net.IP and we don't have all of
the useless casting back and forth!
2015-08-10 10:15:05 -04:00
Veres Lajos 9f77e49109 typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01:00
Satnam Singh c3b72dd0e0 Merge pull request #12416 from BenTheElder/iptables_save_restore
Add Save, SaveAll, Restore, RestoreAll to pkg/util/iptables
2015-08-07 16:37:20 -07:00
BenTheElder 5867fca8bf Fix iptables Interface mocking, move Restore/RestoreAll to shared impl
also put TODO for unit tests, move defer file deletion until after file
creation error is checked.
2015-08-07 19:08:21 -04:00
BenTheElder 6b3906b07e Add Save, SaveAll, Restore, RestoreAll to pkg/util/iptables
Adds utility wrappers for `iptables-save` and `iptables-restore` to the
iptables Interface in pkg/util/iptables. Also const’s command strings.
2015-08-07 16:55:14 -04:00
Ananya Kumar 6ef3de1d5f Add QoS support on node 2015-08-07 11:18:16 -07:00
Eric Paris 7cbb52ce04 Use the pflag StringSlice instead of implementing it ourselves
Saves code and makes our code easier to read because we just use normal
[]string instead of custom type.
2015-08-06 19:16:13 -04:00
Stef Walter cd30bd6167 util: Add util.Umask wrapper
This function compiles to a stub on Windows.
2015-08-06 11:39:29 +02:00
Mike Danese 17defc7383 run gofmt on everything we touched 2015-08-05 17:52:56 -07:00
Mike Danese 8e33cbfa28 rewrite go imports 2015-08-05 17:30:03 -07:00
Alex Mohr 159ba48932 Merge pull request #12238 from eparis/godeps
Auto commit by PR queue bot
2015-08-05 01:06:11 -07:00
Eric Paris a29789d60e Switch from to code.google.com/p/go-uuid/uuid to github.com/pborman/uuid 2015-08-04 20:13:07 -04:00
Manan Saraf b2ebfeef25 Fixed empty name error and also changed tests 2015-08-04 14:09:42 -07:00
Chao Xu 18d32751fd improve the error message of update pod 2015-08-02 13:41:53 -07:00
Mike Danese 12b9da8f3d Merge pull request #9976 from smarterclayton/nsenter_mount_broken
Fix mount issues in containerized Kubelet
2015-07-31 17:15:28 -07:00
Brendan Burns c752bc6ffb Merge pull request #11738 from daizuozhuo/master
JSONPath template language
2015-07-31 09:48:47 -07:00
jayunit100 3b295ee342 Fix maxTimes comment to clarify infinity waits and add a PollInfinite function. 2015-07-29 19:04:51 -04:00
Mike Danese daa6d4dde6 Merge pull request #11285 from liggitt/ca
Use self-signed cert as CA for local-up-cluster.sh
2015-07-29 11:13:23 -07:00
Dai Zuozhuo 949704af2c jsonpath template 2015-07-28 10:17:56 +08:00
Mike Danese 8b990263e9 Merge pull request #11057 from liggitt/close_body
Close resp.Body before returning error
2015-07-24 09:57:23 -07:00
Mike Danese d6796ecd38 Merge pull request #11333 from deads2k/passthrough-errors
pass along status errors for upgrades
2015-07-24 09:49:34 -07:00
Jordan Liggitt 5893f1c5b6 Use self-signed cert as CA for local-up-cluster.sh 2015-07-24 07:16:07 -07:00
saadali 234f3ed814 Make GCE PD attach block on pending detach. Retry on detach/attach errors. 2015-07-23 14:03:50 -07:00
Jordan Liggitt 39a5e1b929 Close resp.Body before returning error 2015-07-23 10:45:55 -07:00
Wojciech Tyczynski bff2e01994 Merge pull request #11731 from smarterclayton/better_error
Update the error message to be idiomatic
2015-07-23 16:09:24 +02:00
Clayton Coleman f5d040ec31 Update the error message to be idiomatic
Trim trailing newline (since this is likely to show up in a CLI)
2015-07-22 22:38:24 -04:00
Mike Danese fdb5cefae7 fix unit test breakage by adding seed method to util/rand 2015-07-22 15:01:51 -07:00
Mike Danese a558edf036 Revert "Revert "Move rand string func to util for reuse""
This reverts commit acebe24bf3.
2015-07-22 15:01:28 -07:00
Vish Kannan acebe24bf3 Revert "Move rand string func to util for reuse" 2015-07-22 12:51:29 -07:00
Vish Kannan 550203b3a3 Merge pull request #9162 from thockin/rand-util
Move rand string func to util for reuse
2015-07-22 11:08:47 -07:00
deads2k 98d6b454f3 pass along status errors for upgrades 2015-07-15 15:53:29 -04:00
Joe Beda c15953662e Fix up alignment of columns w/ namespaces.
Fixes #10842

All issues for types that use "extra lines" for extended information.  Two issues fixed: (1) When namespaces are listed an extra column isn't inserted for extra lines and (2) trailing tabs aren't inserted when label columns are specified.

This code should probably move to a more explicit model of putting data into "cells".

The test for this hits https://github.com/golang/go/issues/6416 and so I introduced a "LineDelimiter" writer filter to make white space more visible.
2015-07-09 08:59:32 -07:00
Eric Paris cde68d294b Do not create subject alt dns names for kubelet self signed certs
PR #10643 Started adding the dns names for the kubernetes master to self
sign certs which were created. The kubelet uses this same code, and thus
the kubelet cert started saying it was valid for these name as well.
While hardless, the kubelet cert shouldn't claim to be these things. So
make the caller explicitly list both their ip and dns subject alt names.
2015-07-04 23:01:01 -04:00
Nikhil Jindal 05ce0472e9 Merge pull request #10643 from eparis/self-sign-cert-san
Add Subject Alt Names to self signed apiserver certs
2015-07-02 12:21:22 -07:00
Wojciech Tyczynski 2f4574167d Merge pull request #10561 from smarterclayton/make_empty_public
Make util.empty public for conversions
2015-07-02 09:31:25 +02:00
Eric Paris 7a29af4d2c Add Subject Alt Names to self signed apiserver certs
A cert from GCE shows:
- IP Address:23.236.49.122
- IP Address:10.0.0.1
- DNS:kubernetes,
- DNS:kubernetes.default
- DNS:kubernetes.default.svc
- DNS:kubernetes.default.svc.cluster.local
- DNS:e2e-test-zml-master

A similarly configured self signed cert shows:
- IP Address:23.236.49.122
- IP Address:10.0.0.1
- DNS:kubernetes
- DNS:kubernetes.default
- DNS:kubernetes.default.svc

So we are missing the fqdn kubernetes.default.svc.cluster.local. The
apiserver does not even know the fqdn! it's defined entirely by the
kubelet! We also do not have the cluster name certificate. This may be
--cluster-name= argument to the apiserver but will take a bit more
research.
2015-07-01 17:05:17 -04:00
Clayton Coleman 8d189245fb Make util.empty public for conversions
Some downstream components want to use a StringSet in their internal
objects, but leaving util.empty private means that generated conversions
cannot create constructors generically for those objects.  This makes
Empty public until such a time as the generator supports private types.
2015-07-01 16:12:15 -04:00
Zach Loafman 03be2f3f0b Merge pull request #10545 from liggitt/rate_limit
Switch to token bucket rate limiter with better performance
2015-07-01 08:36:19 -07:00
Wojciech Tyczynski 5965e82a3a Merge pull request #10500 from lavalamp/etcdChanFix
Fix logging.
2015-07-01 11:47:22 +02:00
Zach Loafman 2884446c50 Merge pull request #10443 from bprashanth/sort_rc
Handle overlapping controllers semi-deterministically
2015-06-30 15:56:54 -07:00
Zach Loafman 7df8d76a93 Merge pull request #10169 from saad-ali/fixPDIssue2
Work around for PDs stop mounting after a few hours issue
2015-06-30 15:47:21 -07:00
saadali c952ee23a7 Work around for PDs stop mounting after a few hours issue 2015-06-30 13:31:03 -07:00
Tim Hockin 15766bfbbc Don't repeat field name in errors 2015-06-30 11:58:21 -07:00
Daniel Smith eabc344eed Fix logging; extend queue length to 100 2015-06-30 10:27:24 -07:00
Jordan Liggitt f265d5c5ee Switch token bucket rate limiter to github.com/juju/ratelimit 2015-06-30 10:34:41 -04:00
Prashanth Balasubramanian 90ebc1ad29 Sort overlapping rcs 2015-06-29 15:30:19 -07:00
Clayton Coleman 93b14b9ede Search the parent FS for the proper binaries 2015-06-26 14:48:22 -04:00
Clayton Coleman fa7000a5bc Use nsenter on PATH in container, and separate args
nsenter needs '--' to separate calls
2015-06-26 14:28:08 -04:00
Robert Bailey 54a3ebef3c Merge pull request #10315 from nikhiljindal/invalidValue
Updating the "invalid value" error message to include the list of valid values
2015-06-26 10:46:59 -07:00
Maxwell Forbes 712f303350 Merge pull request #9736 from sdminonne/bug_fix2
To add validation for service ports when defined as string
2015-06-25 19:37:04 -07:00
Maxwell Forbes 5e748c1d47 Merge pull request #10070 from lavalamp/e2eProxyFix
proxy e2e test improvements
2015-06-25 13:15:03 -07:00
nikhiljindal 3b3ee0ed77 Improving an error message 2015-06-25 13:08:09 -07:00
Maxwell Forbes 655179dcfb Merge pull request #10264 from mikedanese/ca-token
add ca cert to token controller and all service accounts
2015-06-25 09:56:35 -07:00
Tim Hockin 7874743a43 Move rand string func to util for reuse 2015-06-24 21:13:42 -07:00
Dawn Chen 710fb4e413 add iptables rule for MASQUERADE for egress 2015-06-24 17:19:57 -07:00
Mike Danese 56bde3342a add ca to token controller and all service accounts 2015-06-24 15:10:20 -07:00
Daniel Smith ddbe4c914f Fix proxy rewriting 2015-06-24 13:54:14 -07:00
Dawn Chen 6ddfa512de Revert "Revert "Fix the race between configuring cbr0 and restarting static pods""
This reverts commit fd0a95dd12.
2015-06-24 11:10:10 -07:00
Piotr Szczesniak fd0a95dd12 Revert "Fix the race between configuring cbr0 and restarting static pods" 2015-06-24 09:56:49 +02:00
Dawn Chen 23200d303f Fix several issues on running syncPods until network is configured.
Also fixed unittests and compiling.
2015-06-23 12:11:19 -07:00
Jeff Lowdermilk 85770295c2 Merge pull request #10004 from ArtfulCoder/kubelet_health
Augmented kubelet healthz with syncLoop check.
2015-06-22 10:53:05 -07:00
Salvatore Dario Minonne 4b13faa346 To add validation for service ports when defined as string (fixing issue #9734) 2015-06-22 17:21:51 +02:00
Justin Santa Barbara c5f9085398 Mark realSSHDialer as implementing sshDialer 2015-06-20 18:18:38 -04:00
Justin Santa Barbara efdd03a6a9 Don't assume we always SSH as the current user
This works on gcloud (where the user is dynamically created by the tool),
but doesn't hold on other clouds (e.g. AWS).

The function in pkg/util now takes a user arg, and it is called only
from the e2e tests, which now check for env-var KUBE_SSH_USER, and then
fall back to the existing behaviour of env-var USER.

I am using this from Jenkins by directly setting the env-var:

export KUBE_SSH_USER=jenkins
...
hack/jenkins/e2e.sh
2015-06-20 18:18:38 -04:00
Abhishek Shah 3556993179 Augmented kubelet healthz with syncLoop check.
Monit uses read-only port for health monitoring.
2015-06-19 18:14:01 -07:00
Satnam Singh f83d5356d7 Merge pull request #9987 from mbforbes/livingUpgrade
Node upgrade test
2015-06-19 10:02:52 -07:00
markturansky 450002a52e Fixed formatting of error message 2015-06-19 11:21:57 -04:00
Satnam Singh d8e5225144 Merge pull request #10069 from lavalamp/sshLockingFix
fix locking around ssh tunnels
2015-06-18 17:50:06 -07:00
Daniel Smith 4126622388 fix locking around ssh tunnels 2015-06-18 16:52:10 -07:00
Satnam Singh 42fd7b4b68 Merge pull request #9806 from manansaraf/patch_error
Fixed pointers bug in PATCH verb in the API
2015-06-18 16:13:38 -07:00
Max Forbes 2803fbe343 Node upgrade tests. 2015-06-18 15:59:51 -07:00
CJ Cullen 15596ede41 Make AddSSHKeys a controller loop. Make sure master's always initializes m.tunnels. 2015-06-17 17:46:27 -07:00
Saad Ali f8e58f7efe Merge pull request #9827 from timstclair/html-rewrite
Html rewrite
2015-06-17 11:35:30 -07:00
Tim St. Clair 49b8c975d8 Update the URL-rewriting logic to make minimal modifications.
The new approach avoids building a complete parse tree, instead using the lower level token stream. Doing so removes the need for creating "missing" HTML elements, reducing the collateral changes to the rewritten HTML.

Resolves: #9766
2015-06-16 14:15:11 -07:00
Manan Saraf 86025129fb Fixed pointers bug in PATCH verb in the API 2015-06-16 13:31:49 -07:00
Brendan Burns 96c244eacf Merge pull request #9848 from cjcullen/fwfix
Fix mislooping in ssh.go. Add retries to AddSSHKeys.
2015-06-16 11:10:30 -07:00
Saad Ali 5596e6f789 Merge pull request #9493 from marekbiskup/testAddonUpdate
e2e test for addon upgrade
2015-06-16 10:50:15 -07:00
CJ Cullen 48f672af92 Change SSHTunnelList to struct to make Open() semantics better. 2015-06-16 10:36:38 -07:00
CJ Cullen 4d5d0457ef Fix mislooping in ssh.go. Add retries to AddSSHKeys. 2015-06-16 00:08:37 -07:00
Brendan Burns a6652a0e98 Merge pull request #9834 from cjcullen/fwfix
Fix crashes in ssh-tunnel code.
2015-06-15 20:25:32 -07:00
Fabio Yeon bcf5cffa1a Merge pull request #9768 from timstclair/proxy-rel
Don't rewrite relative URLs when proxying HTTP content.
2015-06-15 19:54:18 -07:00
CJ Cullen 66fb8ccb02 Add ssh tunnel-open metrics 2015-06-15 17:28:54 -07:00
CJ Cullen faa9313eea Fix several potential crashes in sshtunnel open/close code. 2015-06-15 14:38:37 -07:00
Marek Biskup dcc4034d57 e2e test for addon update 2015-06-15 17:37:24 +02:00
Tim St. Clair fd7d46e9da Don't rewrite relative URLs when proxying HTTP content. 2015-06-12 21:30:29 -07:00
BenTheElder c5baf1f284 Export GetIptablesVersion utility in util/iptables
For kube-proxy to determine whether to use pure iptables as in
https://github.com/GoogleCloudPlatform/kubernetes/issues/3760
Related WIP PR:
https://github.com/GoogleCloudPlatform/kubernetes/pull/9210
2015-06-12 17:13:40 -04:00
krousey f62a2a1bb6 Merge pull request #9451 from cjcullen/mig
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
2015-06-09 15:52:12 -07:00
krousey 43a423f6fc Merge pull request #9440 from brendandburns/ssh
Add an initial test for SSH.
2015-06-09 12:08:26 -07:00
krousey 9740105a99 Merge pull request #8837 from mbforbes/rollingTest
E2E test node upgrade (to same version)
2015-06-09 10:42:17 -07:00
Brendan Burns 2240486110 Add an initial test for SSH. 2015-06-08 20:53:05 -07:00
CJ Cullen 2d85e4a094 Use Node IP Address instead of Node.Name in minion.ResourceLocation.
Refactor GetNodeHostIP into pkg/util/node (instead of pkg/util to break import cycle).

Include internalIP in gce NodeAddresses.
2015-06-08 16:58:00 -07:00
CJ Cullen 04cd9b3c75 Make sshproxy use a hostmount on master PD (don't spam sshKeys on upgrade/reboot).
Add comment describing what SSHTunnelList.Close() does.
Simplify util.FileExists.
2015-06-05 15:03:03 -07:00
CJ Cullen cb317604ab Some refactoring. Only selectively use ssh proxy.
Add NetworkName to gce.Config.
Add locking to uses of master.tunnels.
2015-06-05 14:55:16 -07:00
CJ Cullen 1ae8801387 Fix transport creation logic.
Refactor loadTunnels to allow one path for load, another for refresh.
Make SSHTunnelList.Close sleep for a minute before actually closing each tunnel.
2015-06-05 14:55:16 -07:00
Brendan Burns 5115fd5703 Add key generation. 2015-06-05 14:55:15 -07:00
Brendan Burns 30a89968a4 Initial proxy tunnelling. 2015-06-05 14:54:20 -07:00
Quinton Hoole 8b01ecb53a Merge pull request #9024 from markturansky/recyc_controllers
PersistentVolumeRecycler controller
2015-06-05 11:39:08 -07:00
markturansky 986cbb56d4 Recycling HostPath and NFS impls 2015-06-04 15:46:03 -04:00
Brian Grant f72fa67924 Revert "Use Node IP Address instead of Node.Name in minion.ResourceLocation." 2015-06-03 18:19:22 -07:00
Max Forbes a6c47a07de E2E test node upgrade (to same version) 2015-06-03 17:05:45 -07:00
CJ Cullen 4e5d0da839 Use Node IP Address instead of Node.Name in minion.ResourceLocation.
Refactor GetNodeHostIP into pkg/util/node (instead of pkg/util to break import cycle).

Include internalIP in gce NodeAddresses. Remove NodeLegacyHostIP
2015-06-02 20:01:49 -07:00
Eric Tune c1d0a48075 Merge pull request #8912 from justinsb/volumes_kubelet_root_not_symlink
Ensure kubelet root is not a symlink
2015-06-01 09:24:32 -07:00
Justin Santa Barbara c4a2631593 Mount logic breaks if /var/lib/kubelet is a symlink
Pass the correct kubelet root-dir on AWS
2015-05-29 20:13:09 -04:00
Justin Santa Barbara 9839253233 Add logging to volume tear-down to help understand mount behaviour 2015-05-29 20:11:13 -04:00
Rohit Jnagal 0cbd4beb63 Merge pull request #8886 from csrwng/fix_proxy_url_slash
Fix proxying of URLs that end in "/" in the pod proxy subresource
2015-05-29 16:28:41 -07:00
Rohit Jnagal d34d00c288 Merge pull request #8898 from brendandburns/tunnel
Move SSH code into a common util package.  Add support for SSH tunnels.
2015-05-29 14:48:37 -07:00
Tim Hockin 4318ca5a8b Rename 'portal IP' to 'cluster IP' most everywhere
This covers obvious transforms, but not --portal_net, $PORTAL_NET and
similar.
2015-05-28 16:10:44 -07:00
Cesar Wong 684dcd4307 Fix proxying of URLs that end in "/" in the pod proxy subresource
Also handles proxying of URLs that have an empty path and don't end in a slash "/" by redirecting to the same location with a slash appended.
2015-05-27 22:12:55 -04:00
Brendan Burns a51747f941 Move SSH code into a common util package. Add support for SSH tunnels. 2015-05-27 16:58:52 -07:00
Anastasis Andronidis 5eae2378d6 Warn for every _ flag user or cmd defined
also renames all global _ flags to -
2015-05-27 11:23:52 +02:00
Saad Ali 7493ed0fca Merge pull request #8786 from pmorie/secret-tests
Add tests for secret volume plugin reboot/idempotency
2015-05-26 09:57:31 -07:00
Filip Grzadkowski 967b1b95ba Add very simple tracing mechanism for easier debugging of slow requests. 2015-05-26 16:17:18 +02:00
Paul Morie feb0880b1e Add tests for secret volume plugin reboot/idempotency 2015-05-25 13:34:07 -04:00
Justin Santa Barbara 1ad4549f5f Proxy infrastructure for NodePorts
A service with a NodePort set will listen on that port, on every node.

This is both handy for some load balancers (AWS ELB) and for people
that want to expose a service without using a load balancer.
2015-05-22 17:21:49 -04:00
Victor Marmol 0e804b03a4 Merge pull request #8220 from thockin/label-validation
Add test case for qname validation, fix impl
2015-05-18 08:40:56 -07:00
Justin Santa Barbara 2457c284ed Add util.PortRange, so that a port range can be a flag. Format: lo-hi 2015-05-16 15:52:57 -04:00
Tim Hockin 71d375e22f Add test case for qname validation, fix impl 2015-05-15 14:45:36 -07:00
Dawn Chen ebbb130af8 OOM protected docker processes (-900) 2015-05-14 15:49:12 -07:00
Tim Hockin b429e89251 Spec qualified names (label keys) more tightly
It can be a (DNS_SUBDOMAIN/)?label, but we were validating it
incorrectly before.
2015-05-13 13:59:16 -07:00
Robert Bailey c47b9178b4 Replace the auth config file with a kubeconfig file when
starting the kubelet on GCE.
2015-05-13 01:03:28 -07:00
Jordan Liggitt 6e570732f5 ServiceAccounts controller 2015-05-11 17:18:05 -04:00
Nikhil Jindal 48dfad6701 Merge pull request #8050 from fgrzadkowski/cache
Add cache with multiple shards to decrease lock contention
2015-05-11 10:18:34 -07:00
Paul Morie 14243d3bd6 Fix typo in nsenter_mount.go 2015-05-11 11:41:01 -04:00
Filip Grzadkowski 50de4d0081 Add cache with multiple shards to decrease lock contention 2015-05-11 15:07:50 +02:00
Yu-Ju Hong 170f426fb6 Don't use the first token `uname -n` as the hostname
This change partially reverts the change made in #7910, which takes only the
first token of `uname -n` as the hostname.
2015-05-08 10:09:06 -07:00
Abhi Shah 589154a557 Merge pull request #7821 from lavalamp/deleteEndpoints
Add old endpoint cleanup function
2015-05-07 16:54:41 -07:00
Victor Marmol 5074e98ee9 Merge pull request #7910 from yujuhong/hostname
Use the full hostname for mirror pod name.
2015-05-07 14:43:16 -07:00
Yu-Ju Hong ab5e0e0b5c Use the full hostname for mirror pod name.
This change appends the full hostname to the mirror pod name (instead of taking
the first token) so that if the hostname is overriden, we'd not be creating
unncessary name conflicts. An example would be that a user overrides the
hostnames to be "127.0.0.1" and "127.0.0.2", and both of them were resolved to
"127" for the mirror pod name suffix.

Also, because `uname -n` could return a FQDN or not, this change takes only
the first token of it as the hostname for consistency.
2015-05-07 12:59:49 -07:00
Wojciech Tyczynski 128835ec40 Merge pull request #7885 from hurf/master
Update errors_test.go
2015-05-07 10:06:26 +02:00
Victor HU f42a18d3c2 Update errors_test.go
minor change in log message
2015-05-07 15:06:15 +08:00
Daniel Smith b49dd0ad1e Add old endpoint cleanup function 2015-05-06 13:03:18 -07:00
Tomek Kulczynski 290c7b94ef Make nodecontroller configure nodes' pod IP ranges 2015-05-05 16:10:42 -07:00
Paul Morie 553265ce0c Add containerized option to kubelet binary 2015-05-05 13:10:06 -04:00
Wojciech Tyczynski bd3d853242 Merge pull request #7737 from lavalamp/fixTimeAfter
Reduce usage of time.After
2015-05-05 09:28:07 +02:00
Daniel Smith 16a6fb8ef7 Replace calls to time.After with time.NewTimer for explicit stopping 2015-05-04 14:29:33 -07:00
Quinton Hoole cd7a0e5a9f Merge pull request #7721 from smarterclayton/fix_ipv4
Select IPv4-only from host interfaces
2015-05-04 14:09:27 -07:00
Clayton Coleman c07896ee35 Merge pull request #7509 from deads2k/deads-has-any
add StringSet.HasAny
2015-05-04 16:21:33 -04:00
Clayton Coleman 166021e765 Select IPv4-only from host interfaces 2015-05-04 14:46:00 -04:00
Paul Morie e5521234e4 Add NsenterMounter mount implementation 2015-05-04 14:40:04 -04:00
Eric Paris 6b3a6e6b98 Make copyright ownership statement generic
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Vish Kannan 1dead9c670 Merge pull request #6400 from ddysher/nfs-volume-mounter
Implement Mount interface using mount(8) and umount(8)
2015-04-30 14:00:56 -07:00
deads2k f258717f26 add StringSet.HasAny 2015-04-29 16:55:43 -04:00
Eric Paris a17a26643b Update kube to support new pflag/cobra 2015-04-29 11:26:30 -04:00
Deyuan Deng 6897095e56 Change mount.Interface.Mount to exec('mount'), instead of syscall 2015-04-29 10:46:32 -04:00
Tim Hockin a3d45fada8 Change flags to use dashes in help 2015-04-27 15:11:03 -07:00
Tim Hockin 6694eff020 Use pflags word separators to make - and _ equiv. 2015-04-27 15:10:52 -07:00
Robert Bailey 137c90738e Merge pull request #7289 from kazegusuri/logging
lower log level on recovering from panic
2015-04-24 09:22:46 -07:00
Masahiro Sano 7c371ee36e lower log level on recovering from panic 2015-04-24 22:09:14 +09:00
Michal Fojtik 1d496a030e Suppress 'use of closed network connection' error in iowatcher
Signed-off-by: Michal Fojtik <mfojtik@redhat.com>
2015-04-24 14:32:00 +02:00
Filip Grzadkowski 8b755c805b Break request metrics in apiserver by client. 2015-04-24 13:16:14 +02:00
Piotr Szczesniak 27daa29753 Merge pull request #7073 from lavalamp/fix4
move port splitting to common place; add to node resource location
2015-04-21 16:10:40 +02:00
Dawn Chen 5eda3fe9a9 Remove deprecated comment. 2015-04-20 17:12:36 -07:00
Daniel Smith 27ee6ea0de move port splitting to common place; add to node resource location 2015-04-20 14:31:44 -07:00
Kenjiro Nakayama 2e702b0c61 Replace hostname -f with uname -n 2015-04-20 14:16:21 -07:00
Daniel Smith a2953fdc7e Make endpoint controller use framework 2015-04-17 15:21:51 -07:00
Daniel Smith 24a8cceb5c add work queue; test coverage 100% 2015-04-17 15:21:47 -07:00
Cesar Wong a3f5dfd0e2 Move proxy html transport to utility package
Moves the proxy html transport that translates html links
from the proxy in apiserver to its own package under util.
2015-04-16 10:20:17 -04:00
Dawn Chen d912398d07 Merge pull request #6813 from vmarmol/in-container
Run Kubelet and Kube-proxy in resource-only containers.
2015-04-15 10:37:00 -07:00
Victor Marmol 8fc3d8f7b6 Adding utility for creating resource containers.
Allows creating and running in resource-only containers.
2015-04-14 10:29:05 -07:00
markturansky f599aecc6a Fix spelling typo in comments 2015-04-14 12:46:29 -04:00
Tim Hockin c989f30a00 make DeepHashObject use SpewKeys 2015-04-10 09:38:12 -07:00
Tim Hockin 4661cedf4a Merge pull request #5709 from gmarek/client5
Add validation for Endpoint
2015-04-09 15:13:45 -07:00
Andy Goldstein 00e24603cb Fix TestServeExecInContainerIdleTimeout flake
Remove creation of stream from TestServeExecInContainerIdleTimeout as
it's not necessary to very idle timeout.

Increase stream creation and ack timeouts to 30 seconds.

Fixes #5628
2015-04-09 16:44:56 -04:00
Prashanth Balasubramanian a7864aa230 Scheduler uses TTLStore for assumed pods 2015-04-08 15:01:04 -07:00
gmarek c20efb6bae Add validation for Endpoints 2015-04-08 20:12:07 +02:00
Derek Carr 6eb54e73e0 Merge pull request #5270 from lavalamp/fix7
Controller framework
2015-04-07 16:58:09 -04:00
Cesar Wong e64d7337b3 Move flushwriter from Kubelet server to a common util package
Exposes a Wrap function to wrap a given writer into a writer that
flushes with every write if the writer also implements the io.Flusher
interface.
2015-04-07 07:46:30 -04:00
Huamin Chen 7a82af31de add iscsi volume plugin
Signed-off-by: Huamin Chen <hchen@redhat.com>
2015-04-06 16:20:28 -04:00
Rohit Jnagal bfde7e0735 Merge pull request #6429 from lavalamp/fix
Oops, let's be careful about licensing.
2015-04-06 09:20:18 -07:00
Yu-Ju Hong dbd7b186a0 Merge pull request #6338 from smarterclayton/improve_config_error
Return a typed error for config validation, and make errors simple
2015-04-03 18:08:15 -07:00
Daniel Smith 78b8f9599f Fix another license problem. 2015-04-03 17:06:29 -07:00
Brian Grant 0d95883593 Merge pull request #6027 from ghodss/kube-patch
Implement Strategic Merge Patch in apiserver
2015-04-03 15:08:51 -07:00
Sam Ghods 2c977db1b3 Implement Strategic Merge Patch in apiserver 2015-04-03 11:51:02 -07:00
Piotr Szczesniak 8bc9f5fef7 Added rate limiting to pod deletion
Fixes #6228
2015-04-03 06:58:59 +02:00
Prashanth B 3fe4224b6c Merge pull request #6314 from bparees/tokenbucket
add a blocking accept method to RateLimiter
2015-04-02 16:01:17 -07:00
Vish Kannan ee98731a2a Merge pull request #6269 from ddysher/extend-mount
Abstract IsMountPoint and improve FakeMounter
2015-04-02 15:29:38 -07:00
Daniel Smith 3fe17b93cf Begin a controller framework. 2015-04-02 15:25:58 -07:00
Ben Parees 70be667cf8 add a blocking accept method to RateLimiter 2015-04-02 14:33:18 -04:00
Clayton Coleman 28b18f416f Tone down logging in network interface choosing 2015-04-02 01:39:59 -04:00
Deyuan Deng d62afa85ff Abstract ismountpoint and use platform mounter for NFS volume 2015-04-01 23:05:02 -04:00
Jordan Liggitt c797a91e36 Add client cert authentication 2015-04-01 13:42:26 -04:00
Brian Grant 3354cffbf0 Merge pull request #6182 from thockin/plural_services_20
Implement multi-port Services
2015-03-31 12:55:21 -07:00
Paul Morie 7628b37d78 Add control over container entrypoint 2015-03-31 12:32:03 -04:00
Tim Hockin 186818d787 WIP: Implement multi-port Services 2015-03-30 19:28:11 -07:00
Tim Hockin 9ed6c95e8e Reset hash state between runs. 2015-03-25 13:44:57 -07:00
Filip Grzadkowski 7085a0cb44 Merge pull request #5508 from fgrzadkowski/validate_ips
Validate Service.Spec.publicIPs to be a valid IP that is not a localhost
2015-03-25 12:11:29 +01:00
markturansky 2fd82f60f4 Move escape function to util and clarify name 2015-03-24 13:52:31 -04:00
Jordan Liggitt a75b501821 Improve ResourceLocation API, allow proxy to use authenticated transport 2015-03-24 11:11:34 -04:00
Filip Grzadkowski 6bc1e2ef40 Add validation error explanation for long annotations. 2015-03-24 11:01:26 +01:00
Filip Grzadkowski 24eb1a08f3 Validate Service.Spec.publicIPs to be a valid IP that is not a localhost 2015-03-24 10:48:46 +01:00
Clayton Coleman d19aac80ea Merge pull request #5533 from smarterclayton/burn_yaml_with_fire
Burn YAML with fire (kind of)
2015-03-23 13:45:52 -04:00
Clayton Coleman 65425f690c Move field errors to pkg/util/fielderrors
Allows pkg/api to take a reference to labels.Selector and fields.Selector
2015-03-22 17:43:34 -04:00
Satnam Singh ec77230386 Merge pull request #5416 from smarterclayton/use_utc_serialized_and_local_otherwise
Use UTC when marshalling times and Local when unmarshalling
2015-03-20 08:32:26 -07:00
Clayton Coleman 71abc99dbe Expose a ToJSON and runtime.YAMLDecoder helper
Enables clients to optionally handle YAML
2015-03-20 00:03:56 -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
Clayton Coleman d516a86633 Use UTC when marshalling times and Local when unmarshalling
Marshal to UTC and read into Local, which means clients automatically
show local time and stored values are always consistent.
2015-03-18 17:44:35 -04:00
gmarek a3b137ce8e Cleanup of validation.go 2015-03-18 08:59:35 +01:00
Tim Hockin 50c96789e7 Add an action log to FakeMounter.
# *** ERROR: *** docs are out of sync between cli and markdown
# run hack/run-gendocs.sh > docs/kubectl.md to regenerate

#
# Your commit will be aborted unless you regenerate docs.
    COMMIT_BLOCKED_ON_GENDOCS
2015-03-13 13:33:50 -07:00
Satnam Singh b5082b2904 Merge pull request #5397 from brendandburns/master
Fix tests on OS X by re-introducing the old choose host interface
2015-03-12 14:31:31 -07:00
Brendan Burns fab2b53ccf Fix tests on OS X by re-introducing the old choose host interface
function as a fall back.
2015-03-12 12:33:06 -07:00
Brendan Burns b53b2e1de0 Add and extend timeouts. 2015-03-11 14:12:46 -07:00
Tim Hockin 52298ab851 Merge pull request #4865 from sub-mod/proxier_go_change
use ChooseHostInterface in kube-proxy
2015-03-11 08:09:32 -07:00
Subin M b8c91e7344 use ChooseHostInterface in kube-proxy 2015-03-11 13:50:53 +05:30
Rohit Jnagal 8798b0ae14 Merge pull request #5158 from thockin/use_fuzz_no_custom
Use new gofuzz features
2015-03-09 10:13:46 -07:00
Clayton Coleman 0f87337667 Kubelet tests broken on Macs with uppercase names
Hostname behavior across operating systems is inconsistent (Macs can
have uppercase host names, so can some other systems).  In general,
always strings.ToLower(os.Hostname()).
2015-03-08 23:44:32 -04:00
Tim Hockin fd1e49ce2f Use new gofuzz features 2015-03-07 00:04:14 -08:00
Daniel Smith b0f49449e1 Merge pull request #4985 from thockin/gofuzz
Update gofuzz dep
2015-03-06 10:19:01 -08:00
Tim Hockin ca265c5705 Merge pull request #4898 from gmarek/client2
Loosen label and annotation validation and related tests
2015-03-06 09:14:24 -08:00
Paul Morie 17b51a93a3 Fix mount refactor nits 2015-03-06 11:46:07 -05:00
Tim Hockin 0b38282b9b Fuzz util.Time with no nsec because JSON 2015-03-06 08:21:10 -08:00
Tim Hockin b3304c49ad Use deep spew in serialization test & go obj diff 2015-03-06 08:21:10 -08:00
gmarek 26b7fbeedf apply comments 2015-03-06 13:21:40 +01:00
gmarek bb8a4f5ed3 apply comments 2015-03-06 08:23:22 +01:00
gmarek 726a5af075 Loosen label and annotation validation and related tests 2015-03-06 08:23:22 +01:00
Paul Morie 8ef04a8425 Factor mount utility code out gce_pd volume plugin 2015-03-05 13:49:32 -05:00
Prashanth Balasubramanian 1970c2d201 Retry resizing replication controllers in kubectl 2015-03-02 20:26:41 -08:00
Yu-Ju Hong 241df2d3be kubelet: record an event with a clear reason on host port conflict
Currently, kubelet silently ignores pods that caused host port conflict. This
commit surfaces the error by recording an event.

It also makes sure that kubelet iterates through the pods in the order of the
creation timestamp, which ensures that pods created later are ignored on
conflict.
2015-02-27 15:51:53 -08:00
Vish Kannan aaa4a354d4 Merge pull request #4735 from screeley44/v1beta3_enablement
#4544 - Fix inadvertent whitespace in v1beta3 enablement
2015-02-25 10:06:11 -08:00
Brian Grant 3f69112e02 Merge pull request #4766 from mikedanese/remove-util-merge
Remove pkg/util/merge and replace with evanphx/json-patch
2015-02-25 09:22:01 -08:00
Salvatore Dario Minonne 0186acc37c Extending label.Parse method to support exact match 2015-02-25 08:52:20 +01:00
Scott Creeley 40c03b057a Fix whitespace in v1beta3 enablement 2015-02-24 14:49:54 -05:00
Mike Danese 88e1ab3cbe replace pkg/util/merge with evanphx/json-patch 2015-02-23 20:55:30 -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
Victor Marmol 2d1a8d0da0 Allow ApplyOomScoreAdj to specify what PID to adjust for. 2015-02-19 17:16:31 -08:00
Yu-Ju Hong 7379502cc9 Run gofmt for hash.go to fix formatting errors 2015-02-19 10:51:46 -08:00
rsokolowski 14e93a112b Make DeepHashObject function deterministic. 2015-02-19 16:46:19 +01:00
Mike Danese 3039f7846c implement RFC7386 JSON Merge Patch 2015-02-15 22:21:10 -08:00
Tim Hockin 063ff6677c Merge pull request #4422 from derekwaynecarr/set_difference
Set should have a difference function
2015-02-13 14:16:28 -08:00
derekwaynecarr e7a0340ad7 Set should have a difference function 2015-02-13 15:39:56 -05:00
Jeff Lowdermilk b23230e616 Merge pull request #4296 from deads2k/deads-allow-dots
allow dots in config set
2015-02-13 12:27:36 -08:00
deads2k 2dcaab75f5 allow dots in config set 2015-02-13 13:11:42 -05:00
Alex Robinson b58160c5ea Remove the unused TimeCache file and its tests. Fixes issue #4192. 2015-02-11 11:11:43 -08:00
Marek Grabowski 72a066a992 Add more information to Validator error messages. 2015-02-09 18:07:09 +01:00
Wojciech Tyczynski 524cdba101 Fix hack/test-cmd.sh test. 2015-02-05 01:58:26 +01:00
Brendan Burns ab0acae7d3 fix build on non-linux hosts. 2015-02-03 08:13:09 -08:00
Tim Hockin 1ee1702be0 Merge pull request #3808 from brendandburns/master
Add a mounter that uses google's safe_format_and_mount.
2015-02-02 16:29:10 -08:00
Brendan Burns ac21ac24fa Add a mounter that uses google's safe_format_and_mount. 2015-02-02 16:16:20 -08:00
Dawn Chen 4aac47c31d make kube-proxy.log less verbose. 2015-02-02 11:15:14 -08:00
Joe Beda e1dd6b297c Create new hyperkube package.
This is the start of an uber-binary that can morph into any server.  Eventually we'll want this to be able to launch multiple servers from a single command line.
2015-01-28 16:11:34 -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 d77743a07c gimports nits 2015-01-26 22:42:29 -08:00
Clayton Coleman 04b864a91f Allow panics and unhandled errors to be reported to external targets
It would be better if Kubernetes could be instrumented to report panics
and handled but unreturned errors in controller loops to a remote
service.  This commit introduces settable handlers for HandleCrash and a new
HandleError that can be overriden to report errors to a remote service
for analysis.  HandleError() in particular is for control loops that do
not return an error, and so there is no ability to report those errors
other than in log files.

ReplicationController is provided as an example.
2015-01-26 20:23:46 -05:00
Jeff Lowdermilk 6ba8b7dfb2 Merge pull request #3768 from deads2k/deads-make-kubectl-config-easier-alt
make kubectl config set-cluster easier to use
2015-01-26 13:13:26 -08:00
deads2k 05bc508a13 make all kubectl config set-* easier to use 2015-01-26 15:16:54 -05:00
Tim Hockin 5d73fa40aa Merge pull request #3588 from vishh/api_resources
Adding a 'Typename' strongtype for representing all resource types
2015-01-23 15:07:27 -08:00
Vishnu Kannan c32295a180 Adding a 'Typename' strongtype for representing all compute resource types. 2015-01-23 22:17:56 +00:00
Tim Hockin c292aa54c4 Merge pull request #3738 from smreed/randomize-roundrobin-endpoints
Randomize roundrobin endpoints
2015-01-23 12:33:17 -08:00
Steve Reed a186b47cd3 Adds test for slice.ShuffleStrings 2015-01-23 09:30:09 -08:00
Filipe Brandenburger a5898a9559 Keep boolean status of imported flags
This makes glog flags such as --logtostderr and --alsologtostderr keep
working without requiring an explicit =true.

Tested by building kubelet and invoking it with --logtostderr. Also
tested a few non-boolean flags to ensure they weren't affected.
2015-01-22 16:32:12 -08:00
Steve Reed ab1ede3aaa Sets year in copyright to 2015 2015-01-22 14:24:07 -08:00
Steve Reed f7e3cb12a6 Moves string slice sorting, copying and shuffling into pkg/util/slice 2015-01-22 14:20:23 -08:00
Clayton Coleman 80d99b8d85 Merge pull request #3631 from deads2k/deads-add-set-deleteall
make StringSet.Delete accept multiple items
2015-01-20 17:22:58 -05:00
Tim Hockin 6cb275829f Implement volumes as plugins.
Break up the monolithic volumes code in kubelet into very small individual
modules with a well-defined interface.  Move them all into their own packages
and beef up testing along the way.
2015-01-20 11:45:45 -08:00
deads2k 5b8e38a665 make StringSet.Delete accept multiple items 2015-01-20 14:42:10 -05:00
Joe Beda 6bd6b905f5 Address code review comments
Add some documentation.
Create new util.InitFlags() function to merge and parse in one step.
2015-01-15 09:12:20 -08:00
Joe Beda 1d0b6ee5f5 Fix up logging flags for kubectl. 2015-01-15 09:12:20 -08:00
Joe Beda f692604bdf Fix name of pflag_import.go 2015-01-15 09:12:19 -08:00
Joe Beda dcd00c936e Move all kubernetes to posix flags 2015-01-15 09:12:19 -08:00
Tim Hockin 1be3de895c Move util.UID to pkg/types 2015-01-14 15:22:21 -08:00
Tim Hockin e86d4cd3c6 Use a strong type for UID fields 2015-01-14 13:53:43 -08:00
Zach Loafman e14d5f3416 Merge pull request #3464 from smarterclayton/fix_invalid_json_in_services.sh
Fix e2e invalid JSON, ensure CLI communicates invalid JSON errors effectively
2015-01-14 10:26:34 -08:00
bgrant0607 312de43ace Merge pull request #3444 from lavalamp/fix
eliminate possibility of double-calling
2015-01-14 10:12:26 -08:00
Clayton Coleman 31413c8727 Add more tests around JSON/YAML decoding from the CLI
Switch the ignore stream errors behavior to print a Warningf on
failure to parse, not v(2)
2015-01-14 12:38:36 -05:00
Clayton Coleman 22cf8b94e6 Add a package for doing YAML-to-JSON streaming, one document at a time
Will be moved upstream soon
2015-01-14 00:50:07 -05:00
Daniel Smith 30be0eeac7 eliminate possibility of double-calling 2015-01-13 18:09:13 -08:00
Daniel Smith f0b5fba988 Improve cache behavior
* don't block while filling cache
* make cache wait for pending calls
2015-01-12 16:20:25 -08:00
Daniel Smith 6e70853e83 genericize ip cache 2015-01-12 16:04:43 -08:00
Tim Hockin 4fcd496d59 change everything to use new util/errors 2015-01-08 22:10:03 -08:00
Tim Hockin cd29ba7ebc Add new util/errors pkg 2015-01-08 21:59:23 -08:00
Joe Beda 7abd90e9df Generic way to import 'flag' flags into the 'pflag' system.
Start with kubectl but with an eye toward switching everything over to pflag.
2015-01-08 15:25:31 -08:00
Clayton Coleman 7fd887df61 Enable v1beta3 API via --runtime_config=api/v1beta3 flag
This exposes the proper v1beta3 API endpoint when the user specifies
the --runtime_config=api/v1beta3 argument to the apiserver. v1beta3
is still considered experimental and subject to change.

--runtime_config is a map of string keys and values, that can be
specified by providing

    --runtime_config=a=b,b=c,d,e

Only the key must be specified, the value can be omitted.

Enables v1beta3 in hack/local-up-cluster.sh and hack/test-cmd.sh
2015-01-08 13:01:24 -05:00
Daniel Smith 894a3e6d3f Wire resource.Quantity into api 2015-01-07 15:21:34 -08:00
Rohit Jnagal 62ecd5f3ff Fix few vet errors.
There are quite a few 'composite literal uses unkeyed fields' errors that I have kept out of this patch.
And there's a couple where vet just seems confused. These are the easiest ones.
2015-01-07 08:40:16 +00:00
Joe Beda b736b42585 Merge pull request #3224 from liggitt/self_signed
Automatically serve API on https with self-signed cert if no cert is provided
2015-01-06 10:29:05 -08:00
Eric Tune 25a19039fb Merge pull request #3250 from a-robinson/failure
Minor doc/comment fixes that came up while reading through some code.
2015-01-06 10:18:36 -08:00
Alex Robinson d8dab5dfb9 Minor doc/comment fixes that came up while reading through some code. 2015-01-06 18:05:33 +00:00
Jordan Liggitt b36a44f036 Automatically serve API on https with self-signed cert 2015-01-06 09:36:29 -05:00
saadali 4bf191a30a Update copyright year for files created today to current year 2015-01-05 17:01:02 -08:00
Tim Hockin 03baa7234a Merge pull request #3225 from dchen1107/clean
Move GetHostName and GetDockerEndpoint methods to pkg/util
2015-01-05 16:21:51 -08:00
saadali f92f830e1f Modify hash to be computed using spew library so that nested object values are used instead of pointer 2015-01-05 15:48:06 -08:00
Dawn Chen f718957a79 Move GetHostName and GetDockerEndpoint methods to pkg/util 2015-01-05 11:44:21 -08:00
Tim Hockin e4d239cbb1 Util to test if all ptr fields are nil 2015-01-03 23:57:43 -08:00
Tim Hockin fc69379b8c Add a util/mount pkg 2014-12-30 14:38:49 -08:00
Tim Hockin e045c6ce2f Split portals into host and container
After this DNS is resolvable from the host, if the DNS server is targetted
explicitly.  This does NOT add the cluster DNS to the host's resolv.conf.  That
is a larger problem, with distro-specific tie-ins and circular deps.
2014-12-29 09:18:12 -08:00
Vishnu Kannan 6f53f33fda Set oom_score_adj for kubelet and kube-proxy to a low value to help them survive system memory pressure. 2014-12-24 00:34:28 +00:00
Daniel Smith 545d87d554 Move clock to util 2014-12-22 14:14:03 -08:00
Joe Beda 93ed9173e3 Merge pull request #2781 from commonlisp/master
simplify util.ErrorList by eliminating errorListInternal
2014-12-16 15:43:55 -08:00
Brendan Burns 2d1b279311 Merge pull request #2905 from smarterclayton/misc_cleanup
Small fixes to prepare for v1beta3
2014-12-15 11:49:29 -08:00
Clayton Coleman a636e44e3d Add a side-by-side diff option for verbose output
Make regular diff better by eliding pointer values
2014-12-12 18:14:46 -05:00
George Kuan 5e1fc1f4e0 Fixes #1605: make ErrorList introspectable by replacing ErrorList and
ErrorList#ToError with []error and util.SliceToError() respectively
2014-12-12 10:56:31 -08:00
Clayton Coleman c5ba95ee26 Add Type() method on flags for compat with pflag library
Allows our flag objects to be used with both golang flags and pflags
2014-12-11 20:10:54 -05:00
Jordan Liggitt 51bfb50698 Use util.Time consistently in types.go 2014-12-11 11:14:25 -05:00
Satnam Singh 7582884f30 Do not consider an empty string to be an error in list.go 2014-12-10 11:41:13 -08:00
Clayton Coleman 2c27f7d332 Allow an empty service 2014-12-09 12:48:53 -05:00
Tim Hockin 5ecce5d60c Add util to validate namespaced names 2014-12-08 15:31:43 -08:00
Eric Tune 64f1084c1a Rename util.config.Watcher -> util.config.Broadcaster.
Watch is a widely used term in the codebase, which doesn't capture
the key feature of this type: broadcasting a change to several
listeners.
2014-12-04 00:10:27 -08:00
Tim Hockin c31b3f04de Merge pull request #2722 from thockin/iptables
strip quotes in back-compat iptables
2014-12-03 16:10:00 -08:00
Daniel Smith 7aaf76af6e Merge pull request #2661 from smarterclayton/allow_loops_to_exit
Add a util.Forever variant that ends on a stop channel
2014-12-03 11:52:59 -08:00
Tim Hockin b1470b6672 strip quotes in back-compat iptables 2014-12-03 08:34:34 -08:00
Sam Ghods 6399854240 Remove unused YAML tags and GetYAML/SetYAML methods
Unneeded after move to ghodss/yaml.
2014-12-02 16:25:28 -08:00
Sam Ghods 9a9a1e0939 Move from go-yaml/yaml to ghodss/yaml 2014-12-02 16:24:05 -08:00
Tim Hockin 89875ef09d Loosen DNS 952 for labels 2014-12-01 12:30:43 -08:00
Clayton Coleman 740b824ac2 Add a util.Forever variant that ends on a stop channel 2014-11-28 15:15:52 -05:00
Tim Hockin e925deccb0 Fix iptables for old systems
The iptables args list needs to include all fields as they are eventually spit
out by iptables-save.  This is because some systems do not support the
'iptables -C' arg, and so fall back on parsing iptables-save output.  If this
does not match, it will not pass the check.  For example: adding the /32 on
the destination IP arg is not strictly required, but causes this list to not
match the final iptables-save output.  This is fragile and I hope one day we
can stop supporting such old iptables versions.
2014-11-26 12:50:44 -08:00
Tim Hockin 95a9098311 fix 'go vet' warnings 2014-11-21 09:45:28 +08:00
Tim Hockin ea960711ff Clean up error logs.
Use %v for errors, tidy some messages, make error messages start lowe-case
(as per go guidelines).  Just accumulated nits.
2014-11-21 09:45:26 +08:00
Deyuan Deng 762e9a0f57 Create a backgroud task to register static list of machines. 2014-11-20 20:22:32 -05:00
Tim Hockin 8fdaa5d453 Merge pull request #2067 from hmrm/iptables-compatibility
Remove iptables >1.4.11 specific functionality
2014-11-18 08:54:38 -08:00
Haney Maxwell 5d69faa6d6 Allow proxy to run on systems with iptables <1.4.11 2014-11-17 13:37:46 -08:00
Tim Hockin 9c218f0a19 Cleanups of ipv6 changes.
I was late re-reviewing and some comments did not get resolved.
2014-11-17 09:33:14 -08:00
Brendan Burns 2aa52d043b Add external services v2 support. 2014-11-14 11:32:54 -08:00
Brendan Burns c2485a4056 Merge pull request #2147 from justinsb/ipv6
Initial ipv6 / iptables work
2014-11-14 10:34:37 -08:00
Clayton Coleman 6d31c2bf8a util.EncodeJSON proven harmful, remove it everywhere
People were misusing EncodeJSON in tests when they should be using
runtime.EncodeOrDie(testapi.Codec(), obj).  Removing the potential
for cutting self on sharp objects.
2014-11-13 10:38:13 -05:00
Justin SB 9a053a4b59 Initial ipv6 / iptables work 2014-11-03 15:23:04 -08:00
Brendan Burns a624630112 Add some blocking so that we don't generate identical UUIDs for API objects. 2014-11-03 13:27:59 -08:00
Deyuan Deng acf9d23b32 Stop httptest server. 2014-10-30 21:37:08 -04:00
Daniel Smith d05dad6c59 Add runner utility. 2014-10-29 11:29:28 -07:00
Brendan Burns b59e49fa13 Add support for git volumes. 2014-10-27 16:35:52 -07:00
Daniel Smith 15c5012933 Add lock to fake handler to avoid races. 2014-10-15 17:46:28 -07:00
Clayton Coleman 935e97d59d Move ObjectDiff into util 2014-10-09 17:23:43 -04:00
deads2k e348b939bf make api match intent with less specific type 2014-10-08 10:01:55 -04:00
Tim Hockin 45f9f39b51 Merge pull request #1597 from thockin/iptables
Add a pkg for iptables support
2014-10-07 17:31:34 -07:00
Brendan Burns 5bdb061f14 Fix the exec test, on os x false and true have different paths, but they're in $PATH on all. 2014-10-07 13:26:25 -07:00
Tim Hockin 4bbe6a10ff Add a pkg for iptables support
This makes iptables an injectable dependency.  The test for this started off
simple, but got a bit out of hand.  It's starting to become a mocking
framework.
2014-10-07 11:36:46 -07:00
Daniel Smith 051d50e98d Merge pull request #1592 from thockin/utilexec
Add a util/exec interface for testing execs.
2014-10-07 11:26:27 -07:00
Clayton Coleman d3e51a0f24 Rename JSONBase -> TypeMeta in preparation for v1beta3
Will make subsequent refactor much easier
2014-10-07 11:12:16 -04:00
Tim Hockin 0d74fe74cd Add a flag-compatible wrapper for net.IPNet 2014-10-06 18:28:49 -07:00
Daniel Smith 6449b30ca4 Merge pull request #1593 from thockin/utilerrlist
Move ErrorList to util
2014-10-06 16:59:34 -07:00
Tim Hockin 20a1829dad Add a util/exec interface for testing execs. 2014-10-06 16:52:25 -07:00
Tim Hockin 7e83211840 Move ErrorList to util 2014-10-06 12:12:35 -07:00
Tim Hockin 0ad0a247c4 Flag-compatible IP type 2014-10-06 11:29:22 -07:00
Clayton Coleman ff2eca97d9 Refactor the client (again) to better support auth
* Allows consumers to provide their own transports for common cases.
* Supports KUBE_API_VERSION on test cases for controlling which
  api version they test against
* Provides a common flag registration method for CLIs that need
  to connect to an API server (to avoid duplicating flags)
* Ensures errors are properly returned by the server
* Add a Context field to client.Config
2014-10-01 15:23:37 -04:00
Brendan Burns 3ac706a32e Add a rate limiter, use it to rate limit docker pulls. 2014-09-26 11:55:21 -07:00
Jessica Forrester becf6ca4e7 Move RecoverPanics to be the top level wrapped handler. Add new method to be sure a logger has been generated instead of assuming one has. Move regexp list compilation into a utility and pass regexp list into CORS. 2014-09-09 17:50:18 -04:00
Vojtech Vitek (V-Teq) 59f58cd043 Unify Godoc formatting, fix various typos
Signed-off-by: Vojtech Vitek (V-Teq) <vvitek@redhat.com>
2014-09-02 13:41:03 +02:00
Daniel Smith dd862a7c53 Fix flaky scheduler factory test. 2014-08-28 20:32:20 -07:00
Clayton Coleman 9006eadcfe kube-proxy can read config from the apiserver
All clients that talk to a "master" as a host:port or URL
(scheme://host:port) parameter.  Add tests.
2014-08-27 15:49:01 -04:00
Clayton Coleman 286c3c543c Improve the wait.Poll GoDoc and api
Add more tests, and switch to timeouts instead of cycles.
Deflake TestPoller
2014-08-23 12:18:03 -04:00
Clayton Coleman 1c68247954 Merge pull request #909 from lavalamp/scheduler3
Scheduler plugin v1
2014-08-21 19:04:51 -04:00
Paul Morie 47fd5842ad Fix typo in tests 2014-08-21 17:02:28 -04:00
brendandburns 8f5dd8cf63 Merge pull request #984 from thockin/make_vs_new
Rename a bunch of "Make" functions to "New"
2014-08-20 22:06:57 -07:00
Tim Hockin 0f97a73c1b Rename a bunch of "Make" functions to "New"
Also rename some to other names that make better reading.  There are still a
bunch of "make" functions but they do things like assemble a string from parts
or build an array of things.  It seemed that "make" there seemed fine.  "New"
is for "constructors".
2014-08-20 21:27:19 -07:00
brendandburns 1bd4ae0c62 Merge pull request #943 from smarterclayton/only_wait_for_acceptance
Clients must wait for completion of actions
2014-08-20 21:01:21 -07:00
Daniel Smith 8a9eaf911f For testability & reuse, move scheduler setup into its own package. 2014-08-20 16:50:02 -07:00
Clayton Coleman 493863eb93 Return immediately when controllers/pods are committed
Add client waiting conditions.
2014-08-20 18:46:10 -04:00
Paul Morie 5331cd6ec0 Add missing case for IntOrString unit tests 2014-08-20 17:22:29 -04:00
derekwaynecarr 8c07a0f524 Fix verify-boilerplate 2014-08-15 13:12:01 -05:00
Paul Morie c69160059b Change CreationTimestamp to a util.Time and set in each storage implementation
Because time.Time doesn't work correctly with our YAML package, it is necessary
to introduce a type, util.Time, which serializes correctly to JSON and YAML.

Eventually we would like timestamping to cut across storage implementations;
for now, we set it in each storage.
2014-08-14 16:26:29 -04:00
Daniel Smith ab24790e8f Fix go files with wrong boilerplate 2014-08-12 17:48:00 -07:00
Tim Hockin 7201227cb1 Use IntOrString for HTTP health check ports
Clean up code to be more testable.  Add test cases for named and numeric
ports in HTTP health checks.  Improve tests.
2014-08-10 23:26:42 -07:00
Daniel Smith 079c9043bd Switch to new external fuzz package 2014-08-08 15:54:09 -07:00
Tim Hockin 37309ece6d Rename files: stringlist -> list (similar to set) 2014-08-06 20:13:40 -07:00
Brendan Burns 20a8f03d62 Add dns-952-identifier validation to service ids. 2014-08-05 11:40:48 -07:00
brendandburns d4860c21a9 Merge pull request #752 from smarterclayton/remove_expect_no_error_util
Remove expectNoError from client, kubelet, and util
2014-08-04 09:15:22 -07:00
Clayton Coleman f7149926c0 Remove expectNoError from client, kubelet, and util 2014-08-04 09:39:06 -04:00
Daniel Smith 828aed4cc8 Copy docker client structs, adding yaml/json tags.
Use these in our v1beta1 package so that we can pass fuzz test encode/decode.
2014-08-01 15:31:39 -07:00
Daniel Smith d09b164e67 Add TODOs, clean up, clarify comments, and add one more test. 2014-07-27 19:32:37 -07:00
Daniel Smith aa92dd7fb2 Add go fuzzer in preparation for testing. Also gofmt a few files that needed it. 2014-07-27 14:54:48 -07:00
Jonathan Boulle c43035088b assorted formatting and typo fixes 2014-07-24 15:10:36 -07:00
Daniel Smith 05f01a3654 Revert "assorted formatting and typo fixes" 2014-07-18 17:16:30 -07:00
Daniel Smith 211f6b312f Merge pull request #520 from jonboulle/master
assorted formatting and typo fixes
2014-07-18 17:15:30 -07:00
Danny Jones 136c9e112c Renames HasAll to IsSuperset; HasAll uses slice.
For the pedants. HasAll is now called IsSuperset and
the new HasAll method takes a slice instead of a set.
2014-07-18 13:58:43 -07:00
Danny Jones 2d9bad95f8 Added HasAll utility method for string set.
Added HasAll method which detects if one set contains all
of the memebers of another set.

A.HasAll(B) returns true if A is a superset of B.
2014-07-18 13:19:55 -07:00
Jonathan Boulle 9e63c3a633 assorted formatting and typo fixes 2014-07-18 13:02:59 -07:00
Clayton Coleman 38ec4ff8c0 Create a configuration update utility
Extracted from proxy/config
2014-07-16 14:13:25 -04:00
Tim Hockin 7d5398bda7 Fix go idiom feedback 2014-07-11 11:43:42 -07:00
Kouhei Ueno 93def86a9e fix go lint errors in util 2014-07-11 21:04:34 +09:00
Tim Hockin c134a16c36 fix go lint errors in util 2014-07-10 17:32:42 -07:00
Tim Hockin 85effbbc3f IntOrString for use in JSON/YAML
Specifying an API type as IntOrString will allow JSON and YAML to accept
either ints or strings with the same name.  For example, port names or
numbers.
2014-07-10 11:09:47 -07:00
Tim Hockin 8d6e832b8e Simplify DNS validation checks
Move DNS length checks to util/validation.go.  Make the max subdomain be 253,
which is what the RFC actually says.
2014-07-08 15:14:17 -07:00
Daniel Smith a6144f656c Move etcd helpers to tools package so they can depend on api package. Add ResourceVersion, hook it up to etcd index to get atomic PUTs. 2014-07-02 15:42:05 -07:00
Daniel Smith 50bbf39925 improvements to integration test organization 2014-07-01 14:02:14 -07:00
Daniel Smith 229b8fca2a Don't double-close the channel when etcd returns an error. 2014-07-01 12:49:57 -07:00
Daniel Smith 99f85e3897 Merge pull request #309 from monnand/race-controller
fix data races in controller
2014-07-01 11:34:05 -07:00
Nan Deng 44935c2f94 comment 2014-07-01 11:21:17 -07:00
Nan Deng 7f9d66525a remove lock for broadcast 2014-07-01 11:13:05 -07:00
Nan Deng f68446fed9 comment 2014-06-30 20:51:38 -07:00
brendandburns 65a62278b1 Merge pull request #286 from lavalamp/exampleEtcd
Separate scheduler from registry
2014-06-30 20:17:07 -07:00
Nan Deng 101806cb5e do not recreate 2014-06-30 18:27:41 -07:00
Nan Deng 7b432eac5c gofmt -r "condChannelsReady->condWatchCompleted" 2014-06-30 18:05:01 -07:00
Daniel Smith 53618f5db7 Merge pull request #311 from thockin/valid3
Add validation primitives to util
2014-06-30 17:13:24 -07:00
Nan Deng 905c6dcb10 gofmt -r "WaitToWatch->WaitForWatchCompletion" 2014-06-30 16:09:15 -07:00
Nan Deng f13f1a5da6 use sync.Cond 2014-06-30 16:07:46 -07:00
Nan Deng 014165ded6 style 2014-06-30 15:39:03 -07:00
Nan Deng fa1fbe88c1 use wait group 2014-06-30 15:32:55 -07:00
Tim Hockin b3dd86a21e Add validation primitives to util
Part 2 in a series of changes towards data validation.
2014-06-30 15:17:53 -07:00
Nan Deng 62055090b4 fix data races in controller 2014-06-30 14:48:57 -07:00
Tim Hockin 74e1b03a80 Break the dep from util -> api
Part 1 in a series of changes towards data validation.
2014-06-30 14:28:41 -07:00
Daniel Smith 011ce9d871 Add crash handler bypass for testing. 2014-06-29 12:35:43 -07:00
Tim Hockin b65d685a39 Add a NewStringSet() function
Also beef up tests to cover len(ss).
2014-06-28 19:36:44 -07:00
Daniel Smith 3d1e8a92d3 Move stringSet to util.StringSet 2014-06-28 11:46:51 -07:00
Daniel Smith 9a0f89170e Fix comments. Add timeout to integration test; don't make travis run for 15 minutes any more. 2014-06-27 15:40:23 -07:00
Daniel Smith 999ea50c2a Cleanup to use AtomicUpdate. 2014-06-27 15:14:57 -07:00
Daniel Smith 529870d121 Generic atomic update code 2014-06-27 15:14:57 -07:00
Brendan Burns b25f950362 Use etcd compare and swap to update the list of pods, to remove a race. 2014-06-27 11:09:36 -07:00
Tim Hockin a570b81220 Default --logtostderr=true
This retains compatibility with existing logging to stderr, until we can agree
on log dirs for each cmd.
2014-06-24 21:29:53 -07:00
Tim Hockin 9f9e75f508 Switch to glog for logging, bridge logging to glog.
1) imported glog to third_party (previous commit)
2) add support for third_party/update.sh to update just one pkg
3) search-and-replace:
  s/log.Printf/glog.Infof/
  s/log.Print/glog.Info/
  s/log.Fatalf/glog.Fatalf/
  s/log.Fatal/glog.Fatal/
4) convert glog.Info.*, err into glog.Error*

Adds some util interfaces to logging and calls them from each cmd, which
will set the default log output to write to glog.  Pass glog-wrapped
Loggers to etcd for logging.

Log files will go to /tmp - we should probably follow this up with a
default log dir for each cmd.

The glog lib is sort of weak in that it only flushes every 30 seconds, so
we spin up our own flushing goroutine.
2014-06-24 20:51:57 -07:00
Tim Hockin 228156dbc6 Remove noisy non-error lines from logs 2014-06-23 17:58:21 -07:00
Daniel Smith b850d36166 Fix boilerplate everywhere 2014-06-23 11:32:11 -07:00
Johan Euphrosine fe589a3f64 pkg/client: refactor tests 2014-06-19 23:12:27 -07:00
Daniel Smith a253209a2c Add test for watch goroutine handling, fix other review comments 2014-06-18 13:10:39 -07:00
Daniel Smith 7e464aa55c Test controller's synchronize method. Requires fake etcd client to be relocated. 2014-06-18 13:10:39 -07:00
Daniel Smith b6a260940c Fix fake handler so it can be used for more than one call. 2014-06-18 13:10:39 -07:00
Daniel Smith 65d6280936 Move etcd helper to util so it can be used elsewhere, too 2014-06-18 13:10:39 -07:00
Daniel Smith 50b9c34cf1 Fix error recovery. 2014-06-13 18:11:32 -07:00
Brendan Burns 164160adef Address package level comments for readability. 2014-06-12 20:26:12 -07:00
Daniel Smith 881613e3f5 First part of parsing settings client-side 2014-06-12 17:23:28 -07:00
Daniel Smith 4f848b6d3b Need proper package comment. 2014-06-11 17:20:16 -07:00
Brendan Burns 9f76f13205 gofmt 2014-06-11 12:50:01 -07:00
Brendan Burns 9010ef954c Update tests 2014-06-09 07:16:43 -07:00
Joe Beda 2c4b3a562c First commit 2014-06-06 16:40:48 -07:00