Commit Graph

2216 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
85575e929b Merge pull request #83387 from danwinship/proxy-error-retry
If an iptables proxier sync fails, retry after iptablesSyncPeriod
2019-10-31 21:53:23 -07:00
Dan Winship
4c5f4cb353 BoundedFrequencyRunner: add RetryAfter 2019-10-29 07:36:00 -04:00
Yecheng Fu
c0788c1f21 Update GetMountRefs comments 2019-10-27 15:55:07 +08:00
Dan Winship
478fadccff BoundedFrequencyRunner: fix tests
The tests were using a fake timer that only ticked when the test cases
told it to, so it would only be correctly testing the
BoundedFrequencyRunner functionality if the test cases made it tick
whenever the BFR timer was supposed to expire, and didn't make it tick
at any other time. But they didn't do that. Fix it to tick
automatically at the correct times, and update the test cases
accordingly (including adding a new helper method for asserting that
the runner did nothing in cases when it's expected to have done
nothing).

Also fix two unrelated minor bugs in fakeTimer.
2019-10-22 08:17:30 -04:00
zouyee
a864fd2100 fix unsafe JSON construction
Signed-off-by: Zou Nengren <zouyee1989@gmail.com>
2019-10-10 09:44:54 +08:00
Yassine TIJANI
c1487840bc move util/metrics to component-base
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-10-08 14:42:31 +02:00
Kubernetes Prow Robot
e0cb1617db Merge pull request #78357 from sbueringer/fix-golint-pkg-util
Fix golint issues in pkg/util/env
2019-10-05 08:41:10 -07:00
Dan Winship
2f89c03c63 iptables.Monitor: don't be fooled by "could not get lock" errors 2019-10-02 11:35:12 -04:00
Kubernetes Prow Robot
74d2822662 Merge pull request #72535 from tallclair/content-type
Always set content-type & nosniff
2019-09-27 18:43:39 -07:00
Stefan Bueringer
fa36b19e79 Fix golint issues in pkg/util/env 2019-09-27 17:25:19 +02:00
chenyaqi01
3175c9e226 simplify regexp with raw string 2019-09-20 16:53:56 +08:00
Dan Winship
3948f16ff4 Add iptables.Monitor, use it from kubelet and kube-proxy
Kubelet and kube-proxy both had loops to ensure that their iptables
rules didn't get deleted, by repeatedly recreating them. But on
systems with lots of iptables rules (ie, thousands of services), this
can be very slow (and thus might end up holding the iptables lock for
several seconds, blocking other operations, etc).

The specific threat that they need to worry about is
firewall-management commands that flush *all* dynamic iptables rules.
So add a new iptables.Monitor() function that handles this by creating
iptables-flush canaries and only triggering a full rule reload after
noticing that someone has deleted those chains.
2019-09-17 10:19:26 -04:00
Dan Winship
b6c3d5416a Drop iptables firewalld monitoring support
The firewalld monitoring code was not well tested (and not easily
testable), would never be triggered on most platforms, and was only
being taken advantage of from one place (kube-proxy), which didn't
need it anyway since it already has its own resync loop.

Since the firewalld monitoring was the only consumer of pkg/util/dbus,
we can also now delete that.
2019-09-15 15:35:40 -04:00
Kubernetes Prow Robot
85827dc224 Merge pull request #82602 from danwinship/iptables-rhel-fix-2
Fix iptables version detection code to handle RHEL 7 correctly
2019-09-12 11:46:40 -07:00
Dan Winship
75888077d3 Fix iptables version detection code to handle RHEL 7 correctly 2019-09-11 18:47:58 -04:00
Tim Allclair
ef6cba0b36 Always set content-type & nosniff 2019-09-11 15:01:43 -07:00
Kubernetes Prow Robot
10979d4c75 Merge pull request #82032 from logicalhan/owners
add myself to util metrics owners
2019-09-11 14:04:33 -07:00
Kubernetes Prow Robot
3f4e30a80e Merge pull request #82113 from kebe7jun/fix/log-format-and-typo
Fix sync pod log format
2019-09-11 10:39:14 -07:00
Kubernetes Prow Robot
d5da17e58e Merge pull request #81432 from logicalhan/clean-shared-metrics
delete shared metrics (post metrics-stability migration)
2019-09-10 14:30:32 -07:00
Kubernetes Prow Robot
542f3c65a0 Merge pull request #78547 from MikeSpreitzer/fix-76699
Make iptables and ipvs modes of kube-proxy MASQUERADE --random-fully if possible
2019-09-03 14:34:58 -07:00
Mike Spreitzer
d86d1defa1 Made IPVS and iptables modes of kube-proxy fully randomize masquerading if possible
Work around Linux kernel bug that sometimes causes multiple flows to
get mapped to the same IP:PORT and consequently some suffer packet
drops.

Also made the same update in kubelet.

Also added cross-pointers between the two bodies of code, in comments.

