Commit Graph

2288 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
3ee8ae2721
Merge pull request #78888 from tedyu/mount-ref
Return early when mount ref is determined
2019-06-17 04:36:50 -07:00
Yassine TIJANI
c3904bbce6 move initsystem to kubeadm
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-06-17 12:21:01 +02:00
Rong Gao
595fcf68d1 fix kubelet can not delete orphaned pod directory when the kubelet's root directory symbolically links to another device's directory 2019-06-17 15:39:25 +08:00
Vallery Lancey
dc0f14312e Removed deprecated --resource-container flag from kube-proxy. 2019-06-16 08:36:42 -07:00
Travis Rhoden
be7da5052f Refactor pkg/util/mount to be more reusable
This patch refactors pkg/util/mount to be more usable outside of
Kubernetes. This is done by refactoring mount.Interface to only contain
methods that are not K8s specific. Methods that are not relevant to
basic mount activities but still have OS-specific implementations are
now found in a mount.HostUtils interface.
2019-06-14 09:35:18 -06:00
Kubernetes Prow Robot
d30fbab4b8
Merge pull request #77915 from SataQiu/fix-golint-util-20190515
Fix golint failures of pkg/util/parsers pkg/util/sysctl pkg/util/system
2019-06-14 00:29:00 -07:00
Ted Yu
320dc6c54c Return early when mount ref is determined 2019-06-10 20:40:40 -07:00
Kubernetes Prow Robot
9b14c22375
Merge pull request #78428 from luksa/iptables-save-panic
Fix panic in kube-proxy when iptables-save prints to stderr
2019-05-31 23:23:00 -07:00
Kubernetes Prow Robot
5d1409a4bf
Merge pull request #78189 from ksubrmnn/initsystem
Use Service Control Manager as the Windows Initsystem
2019-05-31 22:02:34 -07:00
Kubernetes Prow Robot
bdf3d248eb
Merge pull request #77523 from andrewsykim/fix-xlb-from-local
iptables proxier: route local traffic to LB IPs to service chain
2019-05-31 12:22:53 -07:00
Kubernetes Prow Robot
46a3d82240
Merge pull request #78464 from andrewsykim/ipvs-reviewer
add myself and Laurent as ipvs proxy reviewers
2019-05-30 04:54:35 -07:00
ksubrmnn
4d7ee1cd5a Use system calls to manage Windows services 2019-05-29 17:33:47 -07:00
Kubernetes Prow Robot
e4c3540621
Merge pull request #78269 from jpbetz/reinvoke-intree
Reinvocation testing of in-tree admission plugins and fix podpreset to be idempotent
2019-05-29 03:11:03 -07:00
Kubernetes Prow Robot
1eba04822e
Merge pull request #78251 from byteor/master
[pkg/util/coverage]: group imports for readability
2019-05-29 03:10:38 -07:00
Andrew Sy Kim
f6d9a45643 add myself and Laurent as ipvs proxy reviewers
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-05-29 01:43:50 -04:00
Joe Betz
a6e1db97f0 Merge tolerations in a consistent order 2019-05-28 15:10:16 -07:00
Marko Lukša
93a549679f Capture stderr output and write it to buffer on error 2019-05-28 17:09:29 +02:00
Kubernetes Prow Robot
a57fbaf635
Merge pull request #78088 from andrewsykim/ipvs-unit-test-graceful-termination
ipvs: add graceful termination unit tests
2019-05-28 07:18:11 -07:00
Marko Lukša
00e7505618 Discard stderr output when calling iptables-save 2019-05-28 14:43:28 +02:00
Marko Lukša
df23697ae7 Better error message if panic occurs during iptables-save output parsing 2019-05-28 11:38:27 +02:00
Subrata Paul
2862f3ec94 Updated node.go using update-gofmt.sh 2019-05-25 00:46:50 +05:30
Zhou Peng
31daeed3b2 [pkg/util/coverage]: group imports for readability
Signed-off-by: Zhou Peng <p@ctriple.cn>
2019-05-23 21:38:12 +08:00
Kubernetes Prow Robot
d8c3348520
Merge pull request #74880 from smileusd/fix-IsLikelyNotMountPoint-function
distinguish between mountpoints and symbolic link in IsNotMountPoint
2019-05-22 04:00:12 -07:00
Kalya Subramanian
e0fec1dc28 Include golang.org/x/sys/windows/svc/mgr to manage Windows services 2019-05-20 23:28:56 +00:00
Kubernetes Prow Robot
e476a60ccb
Merge pull request #73241 from vikaschoudhary16/selinux-label
Add correct selinux label at plugin socket directory
2019-05-20 11:07:17 -07:00
smileusd
a81f770472 add annotation about IsLikelyNotMountPoint can't to distinguish mounts and symbolic link 2019-05-20 11:35:24 +08:00
Andrew Sy Kim
15682dfc2a export serviceKey and realServerKey in fake ipvs for easier test fixtures
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-05-19 23:09:42 +02:00
vikaschoudhary16
58d1b4d564 Add correct selinux label at plugin socket directory 2019-05-18 12:35:17 +05:30
Kubernetes Prow Robot
37281a400d
Merge pull request #76442 from viegasdom/fix-golint-utils-bandwith
Fix golint failures of util/bandwith/*.go
2019-05-15 22:56:08 -07:00
SataQiu
b36d8d431f fix golint failures of pkg/util/parsers pkg/util/sysctl pkg/util/system 2019-05-15 23:19:47 +08:00
Sergiusz Urbaniak
4532cfd85c
pkg/util/workqueue: delete deprecated metrics
This deletes deprecated metrics and simplifies registration.
2019-05-15 12:27:34 +02:00
Kubernetes Prow Robot
aa84b99fa0
Merge pull request #73101 from oz123/kubeadm_openrc_support
Add initial support for OpenRC
2019-05-10 10:37:59 -07:00
Sergiusz Urbaniak
0e291d1f1b
pkg/util/workqueue/prometheus: fix double registration
Currently, if workqueue metrics are registered twice, these metrics will be ignored. This fixes it.
2019-05-09 13:41:09 +02:00
Andrew Sy Kim
8dfd4def99 add unit tests for -src-type=LOCAL from LB chain
Signed-off-by: Andrew Sy Kim <kiman@vmware.com>
2019-05-07 15:22:46 -04:00
Kubernetes Prow Robot
5b47a92ad8
Merge pull request #76359 from monstercy/fixtypo-20190320
correcting some spelling errors
2019-05-03 04:08:31 -07:00
Kubernetes Prow Robot
b5c34d0c43
Merge pull request #74734 from codenrhoden/move-mountspath
Move MountsInGlobalPDPath from mount pkg to volume
2019-05-01 17:28:18 -07:00
Dan Winship
4d77d3e75f Update iptables.IsNotFoundError for iptables-nft error messages 2019-05-01 10:42:30 -04:00
Travis Rhoden
12b7f1450c Move MountsInGlobalPDPath from mount pkg to volume
Since pkg/util/mount is going to move out of k/k, this exported constant
that is Kubernetes specific needed to move somewhere else. Made sense to
move it to pkg/volume/util.

Update GetDeviceNameFromMount in the mount interface to now take a
pluginMountDir argument, which is volume plugin dir with the global
mount path appended to it already.
2019-04-29 09:56:00 -06:00
Subrata Paul
7e04eeab50 Updated pkg node BUILD for new lib inclusion 2019-04-29 19:07:02 +05:30
Subrata Paul
dd9402f451 Fix for kube-proxy to wait for some duration for the node to be defined
Kube-proxy must atleast wait for some duration for the node to defined so that it can fetch the node IP. This node IP is currently used in ipvs proxier for the node-port services.
2019-04-28 00:25:18 +05:30
JieJhih Jhang
098a7c5972 fix golint 2019-04-26 15:37:38 +08:00
Kubernetes Prow Robot
9d617776a3
Merge pull request #76801 from logicalhan/metrics-owners
add owners file to util/metrics and auto-labeling
2019-04-19 20:30:14 -07:00
Davanum Srinivas
7b8c9acc09
remove unused code
Change-Id: If821920ec8872e326b7d85437ad8d2620807799d
2019-04-19 08:36:31 -04:00
Han Kang
d278d59328 add owners file to util/metrics and auto-labeling 2019-04-18 17:01:13 -07:00
Kubernetes Prow Robot
e8e1e9b667
Merge pull request #75119 from sungjunyoung/fix-typo
Fix typo, old link for contributors
2019-04-18 11:28:03 -07:00
Kubernetes Prow Robot
32a49828fe
Merge pull request #76456 from codenrhoden/mv-exec-mounter
Move ExecMount to pkg/volume/util/exec
2019-04-17 12:16:20 -07:00
Zihong Zheng
8ac6119bec Add OWNERS file for sig-network utils 2019-04-11 13:49:03 -07:00
Travis Rhoden
f38d4938be Move ExecMount to pkg/volume/util/exec
This patch moves the ExecMounter found in pkg/util/mount to
pkg/volume/util/exec. This is done in preparation for pkg/util/mount to
move out of tree. This specific implemention of mount.Interface is only
used internally to K8s and does not need to move out of tree.
2019-04-11 12:19:55 -06:00
viegasdom
80578d5bf1 Changes code that still used BandWidthShaper instead of Shaper 2019-04-11 18:50:32 +01:00
viegasdom
1c468bf2e2 Fix golint failures of util/bandwith/*.go 2019-04-11 15:07:41 +01:00
Kubernetes Prow Robot
c62cd6e3a4
Merge pull request #76047 from codenrhoden/mv-nsenter-mount
Move nsenter mounter to pkg/volume/util/nsenter
2019-04-09 09:55:59 -07:00
Oz N Tiram
2a40ef473f Add initial support for OpenRC
* Gentoo has init scripts for kubelet
 * Added a new method of the InitSystem Interface
   This helps issuing nicer messages when not on systemd.
 * OpenRCInitSystem.ServiceExists uses CombinedOutput because
   the behaviour of OpenRC is different from systemd.

This is a partial fix for

 https://github.com/kubernetes/kubeadm/issues/1295
2019-04-08 22:27:35 +02:00
Travis Rhoden
1c045a09db Move nsenter mounter to pkg/volume/util/nsenter
As part of moving pkg/util/mount out of tree, the NSEnter implementation
of mount.Interface needs to be relocated out of pkg/util/mount, as it is
K8s specific. This patch relocates that mounter implementation to
pkg/volume/util/nsenter.

Since the NSEnter mounter shares a lot of its logic with the Linux
mounter implementation, many of the previously private methods of the
Linux mounter are now made public to maintain that shared code.

Additionaly, it was observed that *all* mount.Interface implemenations
were using the same common method for IsNotMountPoint, so this patch
removes that method from the mount.Interface definition and just exports
the common implementation instead.
2019-04-08 09:53:46 -06:00
Travis Rhoden
6e5bf40dd2 Remove apimachinery dep from mount library
As part of wanting to move the mount library into staging and then
k8s.io/utils, there can be no dependencies on k/k code, and that
includes k/apimachinery.

This patch makes a small implementation change to no longer need
k8s.io/apimachinery/pkg/util/sets
2019-04-02 13:49:46 -06:00
Kubernetes Prow Robot
7d15d41eb8
Merge pull request #74159 from dlipovetsky/issue-73249-revise-parsetaint
Update v1.Taint parser to accept the form `key:effect` and `key=:effect-`
2019-04-02 01:36:35 -07:00
Han Kang
8f63657e26 log out metric registration errors instead of silently ignoring them 2019-03-26 11:29:27 -07:00
Kubernetes Prow Robot
7dfcacd1cf
Merge pull request #75700 from logicalhan/reflector-cleanup
cleanup of reflector metric code (finish removing unused code)
2019-03-25 23:13:31 -07:00
Han Kang
f7c23b1c1d cleanup of reflector metric code (finish removing unused code) 2019-03-25 15:12:09 -07:00
Kubernetes Prow Robot
f3efd1d0b7
Merge pull request #75036 from bart0sh/PR0065-kubeadm-replace-RequiredIPVSKernelModulesAvailable-check
kubeadm: reimplement IPVS check
2019-03-25 13:24:38 -07:00
Yu Cao
88204f6664 correcting some spelling errors 2019-03-20 19:33:35 +08:00
andyzhangx
4b4b6cdcab fix race condition issue for smb mount on windows
change var name
2019-03-14 15:02:15 +00:00
Ed Bartosh
2914171ed4 kubeadm: reimplement IPVS check
Used existing IPVS Proxier API CanUseIPVSProxier instead
of custom implementation.

Fixes kubernetes/kubeadm#975
2019-03-14 16:52:21 +02:00
Daniel Lipovetsky
653c710b0d Update v1.Taint parser to accept key:effect, key=:effect-, key, and key- forms
Also add missing tests for `key=:value` form.
2019-03-11 14:20:59 -07:00
andyzhangx
720a5e20d8 fix smb unmount issue on Windows
fix log warning

use IsCorruptedMnt in GetMountRefs on Windows

use errorno in IsCorruptedMnt check

fix comments: add more error code

add more error no checking

change year

fix comments
2019-03-10 02:13:16 +00:00
Junyoung, Sung
f76de72816 Fix typo in IsLikelyNotMountPoint function comment: --bin -> --bind 2019-03-08 00:58:44 +09:00
Kubernetes Prow Robot
59ee7353e8
Merge pull request #74625 from davidz627/fix/xfsUnmount
GetMountRefs fixed to handle corrupted mounts by treating it like an unmounted volume
2019-03-06 20:35:26 -08:00
David Zhu
5bf970f848 GetMountRefs fixed to handle corrupted mounts by treating it like an
unmounted volume
2019-03-06 14:34:16 -08:00
Kubernetes Prow Robot
43616fc920
Merge pull request #74033 from bart0sh/PR0060-kubeadm-975-RequiredIPVSKernelModulesAvailable-warning-seems-confusing
kubeadm: fix RequiredIPVSKernelModulesAvailable warning message
2019-03-05 02:04:03 -08:00
Kubernetes Prow Robot
9b8c58644a
Merge pull request #74418 from danielqsj/duration
convert latency/latencies in metrics name to duration
2019-03-01 17:58:12 -08:00
Kubernetes Prow Robot
84dce4d119
Merge pull request #74393 from codenrhoden/refactor-subpath
Refactor subpath out of pkg/util/mount
2019-02-27 15:54:36 -08:00
Han Kang
ca096f8069 Remove reflector metrics as they currently cause a memory leak 2019-02-26 20:11:22 -08:00
Travis Rhoden
2c4d748bed Refactor subpath out of pkg/util/mount
This patch moves subpath functionality out of pkg/util/mount and into a
new package pkg/volume/util/subpath. NSEnter funtionality is maintained.
2019-02-26 19:59:53 -07:00
Travis Rhoden
766cf26897 Move original mount files back
Move original mount files back into pkg/util/mount. This move is done to
preserve git history.
2019-02-26 12:18:25 -07:00
Travis Rhoden
f2438cacf5 Copy mount files to pkg/volume/util/subpath
Files in pkg/util/mount that contain significant code implementation for
subpaths are moved to a new package at pkg/volume/util/subpath. This
move is done in order to preserve git history.
2019-02-26 12:14:55 -07:00
Clayton Coleman
7f01e23380
Ignore the sticky gid mode bit when a test is running on memory EmptyDir
While running unit tests for perf on a Kube cluster with a memory backed
emptydir as TMPDIR, TestSafeMakeDir failed with:

```
--- FAIL: TestSafeMakeDir (0.01s)
	mount_linux_test.go:661: test "directory-exists": expected permissions 20000000750, got 20020000750
```

(TMPDIR set to /tmp/volume, /tmp/volume is EmptyDir with type Memory)

The test doesn't actually care about `os.ModeSetgid`, so specifically mask it out when testing this way.
2019-02-24 17:30:37 -08:00
danielqsj
f7b437cae0 convert latency in mertics name to duration 2019-02-22 21:40:13 +08:00
danielqsj
0e78dd2d17 fix shellcheck in pkg/util/verify-util-pkg.sh 2019-02-22 15:10:16 +08:00
Kubernetes Prow Robot
9027738dd5
Merge pull request #73661 from andyzhangx/smb-mount-windows
fix smb remount issue on Windows
2019-02-15 14:04:59 -08:00
andyzhangx
660813c2d1 fix smb remount issue on Windows
add comments for doSMBMount func

fix comments about smb mount
2019-02-14 14:19:24 +00:00
Ed Bartosh
09a2e49a94 kubeadm: fix RequiredIPVSKernelModulesAvailable warning message
RequiredIPVSKernelModulesAvailable warning confuses users suggesting
that the IPVS proxier will not be used, which is not always the case.

Made the warning message less confusing:

        [WARNING RequiredIPVSKernelModulesAvailable]:
The IPVS proxier may not be used because the following required kernel
modules are not loaded: [ip_vs_rr ip_vs_wrr ip_vs_sh]
or no builtin kernel ipvs support was found: map[ip_vs_wrr:{}
ip_vs_sh:{} nf_conntrack_ipv4:{} ip_vs:{} ip_vs_rr:{}].
However, these modules may be loaded automatically by kube-proxy for you
if they are available on your system.

To verify IPVS support:

   Run "lsmod | grep 'ip_vs\|nf_conntrack'" and verify each of the above
modules are listed.

If they are not listed, you can use the following methods to load them:

1. For each missing module run 'modprobe $modulename' (e.g., 'modprobe
ip_vs', 'modprobe ip_vs_rr', ...)
2. If 'modprobe $modulename' returns an error, you will need to install
the missing module support for your kernel.

Fixes: kubernetes/kubeadm#975
2019-02-13 22:54:34 +02:00
Kubernetes Prow Robot
5b7a790d35
Merge pull request #72185 from dcbw/owners-label-sig-network
OWNERS: add label:sig/network to a bunch of places
2019-02-08 10:36:16 -08:00
Kubernetes Prow Robot
b50c643be0
Merge pull request #73540 from rlenferink/patch-5
Updated OWNERS files to include link to docs
2019-02-08 09:05:56 -08:00
Davanum Srinivas
b975573385
move pkg/kubelet/apis/well_known_labels.go to staging/src/k8s.io/api/core/v1/
Co-Authored-By: Weibin Lin <linweibin1@huawei.com>

Change-Id: I163b2f2833e6b8767f72e2c815dcacd0f4e504ea
2019-02-05 13:39:07 -05:00
Roy Lenferink
b43c04452f Updated OWNERS files to include link to docs 2019-02-04 22:33:12 +01:00
Ashish Ranjan
7be223e798 Refactor to use k8s.io/utils/net/ package instead of kubernetes/pkg/util/net/sets
Signed-off-by: Ashish Ranjan <ashishranjan738@gmail.com>
2019-02-04 10:34:53 +05:30
Kubernetes Prow Robot
4331660fcd
Merge pull request #73445 from danielqsj/fix-exec
migrate the rest reference of pkg/util/exec to k8s.io/utils/exec
2019-02-01 17:14:15 -08:00
Daniel (Shijun) Qian
e72b32558c
Merge branch 'master' into keymutex 2019-01-31 20:50:57 +08:00
Kubernetes Prow Robot
1f7e9fd9a2
Merge pull request #73488 from andrewsykim/replace-utils-file
Replace pkg/util/file with k8s.io/utils/path
2019-01-30 17:50:16 -08:00
Kubernetes Prow Robot
fcbe7f50f2
Merge pull request #71767 from roycaihw/crd-metrics-rename
Log prometheus metric registration error and fix CRD metric names
2019-01-30 16:38:51 -08:00
danielqsj
6535689680 clean pkg/util/strings 2019-01-30 10:24:00 +08:00
danielqsj
df7e4f3d49 clean pkg/util/keymutex 2019-01-30 10:23:59 +08:00
Andrew Kim
84191eb99b replace pkg/util/file with k8s.io/utils/path 2019-01-29 15:20:13 -05:00
Yi Tao
d1f85ffa71 fix TestEntry 2019-01-29 20:57:26 +08:00
danielqsj
c7a012f033 migrate the rest reference of pkg/util/exec to k8s.io/utils/exec 2019-01-29 10:55:10 +08:00
Andrew Kim
93b086f6ea replace k8s.io/apiserver/pkg/util/trace with k8s.io/utils/trace 2019-01-24 15:34:21 -05:00
Andrew Kim
2ea82cea20 replace pkg/util/nsenter with k8s.io/utils/nsenter 2019-01-24 13:49:04 -05:00
Andrew Kim
123590d911 replace pkg/util/io with k8s.io/utils/io 2019-01-24 13:49:04 -05:00
Kubernetes Prow Robot
3ebbbda3b7
Merge pull request #72679 from danielqsj/wqn
Mark deprecated in related workqueue metrics
2019-01-19 06:52:04 -08:00
Kubernetes Prow Robot
5b4b40cfe0
Merge pull request #72391 from cofyc/fix72387
Deprecate mount.IsNotMountPoint in favor of mounter.IsNotMountPoint
2019-01-18 19:13:49 -08:00
Kubernetes Prow Robot
cc67ccfd7f
Merge pull request #71731 from cheftako/leaseMetric
Add gauge metric for master of leader election.
2019-01-08 08:57:53 -08:00
danielqsj
9325c75f55 Mark deprecated in related workqueue metrics 2019-01-08 18:08:09 +08:00
Yecheng Fu
037ab98521 Deprecate mount.IsNotMountPoint 2019-01-06 20:25:31 +08:00
Kubernetes Prow Robot
39529006f0
Merge pull request #68128 from dixudx/util_nsenter_owner
add myself to util/nsneter owners
2019-01-05 01:35:24 -08:00
Michelle Au
7a4f906f25 Rename UnmountMountPoint to CleanupMountPoint 2019-01-03 16:35:54 -08:00
Michelle Au
1dacde1210 Move linux test utils to os-independent test file 2019-01-03 16:35:54 -08:00
Michelle Au
f33d5d3b05 Add comments around use of PathExists 2019-01-03 16:34:53 -08:00
Michelle Au
57c7a200f0 Add unit test for UnmountMountPoint 2019-01-03 16:34:53 -08:00
Michelle Au
15d44a64e9 Update doCleanSubpaths to use UnmountMountPoint 2019-01-03 16:34:53 -08:00
Michelle Au
002a4e33d8 Move unmount volume util from pkg/volume/util to pkg/util/mount 2019-01-03 16:34:53 -08:00
Kubernetes Prow Robot
7284660483
Merge pull request #71300 from danielqsj/71165
Use prometheus conventions for workqueue metrics
2018-12-31 21:18:45 -08:00
Walter Fender
f192657380 Add gauge metric for master of leader election.
Fixes #71730
0 indicates standby, 1 indicates master, label indicates which lease.
Tweaked name and documentation
Factored in Mike Danese feedback.
Removed dependency on prometheus from client-go using adapter.
Centralized adapter import.
Fixed godeps
Fixed boilerplate.
Put in fixes for caesarxuchao
2018-12-27 09:40:33 -08:00
Laurent Bernaille
1412d53b62 [kube-proxy/ipvs] Protect Netlink calls with a mutex 2018-12-27 10:53:27 +01:00
Kubernetes Prow Robot
68451f301b
Merge pull request #72291 from msau42/fix-subpath-orphan
Fix subpath issues with orphaned pod cleanup
2018-12-26 19:48:27 -08:00
Michelle Au
3ebbbbd5d8 Leave refactoring TODO 2018-12-26 10:49:28 -08:00
Jonathan Basseri
ec247ca0be Add godoc to pkg/util/configz.
Document the intended use of this package. In particular, document the
fact that it is intended for ComponentConfig.
2018-12-19 17:38:30 -08:00
Dan Williams
2e339188ed OWNERS: add label:sig/network to a bunch of places 2018-12-19 00:00:02 -06:00
Walter Fender
d92ee41e44 Fix issue where missing external IP address breaks SSH Tunnel.
Added unit test to cover missing external IP case.
Justin's feedback.
Lint fix.
Lavalmap's feedback.
2018-12-12 10:59:32 -08:00
danielqsj
42214c5ac4 Using histogram metrics instead of summary 2018-12-12 17:53:24 +08:00
danielqsj
b828bc1a50 Use prometheus conventions for workqueue metrics 2018-12-12 16:55:13 +08:00
Kubernetes Prow Robot
f0bae6e9c5
Merge pull request #71573 from JacobTanenbaum/UDP_conntrack
Correctly Clear conntrack entry on endpoint changes when using nodeport
2018-12-07 15:01:43 -08:00
Haowei Cai
b109fda56d generated 2018-12-06 16:36:14 -08:00
Haowei Cai
c449c2735f Log metric registration error 2018-12-05 19:05:30 -08:00
Jacob Tanenbaum
144280e7a7 Correctly Clear conntrack entrty on endpoint changes when using nodeport
When using NodePort to connect to an endpoint using UDP, if the endpoint is deleted on
restoration of the endpoint traffic does not flow. This happens because conntrack holds
the state of the connection and the proxy does not correctly clear the conntrack entry
for the stale endpoint.

Introduced a new function to conntrack ClearEntriesForPortNAT that uses the endpointIP
and NodePort to remove the stale conntrack entry and allow traffic to resume when
the endpoint is restored.

Signed-off-by: Jacob Tanenbaum <jtanenba@redhat.com>
2018-12-03 15:02:48 -05:00
Jan Safranek
cfbf6aa925 Fix unit test to run with random UID
User that runs the tests desn't need to be in /etc/passwd and thus
user.Current() can fail. Assume the user is not root in this case.
2018-11-19 13:08:54 +01:00
k8s-ci-robot
bc6aee19b0
Merge pull request #70884 from lavalamp/workqueue
add a metric that can be used to notice stuck worker threads
2018-11-13 14:59:27 -08:00
Daniel Smith
980242c209 fixup! add longest_running_processor_microseconds metric 2018-11-12 21:57:57 -08:00
Daniel Smith
fd77aa5a41 add longest_running_processor_microseconds metric 2018-11-12 10:52:18 -08:00
Daniel Smith
578962d934 fixup! Test workqueue metrics
change units to seconds
2018-11-10 18:46:43 -08:00
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Daniel Smith
6195d1005d add a metric that can be used to notice stuck worker threads 2018-11-09 10:50:11 -08:00
Weibin Lin
7a591ed361 update bazel 2018-11-05 10:33:31 +08:00
Weibin Lin
4b90559369 use 'nf_conntrack' instead of 'nf_conntrack_ipv4' for linux kernel >= 4.19 2018-11-05 10:33:31 +08:00
k8s-ci-robot
5fdad5c19f
Merge pull request #68771 from liyongxin/master
typo fix from utilites to utilities
2018-11-03 16:50:28 -07:00
k8s-ci-robot
0be22d8ace
Merge pull request #70230 from qingsenLi/git181025
fix golint for /pkg/util/ipconfig and /pkg/util/resourcecontainer
2018-10-31 11:50:23 -07:00
k8s-ci-robot
4c874dbefe
Merge pull request #66367 from cpuguy83/speedup_pidof
getPids - don't recursively traverse every dir in /proc
2018-10-29 15:53:41 -07:00
qingsenLi
ca74d32e4c fix golint for /pkg/util/ipconfig and /pkg/util/resourcecontainer-2 2018-10-26 23:58:30 +08:00
tanshanshan
0ecff590bb fix golint for some of pkg/util 2018-10-17 10:11:49 +08:00
WanLinghao
fe3131ba87 clean all unused packages under pkg/util 2018-10-15 09:54:08 +08:00
k8s-ci-robot
3dbb1481f2
Merge pull request #69491 from chrischdi/lint-pkg-util-strings
fix golint errors in pkg/util/strings
2018-10-11 18:26:43 -07:00
k8s-ci-robot
cda667e217
Merge pull request #69515 from WanLinghao/clean_term
clean unused package: pkg/util/term
2018-10-11 13:45:32 -07:00
k8s-ci-robot
820c9eef3f
Merge pull request #69512 from islinwb/reuse_GetNodeIP
Reuse func getNodeIP
2018-10-11 13:45:22 -07:00
Jan Safranek
0b8c472578 Fixed subpath in containerized kubelet.
IsNotMountPoint should return no error when the checked directory does not
exists - missing directory can't be mounted. Therefore containerized
kubelet should check if the target exists first before resolving symlinks.
EvalHostSymlinks() returns indistinguishible error in case the path does
not exist.
2018-10-09 13:11:23 +02:00
Weibin Lin
2d2ecb15d2 update bazel 2018-10-09 10:27:27 +08:00
Weibin Lin
0d57ec2938 reuse func getNodeIP 2018-10-09 10:27:27 +08:00
WanLinghao
26837d4858 clean unused package: pkg/util/term 2018-10-08 18:19:20 +08:00
Christian Schlotter
398039b36e fix golint errors in pkg/util/strings
Signed-off-by: Christian Schlotter <christi.schlotter@gmail.com>
2018-10-06 13:35:19 +02:00
k8s-ci-robot
ecfd1a3e56
Merge pull request #68945 from gnufied/fix-mount-options
Make sure we pass mount options while creating bind mounts
2018-10-01 09:27:54 -07:00
k8s-ci-robot
577e06e0b8
Merge pull request #69222 from SataQiu/fix-2018092805
fix typo
2018-10-01 04:40:34 -07:00
liangwei
456c351e31 fix bugs introduced by ipvs graceful termination 2018-09-30 16:40:13 +08:00
SataQiu
94a653f100 fix typo 2018-09-28 23:41:24 +08:00
liangwei
9e4f84f42e ipvs connection based graceful termination 2018-09-27 15:16:48 +08:00
liangwei
80ff8b359c ipvs support graceful termination 2018-09-27 15:14:51 +08:00
k8s-ci-robot
3fe21e5433
Merge pull request #68922 from BenTheElder/version-staging
move pkg/util/version to staging
2018-09-26 22:59:42 -07:00
k8s-ci-robot
29cff0d518
Merge pull request #68741 from jsafrane/fix-var-symlink
Fixed subpath cleanup when /var/lib/kubelet is a symlink.
2018-09-26 14:42:44 -07:00
Hemant Kumar
6eda6d1a06 Make sure we pass mount options while creating bind mounts
This fixes an inconsitency that exists in mounter
2018-09-26 15:12:05 -04:00
k8s-ci-robot
c7a67b3e1b
Merge pull request #68626 from gnufied/fix-netdev-mount-opt
Apply _netdev mount option in bind mount if available
2018-09-25 17:00:36 -07:00
k8s-ci-robot
450fdc9c09
Merge pull request #68608 from andyzhangx/UnmountDevice-windows
fix UnmountDevice failure on Windows
2018-09-25 17:00:17 -07:00
k8s-ci-robot
30bf07a8bc
Merge pull request #68344 from Nordix/nordix-dev
Include all used hash types in compare when creating ipsets
2018-09-25 14:40:51 -07:00
k8s-ci-robot
cdfd62ffb9
Merge pull request #68263 from islinwb/patch-1
add a missing "%s"
2018-09-25 06:13:53 -07:00
Benjamin Elder
8b56eb8588 hack/update-gofmt.sh 2018-09-24 12:21:29 -07:00
Benjamin Elder
f828c6f662 hack/update-bazel.sh 2018-09-24 12:03:24 -07:00
Benjamin Elder
088cf3c37b find & replace version import 2018-09-24 12:03:24 -07:00
Benjamin Elder
e01cb6fe80 hack/update-bazel.sh 2018-09-24 12:00:00 -07:00
Benjamin Elder
b22d036cf8 move pkg/util/version into staging 2018-09-24 12:00:00 -07:00
andyzhangx
74f010260f fix UnmountDevice failure on Windows
add comments

fix test failure
2018-09-19 01:44:01 +00:00
David Zhu
704573d304 GetMountRefs shouldn't error when file doesn'g exist in Windows and nsenter. Add unit test 2018-09-18 10:45:02 -07:00
Yongxin Li
6a98ce78e4 typo fix from utilites to utilities
Signed-off-by: Yongxin Li <yxli@alauda.io>
2018-09-18 13:52:04 +08:00
David Zhu
9d207b3e3c GetMountRefs should not fail if the path supplied does not exist anymore. It has no mount references 2018-09-17 17:35:12 -07:00
Jan Safranek
9e24ccbda0 Fixed subpath cleanup when /var/lib/kubelet is a symlink. 2018-09-17 15:52:25 +02:00
Hemant Kumar
e881a29107 Apply _netdev mount option in bind mount if available
_netdev mount option is a userspace mount option and
isn't copied over when bind mount is created and remount
also does not copies it over and hence must be explicitly
used with bind mount
2018-09-13 13:47:34 -04:00
Lars Ekman
e818b8ffc5 Fix issue #68338
The ipset KUBE-LOAD-BALANCER-SOURCE-CIDR is not recogized as
a hash set
2018-09-06 11:00:14 +02:00
Kubernetes Submit Queue
c3062bae21
Merge pull request #68233 from luxas/ccm_cleanup
Automatic merge from submit-queue (batch tested with PRs 68171, 67945, 68233). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Move the CloudControllerManagerConfiguration to an API group in `cmd/`

**What this PR does / why we need it**:
This PR is the last piece of https://github.com/kubernetes/kubernetes/issues/67233.
It moves the `CloudControllerManagerConfiguration` to its own `cloudcontrollermanager.config.k8s.io` config API group, but unlike the other components this API group is "private" (only available in `k8s.io/kubernetes`, which limits consumer base), as it's located entirely in `cmd/` vs a staging repo.
This decision was made for now as we're not sure what the story for the ccm loading ComponentConfig files is, and probably a "real" file-loading ccm will never exist in core, only helper libraries. Eventually the ccm will only be a library in any case, and implementors will/can use the base types the ccm library API group provides. It's probably good to note that there is no practical implication of this change as the ccm **cannot** read ComponentConfig files. Hencec the code move isn't user-facing.

With this change, we're able to remove `pkg/apis/componentconfig`, as this was the last consumer. That is hence done in this PR as well (so the move is easily visible in git, vs first one "big add" then a "big remove"). The only piece of code that was used was the flag helper structs, so I moved them to `pkg/util/flag` that I think makes sense for now.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
ref: kubernetes/community#2354

**Special notes for your reviewer**:

This PR builds on top of (first two commits, marked as `Co-authored by: @stewart-yu`) https://github.com/kubernetes/kubernetes/pull/67689

**Release note**:

```release-note
NONE
```
/assign @liggitt @sttts @thockin @stewart-yu
2018-09-05 21:36:41 -07:00
Lucas Käldström
3ff1e53111
Move the flag registration code from pkg/apis/componentconfig to pkg/util/flag 2018-09-05 14:03:05 +03:00
Weibin Lin
a1a8f36a69
add a missing "%s" 2018-09-05 10:45:03 +08:00
NickrenREN
8d3fdc5a32 fix UT errors and add new UTs 2018-09-03 13:35:17 +08:00
NickrenREN
7157d4582b make pathWithinBase public 2018-09-03 13:34:56 +08:00
Katharine Berry
9390847bd5 Change owners. 2018-08-31 18:01:02 -07:00
Katharine Berry
c3e08bec7a Add owners. 2018-08-31 17:51:42 -07:00
Katharine Berry
13d1961d2b Improve error behaviour of package coverage. 2018-08-31 17:06:20 -07:00
Katharine Berry
2d36e9e874 Add KUBE_COVERAGE_FLUSH_INTERVAL to set flush interval. 2018-08-31 15:52:48 -07:00
Katharine Berry
0fb4b920b5 Address review comments. 2018-08-31 10:49:36 -07:00
Di Xu
7162953a5f add myself to util/nsneter owners 2018-08-31 19:21:48 +08:00
Katharine Berry
6afc130340 Add autogenerated BUILD files. 2018-08-29 14:48:24 -07:00
Katharine Berry
da4bbd421c Add runtime coverage support. 2018-08-29 14:48:24 -07:00
Laszlo Janosi
cbe94df8c6 gofmt update 2018-08-27 05:59:50 +00:00
Laszlo Janosi
a6da2b1472 K8s SCTP support implementation for the first pull request
The requested Service Protocol is checked against the supported protocols of GCE Internal LB. The supported protocols are TCP and UDP.

SCTP is not supported by OpenStack LBaaS. If SCTP is requested in a Service with type=LoadBalancer, the request is rejected. Comment style is also corrected.

SCTP is not allowed for LoadBalancer Service and for HostPort. Kube-proxy can be configured not to start listening on the host port for SCTP: see the new SCTPUserSpaceNode parameter

changed the vendor github.com/nokia/sctp to github.com/ishidawataru/sctp. I.e. from now on we use the upstream version.

netexec.go compilation fixed. Various test cases fixed

SCTP related conformance tests removed. Netexec's pod definition and Dockerfile are updated to expose the new SCTP port(8082)

SCTP related e2e test cases are removed as the e2e test systems do not support SCTP

sctp related firewall config is removed from cluster/gce/util.sh. Variable name sctp_addr is corrected to sctpAddr in pkg/proxy/ipvs/proxier.go

cluster/gce/util.sh is copied from master
2018-08-27 05:56:27 +00:00
Kubernetes Submit Queue
b883c5905a
Merge pull request #67328 from cofyc/fix65113-2
Automatic merge from submit-queue (batch tested with PRs 66916, 67252, 67794, 67619, 67328). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Using a fixed set of locks, then we don't need to free unused locks anymore.

**What this PR does / why we need it**:

Using a fixed set of locks, then we don't need to free unused locks anymore.
See kubernetes/kubernetes/pull/66442 for discussions.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #65113

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

/assign @msau42 
/assign @thockin
2018-08-24 15:25:17 -07:00
Yecheng Fu
798838a6a0 Using a fixed set of locks, then we don't need to free unused locks
anymore.
See kubernetes/kubernetes/pull/66442 for discussions.
2018-08-24 12:24:09 +08:00
Kubernetes Submit Queue
39e341c11f
Merge pull request #66639 from hanxiaoshuai/fix07251
Automatic merge from submit-queue (batch tested with PRs 66592, 66639). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

refactor some hard code in pkg/util/ipset/ipset.go

**What this PR does / why we need it**:
refactor some hard code in pkg/util/ipset/ipset.go
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-19 22:40:00 -07:00
Kubernetes Submit Queue
4c08bd9abc
Merge pull request #66592 from hanxiaoshuai/addut0723
Automatic merge from submit-queue (batch tested with PRs 66592, 66639). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add unit test for func EntryString in util/ipset

**What this PR does / why we need it**:

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:
add unit test for func EntryString in util/ipset
**Release note**:

```release-note
NONE
```
2018-08-19 22:39:57 -07:00
Kubernetes Submit Queue
40af953850
Merge pull request #67068 from sttts/sttts-non-fatal-ratelimitermetircs-reuse
Automatic merge from submit-queue (batch tested with PRs 66793, 67405, 67068, 67501, 67484). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

pkg/util/metrics: make re-registration of RateLimiterMetric non-fatal

In integration tests we might register these metrics multiple times in parallel. Instead of unregistering and making somehow sure those tests can run in parallel, we just make the registration idem-potent.

Prerequisite for controller manager integration tests https://github.com/kubernetes/kubernetes/pull/64149.
2018-08-17 05:05:17 -07:00
Dr. Stefan Schimanski
e8300dea52 pkg/util/metrics: idem-potent registration of RateLimiterMetric and never cleanup 2018-08-17 09:15:33 +02:00
fisherxu
5a9bea0353 update bazel 2018-08-16 09:59:33 +08:00
x00416946 fisherxu
79e17e6cd7 use versioned api in kube-proxy 2018-08-16 09:59:33 +08:00
Kubernetes Submit Queue
cb1ef9f7e8
Merge pull request #64815 from dixudx/hostname_empty
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

error out empty hostname

**What this PR does / why we need it**:
For linux, the hostname is read from file `/proc/sys/kernel/hostname` directly, which can be overwritten with whitespaces.

Should error out such invalid hostnames.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes kubernetes/kubeadm#835

**Special notes for your reviewer**:
/cc luxas timothysc 

**Release note**:

```release-note
nodes: improve handling of erroneous host names
```
2018-08-03 17:13:32 -07:00
Kubernetes Submit Queue
82c8e063b8
Merge pull request #66850 from linyouchong/pr-0801-issue66809
Automatic merge from submit-queue (batch tested with PRs 66850, 66902, 66779, 66864, 66912). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix unit test failure: TestNsenterExistsFile

**What this PR does / why we need it**:
Fix unit test failure: TestNsenterExistsFile

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #66809 

**Special notes for your reviewer**:
NONE

**Release note**:
```release-note
NONE
```
2018-08-02 10:03:09 -07:00
linyouchong
708cff1a43 Fix unit test failure: TestNsenterExistsFile 2018-08-02 00:01:53 +08:00
Di Xu
b3dfe0c652 nodes: improve handling of erroneous host names 2018-08-01 14:57:25 +08:00
hangaoshuai
f189015c03 add unit test for func EntryString in util/ipset 2018-07-28 17:47:14 +08:00
stewart-yu
f1343af5d7 auto-generated file 2018-07-28 07:54:17 +08:00