Commit Graph

44743 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
50b982edab Merge pull request #109227 from Monokaix/refactor-pleg/getContainersFromPods
refactor: pleg/getContainersFromPods
2022-06-28 10:17:58 -07:00
Kubernetes Prow Robot
8f755aad55 Merge pull request #110745 from AllenZMC/improve_printers
Check for errors ahead of time
2022-06-28 08:03:58 -07:00
Kubernetes Prow Robot
6269784cd0 Merge pull request #109250 from d-honeybadger/fix-cronjob-scheduling-every-syntax
Fix requeueing of cronjobs with every-style schedule
2022-06-28 04:37:57 -07:00
Kubernetes Prow Robot
10bea49c12 Merge pull request #110140 from marosset/hpc-sandbox-config-fixes
Fixing issue in generatePodSandboxWindowsConfig for hostProcess containers
2022-06-27 20:21:57 -07:00
Kubernetes Prow Robot
7c8721ae29 Merge pull request #110711 from 249043822/br-evictionlog
fix evictionManager debugLog wrong
2022-06-27 19:16:25 -07:00
Kubernetes Prow Robot
b19d50d68e Merge pull request #110075 from luckerby/104584-retry-dial-on-socket-windows-base
Retry Unix domain sockets on Windows nodes for the plugin registration mechanism
2022-06-27 19:16:16 -07:00
Kubernetes Prow Robot
0f3bf88a91 Merge pull request #108682 from chymy/nilpointer
Method call 'err.Error()' might lead to a nil pointer dereference for pkg/kubelet/cm/cpumanager/cpu_assignment_test.go
2022-06-27 19:15:56 -07:00
Kubernetes Prow Robot
123713b496 Merge pull request #110504 from pohly/kubelet-shutdown-test
kubelet: convert node shutdown manager to contextual logging
2022-06-27 18:10:15 -07:00
Kubernetes Prow Robot
832c4d8cb7 Merge pull request #110503 from aojea/iptables_rules
kube-proxy iptables test number of generated iptables rules
2022-06-27 18:10:08 -07:00
Kubernetes Prow Robot
92945a1a32 Merge pull request #109691 from zhangxyjlu/kubelet_testgetter
Add test case for getPodVolumeSubpathsDir
2022-06-27 18:09:57 -07:00
Kubernetes Prow Robot
10810ab42b Merge pull request #110788 from 21kyu/change_reflect_ptr
Change reflect.Ptr to reflect.Pointer
2022-06-27 10:16:59 -07:00
Kubernetes Prow Robot
aefb71d7ef Merge pull request #110721 from jsafrane/fix-force-detach
Don't force detach volume from healthy nodes
2022-06-27 07:49:12 -07:00
21kyu
df168d5b5c Change reflect.Ptr to reflect.Pointer 2022-06-26 01:23:43 +09:00
Kubernetes Prow Robot
d2c5779dad Merge pull request #110776 from harry1064/remove-clock-pkg-scheduler
Use clock package from k8s.io/utils/clock
2022-06-24 22:32:57 -07:00
Kubernetes Prow Robot
11686e1386 Merge pull request #110771 from alculquicondor/increase_timeout
Wait for cache sync in TestSyncPastDeadlineJobFinished
2022-06-24 13:28:59 -07:00
harry1064
fceb5cd4b1 Use clock package from k8s.io/utils/clock
- Remove unwanted clock.go file.
2022-06-25 00:25:12 +08:00
Kubernetes Prow Robot
42fec42586 Merge pull request #110756 from lokichoggio/proxy
fix comments in pkg/proxy/types.go
2022-06-24 07:03:10 -07:00
Kubernetes Prow Robot
4df3f2b9f0 Merge pull request #110411 from trierra/px-beta-125
promote the Portworx feature gate to Beta
2022-06-24 07:02:58 -07:00
Aldo Culquicondor
62a25920e6 Wait for cache sync in TestSyncPastDeadlineJobFinished
Change-Id: I6f023ca6999108f4f86a0f57831d47704cdbb42b
2022-06-24 09:22:59 -04:00
Jan Safranek
3b94ac228a Don't force detach volume from healthy nodes
6 minute force-deatch timeout should be used only for nodes that are not
healthy. 