Some day we should eliminate the duplicate code.  But today is not
that day.
2019-09-01 22:07:30 -04:00
Han Kang
d301e9c3a5 clean-up shared metrics code and remaining references (component-base's copy is a drop in replacement) 2019-08-30 10:41:52 -07:00
Travis Rhoden
935c23f2ad Move HostUtil to pkg/volume/util/hostutil
This patch moves the HostUtil functionality from the util/mount package
to the volume/util/hostutil package.

All `*NewHostUtil*` calls are changed to return concrete types instead
of interfaces.

All callers are changed to use the `*NewHostUtil*` methods instead of
directly instantiating the concrete types.
2019-08-30 10:14:42 -06:00
Kubernetes Prow Robot
96439cc97f Merge pull request #82028 from codenrhoden/rename-isbind
Rename mount.IsBind to mount.MakeBindOpts
2019-08-30 00:43:32 -07:00
Kubernetes Prow Robot
d6bc4eb853 Merge pull request #81624 from logicalhan/cm-migration
migrate controller-manager metrics to stability framework
2019-08-29 05:30:09 -07:00
KEBE
8dc401d141 Fix sync pod log format and a func typo. 2019-08-29 14:39:43 +08:00
Han Kang
59db3ac27e migrate controller-manager metrics to stability framework 2019-08-28 12:26:57 -07:00
Clayton Coleman
a49a554211 Move the IsMasterNode function to tests and mark it Deprecated
A future change will stop using this signal and instead use a
label selector passed on creation.
2019-08-28 11:17:27 -04:00
Han Kang
17c6414135 add myself to util metrics owners 2019-08-27 15:19:25 -07:00
Travis Rhoden
ef855c7c08 Rename mount.IsBind to mount.MakeBindOpts 2019-08-27 11:34:42 -06:00
Kubernetes Prow Robot
0eb1bfc9b5 Merge pull request #81732 from tallclair/merge-tolerations
Fix toleration comparison & merging logic
2019-08-27 09:25:09 -07:00
Kubernetes Prow Robot
bc46e8fc53 Merge pull request #81739 from codenrhoden/clarify-mkdir-mkfile-behavior
Move MakeFile/Dir from HostUtil to host_path vol
2019-08-27 00:53:24 -07:00
Tim Allclair
2e08288144 Remove conflict logic from PodTolerationRestriction 2019-08-26 15:31:15 -07:00
Tim Allclair
5a50b3f4a2 Fix toleration comparison & merging logic 2019-08-26 15:25:49 -07:00
Travis Rhoden
107039a265 Move MakeFile/Dir from HostUtil to host_path vol
The MakeFile and MakeDir methods in the HostUtil interface only had one
caller -- the Host Path volume plugin. This patch relocates MakeFile and
MakeDir to the Host Path plugin itself.
2019-08-26 10:46:08 -06:00
Travis Rhoden
a30ba6197d Internalize mount.Interface.IsMountPointMatch
IsMountPointMatch() had no callers outside of the mount package, and has
internal implementation details. This patch makes it no longer be
public.
2019-08-26 09:47:07 -06:00
Kubernetes Prow Robot
7ebbe34d9c Merge pull request #81794 from codenrhoden/split-host-utils2
Split HostUtil functionality into its own files
2019-08-24 22:28:21 -07:00
Kubernetes Prow Robot
f1453953b7 Merge pull request #81745 from codenrhoden/mv-hasmountrefs
mv HasMountRefs from mount pkg to vol/util
2019-08-23 00:52:13 -07:00
Kubernetes Prow Robot
37651f1cef Merge pull request #80368 from danwinship/iptables-checks
iptables feature detection improvements
2019-08-22 13:31:20 -07:00
Travis Rhoden
b94ee6bcb1 Split HostUtil functionality into its own files
This patch takes all the HostUtil functionality currently found in
mount*.go files and copies it into hostutil*.go files. Care was taken to
preserve git history to the fullest extent.

As part of doing this, some common functionality was moved into
mount_helper files in preperation for HostUtils to stay in k/k and Mount
to move out. THe tests for each relevant function were moved to test
files to match the appropriate location.
2019-08-22 11:19:52 -06:00
Travis Rhoden
e0050ebc94 move testfiles back 2019-08-22 10:42:34 -06:00
Travis Rhoden
c55b19bc0a copy testfiles to hostutil dir 2019-08-22 10:42:02 -06:00
Travis Rhoden
8bac909287 move files back to mount 2019-08-22 10:39:18 -06:00
Travis Rhoden
6a21076039 copy mount files to hostutils 2019-08-22 10:37:37 -06:00
Travis Rhoden
a7830a2c6e mv HasMountRefs from mount pkg to vol/util
HasMountRefs is only used internal to K8s and should not be moved out
with the mount package. move it to pkg/volume/util instead.
2019-08-21 14:53:34 -06:00
Yassine TIJANI
4d9e4f0b45 move ShuffleStrings to pkg/proxy
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-08-21 20:03:53 +01:00
Kubernetes Prow Robot
76e19a1619 Merge pull request #81204 from codenrhoden/rename-hu-pathexists
Rename HostUtils.ExistsPath to PathExists
2019-08-12 20:12:12 -07:00
Kubernetes Prow Robot
1d812991b6 Merge pull request #81230 from codenrhoden/rename-GetFSGroup
Rename HostUtils.GetFSGroup to HostUtils.GetOwner
2019-08-09 23:57:26 -07:00
Kubernetes Prow Robot
d816998bd8 Merge pull request #81187 from codenrhoden/rename-newosexec
Rename mount.NewOsExec to mount.NewOSExec
2019-08-09 22:17:13 -07:00
Kubernetes Prow Robot
c8c9d2e21c Merge pull request #77167 from paulsubrata55/spaul-kube-proxy-fix
Fix for kube-proxy to wait for some duration for the node to be defined.
2019-08-09 19:47:14 -07:00