k3s/pkg/volume
Kubernetes Submit Queue f9ccee7714 Merge pull request #42435 from dashpole/timestamps_for_fsstats
Automatic merge from submit-queue (batch tested with PRs 42369, 42375, 42397, 42435, 42455)

[Bug Fix]: Avoid evicting more pods than necessary by adding Timestamps for fsstats and ignoring stale stats

Continuation of #33121.  Credit for most of this goes to @sjenning.  I added volume fs timestamps.

**why is this a bug** 
This PR attempts to fix part of https://github.com/kubernetes/kubernetes/issues/31362 which results in multiple pods getting evicted unnecessarily whenever the node runs into resource pressure. This PR reduces the chances of such disruptions by avoiding reacting to old/stale metrics.
Without this PR, kubernetes nodes under resource pressure will cause unnecessary disruptions to user workloads. 
This PR will also help deflake a node e2e test suite.

The eviction manager currently avoids evicting pods if metrics are old.  However, timestamp data is not available for filesystem data, and this causes lots of extra evictions.
See the [inode eviction test flakes](https://k8s-testgrid.appspot.com/google-node#kubelet-flaky-gce-e2e) for examples.
This should probably be treated as a bugfix, as it should help mitigate extra evictions.

cc: @kubernetes/sig-storage-pr-reviews  @kubernetes/sig-node-pr-reviews @vishh @derekwaynecarr @sjenning
2017-03-03 23:21:48 -08:00
..
aws_ebs Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
azure_dd Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
azure_file Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
cephfs Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
cinder Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
configmap Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
downwardapi Merge pull request #41306 from gnufied/implement-interface-bulk-volume-poll 2017-03-03 10:54:38 -08:00
empty_dir Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
fc Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
flexvolume Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
flocker Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
gce_pd Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
git_repo Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
glusterfs Merge pull request #41306 from gnufied/implement-interface-bulk-volume-poll 2017-03-03 10:54:38 -08:00
host_path Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
iscsi Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
nfs Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
photon_pd Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
portworx Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
projected Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
quobyte Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
rbd Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
scaleio Addition of ScaleIO Kubernetes Volume Plugin 2017-03-03 15:47:19 -05:00
secret Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
testing Merge pull request #42435 from dashpole/timestamps_for_fsstats 2017-03-03 23:21:48 -08:00
util Merge pull request #41306 from gnufied/implement-interface-bulk-volume-poll 2017-03-03 10:54:38 -08:00
vsphere_volume Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
BUILD Merge pull request #42435 from dashpole/timestamps_for_fsstats 2017-03-03 23:21:48 -08:00
OWNERS Update OWNERS 2017-01-17 16:05:40 -08:00
doc.go Use Go canonical import paths 2016-07-16 13:48:21 -04:00
metrics_cached.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
metrics_du.go add volume timestamps 2017-03-02 15:01:59 -08:00
metrics_du_test.go add volume timestamps 2017-03-02 15:01:59 -08:00
metrics_errors.go Disambiguate unsupported metrics from metrics errors 2016-09-15 10:05:30 +10:00
metrics_nil.go Disambiguate unsupported metrics from metrics errors 2016-09-15 10:05:30 +10:00
metrics_nil_test.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
metrics_statfs.go add volume timestamps 2017-03-02 15:01:59 -08:00
metrics_statfs_test.go add volume timestamps 2017-03-02 15:01:59 -08:00
plugins.go Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
plugins_test.go Impement bulk polling of volumes 2017-03-02 14:59:59 -05:00
util.go Implement support for mount options in PVs 2017-03-01 11:50:40 -05:00
util_test.go Implement support for mount options in PVs 2017-03-01 11:50:40 -05:00
volume.go Merge pull request #42435 from dashpole/timestamps_for_fsstats 2017-03-03 23:21:48 -08:00
volume_linux.go fix permissions when using fsGroup 2016-12-06 14:04:16 -06:00
volume_unsupported.go Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00