Commit Graph

746 Commits

Author SHA1 Message Date
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