In case a CSI driver is being upgraded or it's simply slow, NodeUnstage
can take more than 6 minutes. In that case, Pod is already deleted from the
API server and thus A/D controller will force-detach a mounted volume,
possibly corrupting the volume and breaking CSI - a CSI driver expects
NodeUnstage to succeed before Kubernetes can call ControllerUnpublish.
2022-06-24 12:51:41 +02:00
Kubernetes Prow Robot
7a9268d83a Merge pull request #110719 from xakdwch/master
volume/fc: fix FibreChannel volume plugin matching wrong disks
2022-06-24 03:40:57 -07:00
Patrick Ohly
7f55a0bae0 kubelet: avoid manipulating global logger during unit test
The code as it stands now works, but it is still complicated and previous
versions had race
conditions (https://github.com/kubernetes/kubernetes/issues/108040). Now the
test works without modifying global state. The individual test cases could run
in parallel, this just isn't done because they complete quickly already (2
seconds).
2022-06-24 11:27:40 +02:00
Patrick Ohly
65385fec20 kubelet: convert node shutdown manager to contextual logging
This will make output checking easier (done in a separate commit). kubelet
itself still uses the global logger.
2022-06-24 11:20:34 +02:00
lokichoggio
52280de403 fix comments in pkg/proxy/types.go 2022-06-24 09:50:02 +08:00
AllenZMC
711896b68b Check for errors ahead of time
Signed-off-by: AllenZMC <zhongming.chang@daocloud.io>
2022-06-23 23:26:17 +08:00
Kubernetes Prow Robot
1e3c973e72 Merge pull request #110628 from danwinship/kep-3178-ipvs-mark-drop
don't use KUBE-MARK-DROP in ipvs proxy
2022-06-23 07:59:55 -07:00
xakdwch
ddcc448070 volume/fc: fix FibreChannel volume plugin matching wrong disks
Before:
  findDisk()
    fcPathExp := "^(pci-.*-fc|fc)-0x" + wwn + "-lun-" + lun
After:
  findDisk()
    fcPathExp := "^(pci-.*-fc|fc)-0x" + wwn + "-lun-" + lun + "$"

fc path may have the same wwns but different luns.for example:
pci-0000:41:00.0-fc-0x500a0981891b8dc5-lun-1
pci-0000:41:00.0-fc-0x500a0981891b8dc5-lun-12

Function findDisk() may mismatch the fc path, return the wrong device and wrong associated devicemapper parent.
This may cause a disater that pods attach wrong disks. Accutally it happended in my testing environment before.
2022-06-23 16:36:01 +08:00
Kubernetes Prow Robot
ae3537120b Merge pull request #110639 from aojea/slice_no_node
EndpointSlice with Pods without an existing Node
2022-06-22 10:43:42 -07:00
Dan Winship
28253f6030 proxy/ipvs: Use DROP directly rather than KUBE-MARK-DROP
The ipvs proxier was figuring out LoadBalancerSourceRanges matches in
the nat table and using KUBE-MARK-DROP to mark unmatched packets to be
dropped later. But with ipvs, unlike with iptables, DNAT happens after
the packet is "delivered" to the dummy interface, so the packet will
still be unmodified when it reaches the filter table (the first time)
so there's no reason to split the work between the nat and filter
tables; we can just do it all from the filter table and call DROP
directly.

Before:

  - KUBE-LOAD-BALANCER (in nat) uses kubeLoadBalancerFWSet to match LB
    traffic for services using LoadBalancerSourceRanges, and sends it
    to KUBE-FIREWALL.

  - KUBE-FIREWALL uses kubeLoadBalancerSourceCIDRSet and
    kubeLoadBalancerSourceIPSet to match allowed source/dest combos
    and calls "-j RETURN".

  - All remaining traffic that doesn't escape KUBE-FIREWALL is sent to
    KUBE-MARK-DROP.

  - Traffic sent to KUBE-MARK-DROP later gets dropped by chains in
    filter created by kubelet.

After:

  - All INPUT and FORWARD traffic gets routed to KUBE-PROXY-FIREWALL
    (in filter). (We don't use "KUBE-FIREWALL" any more because
    there's already a chain in filter by that name that belongs to
    kubelet.)

  - KUBE-PROXY-FIREWALL sends traffic matching kubeLoadbalancerFWSet
    to KUBE-SOURCE-RANGES-FIREWALL

  - KUBE-SOURCE-RANGES-FIREWALL uses kubeLoadBalancerSourceCIDRSet and
    kubeLoadBalancerSourceIPSet to match allowed source/dest combos
    and calls "-j RETURN".

  - All remaining traffic that doesn't escape
    KUBE-SOURCE-RANGES-FIREWALL is dropped (directly via "-j DROP").

  - (KUBE-LOAD-BALANCER in nat is now used only to set up masquerading)
2022-06-22 13:02:22 -04:00
Dan Winship
a9cd57fa40 proxy/ipvs: add filter table support to ipsetWithIptablesChain 2022-06-22 12:53:18 -04:00
Kubernetes Prow Robot
b60978629d Merge pull request #110700 from alculquicondor/increase_timeout
Increase timeout for TestSyncPastDeadlineJobFinished
2022-06-22 08:23:56 -07:00
Kubernetes Prow Robot
18b5efceda Merge pull request #110410 from Jiawei0227/master
CSIMigration feature gate to GA
2022-06-22 04:05:48 -07:00
ZhangKe10140699
08235a5835 fix evictionManager debugLog wrong 2022-06-22 16:08:43 +08:00
Antonio Ojea
b8ba6ab005 endpointslices: node missing on Pod scenario
When a Pod is referencing a Node that doesn't exist on the local
informer cache, the current behavior was to return an error to
retry later and stop processing.
However, this can cause scenarios that a missing node leaves a
Slice stuck, it can no reflect other changes, or be created.
Also, this doesn't respect the publishNotReadyAddresses options
on Services, that considers ok to publish pod Addresses that are
known to not be ready.

The new behavior keeps retrying the problematic Service, but it
keeps processing the updates, reflacting current state on the
EndpointSlice. If the publishNotReadyAddresses is set, a missing
node on a Pod is not treated as an error.
2022-06-22 09:45:16 +02:00
Antonio Ojea
baecb1981e fix metrics for placeholder slice
There is always a placeholder slice.

The ServicePortCache logic was considering always one endpointSlice
per Endpoint, but if there are multiple empty Endpoints, we just
use one placeholder slice, not multiple placeholder slices.
2022-06-22 09:45:02 +02:00
Antonio Ojea
0d9689a55d fix a bug on endpointslices tests comparing the wrong metrics 2022-06-22 09:40:18 +02:00
Kubernetes Prow Robot
3d5971aa5d Merge pull request #110167 from NoicFank/master
scheduling: fix duplicate checks for number of enabled queue sort plugin
2022-06-21 13:15:43 -07:00
Aldo Culquicondor
817c8bbf59 Increase timeout for TestSyncPastDeadlineJobFinished
To mitigate flakiness

Change-Id: I1d0286d16d2b7dd3a605690e9a2d4d2f954701ff
2022-06-21 14:49:10 -04:00
Kubernetes Prow Robot
a57c140a12 Merge pull request #110567 from xiaomudk/patch-2
Remove redundant variable definitions in scheduler apis defaults.go
2022-06-21 09:46:25 -07:00
Kante Yin
e844c12a61 Cleanup: defer to close server in tests (#110367)
* Cleanup: defer to close server in tests

Signed-off-by: kerthcet <kerthcet@gmail.com>

* address comments

Signed-off-by: kerthcet <kerthcet@gmail.com>

* address comments

Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-06-21 08:00:38 -07:00
Kubernetes Prow Robot
375fd32b9f Merge pull request #109957 from adammw/adammw/disruption-implements-scale
disruptioncontroller: check for scale subresource correctly
2022-06-21 08:00:26 -07:00
Abirdcfly
984ed7ab94 typo in comments pkg/kubelet/volumemanager/volume_manager.go
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-06-20 09:59:01 +08:00
Patrick Ohly
4c6338ac0f logs: replace config methods with functions
API types are only supposed to have methods related to serialization.
2022-06-17 20:22:13 +02:00
Patrick Ohly
ea3f25f49b logs: add alpha+beta feature gates
It is useful to have the ability to control whether alpha or beta features are
enabled. We can group features under LoggingAlphaOptions and LoggingBetaOptions
because the configuration is designed so that each feature individually must be
enabled via its own option.

Currently, the JSON format itself is beta (graduated in 1.23) but additional
options for it were only added in 1.23 and thus are still alpha:

  $ go run ./staging/src/k8s.io/component-base/logs/example/cmd/logger.go --logging-format=json --log-json-split-stream --log-json-info-buffer-size 1M --feature-gates LoggingBetaOptions=false
  [format: Forbidden: Log format json is BETA and disabled, see LoggingBetaOptions feature, options.json.splitStream: Forbidden: Feature LoggingAlphaOptions is disabled, options.json.infoBufferSize: Forbidden: Feature LoggingAlphaOptions is disabled]

  $ go run ./staging/src/k8s.io/component-base/logs/example/cmd/logger.go --logging-format=json --log-json-split-stream --log-json-info-buffer-size 1M
  [options.json.splitStream: Forbidden: Feature LoggingAlphaOptions is disabled, options.json.infoBufferSize: Forbidden: Feature LoggingAlphaOptions is disabled]

This is the same approach that was taken for CPUManagerPolicyAlphaOptions and
CPUManagerPolicyBetaOptions.

In order to test this without modifying the global feature gate in a test file,
ValidateKubeletConfiguration must take a feature gate as argument.
2022-06-17 20:22:13 +02:00
Patrick Ohly
1aceac797d logs: make LoggingConfiguration an unversioned API
Making the LoggingConfiguration part of the versioned component-base/config API
had the theoretic advantage that components could have offered different
configuration APIs with experimental features limited to alpha versions (for
example, sanitization offered only in a v1alpha1.KubeletConfiguration). Some
components could have decided to only use stable logging options.

In practice, this wasn't done. Furthermore, we don't want different components
to make different choices regarding which logging features they offer to
users. It should always be the same everywhere, for the sake of consistency.

This can be achieved with a saner Go API by dropping the distinction between
internal and external LoggingConfiguration types. Different stability levels of
indidividual fields have to be covered by documentation (done) and potentially
feature gates (not currently done).

Advantages:

- everything related to logging is under component-base/logs;
  previously this was scattered across different packages and
  different files under "logs" (why some code was in logs/config.go
  vs. logs/options.go vs. logs/logs.go always confused me again
  and again when coming back to the code):

  - long-term config and command line API are clearly separated
    into the "api" package underneath that

  - logs/logs.go itself only deals with legacy global flags and
    logging configuration

- removal of separate Go APIs like logs.BindLoggingFlags and
  logs.Options

- LogRegistry becomes an implementation detail, with less code
  and less exported functionality (only registration needs to
  be exported, querying is internal)
2022-06-17 20:22:13 +02:00
Zihong Zheng
9e8d8286ca Revert "filter out terminated containers in cadvisor_stats_provider" 2022-06-15 16:09:37 -07:00
Kubernetes Prow Robot
4b024fc4ee Merge pull request #110459 from wangyysde/promote-pod-security-to-ga
PodSecurity: promote config and feature gate to GA
2022-06-15 14:41:22 -07:00
wangyysde
ab66a38194 PodSecurity: promote config and feature gate to GA
Signed-off-by: wangyysde <net_use@bzhy.com>
2022-06-15 09:29:47 +08:00
Adam Malcontenti-Wilson
af3594dfa5 disruptioncontroller: check for scale subresource correctly 2022-06-15 08:52:47 +10:00
Kubernetes Prow Robot
10066243df Merge pull request #110365 from spencerhance/epslice-recycle-bug
Fix unnecessary recreation of placeholder EndpointSlice
2022-06-14 13:15:34 -07:00