Phil
f1a9402082
Log if PV is still in use trying to delete it
...
Similar to what we have in:
https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/volume/pvcprotection/pvc_protection_controller.go#L181
The objective is to have a easy way to monitor if a PV will enter in Terminating state due to a failed removal when still in use.
This way we can capture the PV log and alert according.
The code is not tested.
Update pv_protection_controller.go
Change call to Infof
2021-09-21 18:05:16 +01:00
Shivanshu Raj Shrivastava
bbd809cbd0
Fixing incorrectly migrated structured logs ( #105122 )
...
* added keys for structured logging
* used KObj
2021-09-19 12:28:08 -07:00
Kubernetes Prow Robot
bcd2ffbdc1
Merge pull request #104590 from Jiawei0227/anno
...
Add GA AnnStorageProvisioner annotation to PVC
2021-09-03 06:09:49 -07:00
Kubernetes Prow Robot
fca3175df7
Merge pull request #104231 from astraw99/fix_unified_workers
...
Unify controller worker num param `threadiness` to `workers`
2021-08-27 09:34:05 -07:00
Jiawei Wang
8de0f11946
Add GA AnnStorageProvisioner annotation to PVC
...
This PR adds GA AnnStorageProvisioner annotation to
a PVC if the PVC requires dynamic provisioning. This
also deprecates the beta AnnStorageProvisioner annotation
and it will be removed in a later release.
2021-08-26 12:46:47 -07:00
Stephen Augustus
481cf6fbe7
generated: Run hack/update-gofmt.sh
...
Signed-off-by: Stephen Augustus <foo@auggie.dev>
2021-08-24 15:47:49 -04:00
Konstantin Misyutin
29bd66d018
Remove "pkg/controller/volume/scheduling" dependency from "pkg/scheduler/framework/plugins"
...
All dependencies of VolumeBinding plugin from
"k8s.io/kubernetes/pkg/controller/volume/scheduling" package moved to
"k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding" package:
- whole file pkg/controller/volume/scheduling/scheduler_assume_cache.go
- whole file pkg/controller/volume/scheduling/scheduler_assume_cache_test.go
- whole file pkg/controller/volume/scheduling/scheduler_binder.go
- whole file pkg/controller/volume/scheduling/scheduler_binder_fake.go
- whole file pkg/controller/volume/scheduling/scheduler_binder_test.go
Package "k8s.io/kubernetes/pkg/controller/volume/scheduling/metrics" moved
to "k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumebinding/metrics"
because it only used in VolumeBinding plugin and (e2e) tests.
More described in issue #89930 and PR #102953 .
Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-08-13 19:08:45 +08:00
astraw99
e6df935fd3
unify worker num to workers
2021-08-09 15:46:04 +08:00
SataQiu
7fa0b9b6c1
add --concurrent-ephemeralvolume-syncs flag for kube-controller-manager
2021-07-25 21:36:57 +08:00
Cheng Xing
0e315355df
Pass FsGroup to MountDevice
2021-07-03 16:29:42 -07:00
Chris Henzie
83e3ee780a
Rename access mode contains helper method
...
So it is consistent with other methods performing the same check (one
for internal and external types)
2021-06-28 21:24:56 -07:00
Jordan Liggitt
ca279bbcc1
Fix race in attachdetach tests
2021-06-04 01:59:32 -04:00
yuzhiquan
0b8dc56408
fix volume failing test
2021-06-04 09:45:21 +08:00
Tim Ebert
cd3709232f
Fix VolumeAttachment garbage collection for migrated PVs
2021-05-28 08:35:05 +02:00
Kubernetes Prow Robot
894803ab2e
Merge pull request #98199 from yangjunmyfm192085/run-test3
...
fix mistake about [avaliable] for index_test.go
2021-05-25 02:46:22 -07:00
Kubernetes Prow Robot
838a967be5
Merge pull request #101175 from lojies/cleanupforpvcontroller
...
code cleanup:remove redundant return statement in pv_controller.go
2021-05-24 21:48:49 -07:00
Jiawei Wang
be583070d2
Use CSI driver to determine unique name for migrated in-tree plugins
2021-05-06 10:31:30 -07:00
Kubernetes Prow Robot
fe88bdc1ab
Merge pull request #101304 from wangyx1992/capatial-log-controller
...
cleanup: fix errors in wrapped format and log capitalization in controller
2021-04-22 15:55:52 -07:00
wangyx1992
fd51e654af
cleanup: fix errors in wrapped format and log capitalization in controller
...
Signed-off-by: wangyx1992 <wang.yixiang@zte.com.cn>
2021-04-22 15:40:54 +08:00
andyzhangx
e10d3948f5
fix: azure file namespace issue in csi translation
...
fix build failure
fix comments
2021-04-20 07:23:09 +00:00
Kubernetes Prow Robot
df9ad4d7d2
Merge pull request #96094 from Hellcatlk/m
...
Some comments' typos
2021-04-16 11:54:22 -07:00
卢振兴10069964
8009823867
code cleanup:remove redundant return statement in pv_controller.go
2021-04-16 09:02:21 +08:00
Kubernetes Prow Robot
410d092d8a
Merge pull request #99643 from pohly/generic-ephemeral-volume-beta
...
generic ephemeral volume beta
2021-03-09 17:39:26 -08:00
Kubernetes Prow Robot
5155865ae2
Merge pull request #99326 from sunpa93/fs_resize_fix
...
fix: use pv annotation to trigger filesystem resize when necessary
2021-03-09 11:05:18 -08:00
Kubernetes Prow Robot
dc74b9d0c7
Merge pull request #98753 from Jiawei0227/length
...
Relax csiNodeIDMaxLength to longer limit
2021-03-09 09:19:00 -08:00
Kubernetes Prow Robot
a56fa34d6b
Merge pull request #99942 from jsafrane/refactor-migration-featuregates
...
Refactor CSI migration plugin manager to get featureGates as a parameter
2021-03-09 04:27:46 -08:00
Sung Jun Park
5f69cf74d8
fix: when newly binding pvc to a pv, adjust pvc.status.capacity to pv's annotation that denotes the pre-resize capacity of the original pvc that pv was bound to if it has one
...
test: confirm that pvc's status capacity is adjusted if pv has a pre-resize capacity annotation
2021-03-09 07:55:10 +00:00
Patrick Ohly
555d4a12bf
generic ephemeral volumes: drop ReadOnly field
...
As discussed during the alpha review, the ReadOnly field is not really
needed because volume mounts can also be read-only. It's a historical
oddity that can be avoided for generic ephemeral volumes as part
of the promotion to beta.
2021-03-09 08:22:48 +01:00
Jiawei Wang
1e16615fb0
Relax csiNodeIDMaxLength to longer limit
...
Update csiNodeIDMaxLength to 192 bytes
2021-03-08 13:52:43 -08:00
Patrick Ohly
3fa43540b6
CSIStorageCapacity: check MaximumVolumeSize during scheduling
...
If available, then the MaximumVolumeSize is a better indicator whether
creating a volume has a chance to succeed than the total (?) Capacity,
which is potentially larger and less well-defined.
2021-03-08 20:52:51 +01:00
Patrick Ohly
5ca0814165
CSIStorageCapacity: use beta API
2021-03-08 20:52:50 +01:00
Jan Safranek
219cbc818a
Refactor CSI migration plugin manager to get featureGates as a parameter
...
This allows caller to provide fake ones for testing of various corner cases
(migration on A/D controller disabled while enabled on kubelet).
2021-03-08 13:50:01 +01:00
Yecheng Fu
d791f7feef
Prioritizing nodes based on volume capacity: unit tests
2021-03-05 23:59:25 +08:00
Yecheng Fu
21a43586e7
Prioritizing nodes based on volume capacity
2021-03-05 23:59:25 +08:00
Kubernetes Prow Robot
7afa538f18
Merge pull request #99626 from pohly/generic-ephemeral-volume-protection-controller-cleanup
...
PVC protection controller: clarify pod shutdown
2021-03-04 11:00:58 -08:00
Kubernetes Prow Robot
a238698ea0
Merge pull request #99446 from pohly/generic-ephemeral-enablement
...
Generic ephemeral volume enablement
2021-03-04 11:00:30 -08:00
Kubernetes Prow Robot
180d9cfa8b
Merge pull request #99632 from pohly/storage-capacity-enablement
...
volume binder: storage capacity enablement
2021-03-04 02:08:20 -08:00
Patrick Ohly
512401a8a2
scheduler: tests for generic ephemeral volumes
...
This covers some failure scenarios and feature gate enablement.
2021-03-03 10:13:05 +01:00
Patrick Ohly
d2cc70ee2c
scheduler: fail when a pod uses disabled generic ephemeral volumes
...
Without this error, kube-scheduler was simply ignoring the special
volume source and scheduled the pod. This was unlikely to work in
practice because the volume might have needed binding or the feature
is also disabled on kubelet which then doesn't know what to do with
the volume.
2021-03-03 10:13:05 +01:00
Patrick Ohly
98f75290ba
generic ephemeral volume: simpler metrics
...
A CounterVector with status as label may create unnecessary overhead
and using the success case with the empty label value wasn't
easy. It's better to have two seperate counters, one for total number
of calls and one for failed calls.
2021-03-02 12:01:37 +01:00
Patrick Ohly
6cb28fd1b4
generic ephemeral volume: add metrics
...
As discussed during the production readiness review, a metric for the
PVC create operations is useful. The "ephemeral_volume" workqueue
metrics were already added in the initial implementation.
The new code follows the example set by the endpoints controller.
2021-03-02 12:01:37 +01:00
Patrick Ohly
e98c40a6f9
volume binder: test different CSIStorageCapacity/CSIDriver combinations
...
When the feature is disabled either in the scheduler or the CSIDriver,
the scheduler is expected to schedule pods without considering whether
storage capacity is available.
2021-03-02 11:08:57 +01:00
Patrick Ohly
1f3ede50f7
PVC protection controller: clarify pod shutdown
...
The code was correct and now the comment references the code in
kubelet to illustrate how pod shutdown works.
2021-03-02 08:31:12 +01:00
Kubernetes Prow Robot
1b88c2ee47
Merge pull request #98912 from wzshiming/ut/speed-up-volume-scheduling
...
Speed up pkg/controller/volume/scheduling unit tests
2021-03-01 13:58:16 -08:00
Kubernetes Prow Robot
5498ee641b
Merge pull request #99561 from BenTheElder/remove-bazel
...
Remove Bazel
2021-03-01 09:55:27 -08:00
Kubernetes Prow Robot
f6152d1521
Merge pull request #97086 from xing-yang/check_datasource
...
Only CSI plugin can have a DataSource
2021-03-01 06:53:26 -08:00
wzshiming
67e4ba0797
Speed up pkg/controller/volume/scheduling unit tests
2021-03-01 11:53:45 +08:00
Benjamin Elder
56e092e382
hack/update-bazel.sh
2021-02-28 15:17:29 -08:00
Kubernetes Prow Robot
c200a8f9b7
Merge pull request #98433 from damemi/remove-helper-from-volume-zone
...
Move GetPersistentVolumeClaimClass to component-helpers
2021-02-26 12:38:15 -08:00
xing-yang
676a3a7012
Only CSI plugin can have a DataSource
2021-02-25 15:27:26 +00:00
Kubernetes Prow Robot
8feec9bf94
Merge pull request #99351 from CaoDonghui123/fixissues3
...
Remove deadcode
2021-02-24 15:29:34 -08:00
caodonghui
f435e24403
Remove deadcode
2021-02-23 17:58:47 +08:00
Marek Siarkowicz
7b1f3584f5
Fix usage of klog.InfoS
2021-02-20 19:22:16 +01:00
Jiawei Wang
3d61b56bcd
update bazel
2021-02-12 17:50:40 -08:00
Jiawei Wang
6a7222cf4e
Add migrated field to storage_operation_duration_seconds metric
2021-02-12 17:35:01 -08:00
Kubernetes Prow Robot
18605d8814
Merge pull request #98792 from wzshiming/ut/speed-up-persistentvolume
...
Speed up pkg/controller/volume/persistentvolume unit tests
2021-02-10 01:06:59 -08:00
wzshiming
fb518af0fc
Speed up pkg/controller/volume/persistentvolume unit tests
2021-02-05 15:09:36 +08:00
wangkai1994
7edf9e0155
change to kref and kobj
2021-02-03 17:45:38 +08:00
wangkai1994
ab11816570
migrate pkg/controller/volume/pvcprotection.go to structured logs
2021-02-02 17:42:20 +08:00
Mike Dame
ba72411aa2
Move GetPersistentVolumeClaimClass to component-helpers
...
The goal of this move is related to issue 89930, to break the dependence
of scheduling plugins on internal helpers. This function can easily move to
component-helpers where it will be used by other components as well.
2021-02-01 10:48:38 -05:00
JunYang
f241036d2b
fix mistake about [avaliable] for index_test.go
...
Signed-off-by: JunYang <yang.jun22@zte.com.cn>
2021-01-20 08:37:50 +08:00
Kubernetes Prow Robot
8bf42039e6
Merge pull request #96552 from pandaamanda/klog_fmt
...
use klog.Info and klog.Warning when had no format
2021-01-15 17:57:43 -08:00
Kubernetes Prow Robot
8f09066809
Merge pull request #97788 from heqg/expect-scheduler_binder
...
fix typo of [expect] in pkg/controller/../scheduler_binder.go
2021-01-13 18:43:03 -08:00
he.qingguo
b72da953be
fix typo of [expect] in pkg/controller/../scheduler_binder.go
...
Signed-off-by: he.qingguo <he.qingguo@zte.com.cn>
2021-01-07 12:23:14 +08:00
Kubernetes Prow Robot
07bd985724
Merge pull request #96561 from ialidzhikov/cleanup/csi-node-info
...
Remove CSINodeInfo feature gate
2021-01-05 11:46:00 -08:00
Jayasekhar Konduru
9b2b73600d
Recover CSI volumes from dangling attachments
...
Change-Id: I72105d67d8a4069ab19bfa4638a7ac365cf4194c
2020-12-11 18:31:53 -08:00
ialidzhikov
bc432124a2
Remove CSINodeInfo feature gate
...
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-12-10 09:58:22 +02:00
Kubernetes Prow Robot
ce7ac8442e
Merge pull request #94599 from verult/adc-op-asw-race
...
Fixes Attach Detach Controller reconciler race reading ActualStateOfWorld and operation pending states
2020-12-08 16:28:53 -08:00
xiongzhongliang
90f4aeeea4
use klog.Info and klog.Warning when had no format
2020-11-14 00:55:06 +08:00
Shihang Zhang
d2859cd89b
plumb service account token down to csi driver
2020-11-12 09:26:43 -08:00
Kubernetes Prow Robot
423f8731ef
Merge pull request #95719 from tsmetana/add-pv_collector-provisioner-metric
...
PV Controller: Add plugin name and volume mode to PV metrics
2020-11-11 01:49:49 -08:00
Tim Hockin
819ff9b087
Use topology labels instead of old beta names ( #96033 )
...
* Rename const for topology.../zone
* Rename const for topology.../region
* Rename const for failure-domain.../zone
* Rename const for failure-domain.../region
* Restore old names for compat
2020-11-05 20:26:50 -08:00
Yecheng Fu
0961891a7a
report UnschedulableAndUnresolvable status instead of an error when PVCs can't find bound
...
persistent volumes
This is an user error. We should't report an error.
2020-11-05 10:28:40 +08:00
Kubernetes Prow Robot
096819c963
Merge pull request #95909 from pohly/pv-controller-delete-pv-fix
...
PV controller: don't delete PVs when PVC is not known yet
2020-11-02 02:00:52 -08:00
zouyu
7dd4622c84
Some comments' typos
...
Signed-off-by: zouyu <zouy.fnst@cn.fujitsu.com>
2020-11-02 15:05:23 +08:00
Cheng Xing
d9a629fe3a
IsVolumeAttachedToNode() renamed to GetAttachState(), and returns 3 states instead of combining "uncertain" and "detached" into "false"
2020-10-29 13:24:51 -07:00
Patrick Ohly
24f5764787
pv controller test: more test cases
...
The main goal was to cover retrieval of a PVC from the apiserver when
it isn't known yet. This is achieved by adding PVCs and (for the sake
of completeness) PVs to the reactor, but not the controller, when a
special annotation is set. The approach with a special annotation was
chosen because it doesn't affect other tests.
The other test cases were added while checking the existing tests
because (at least at first glance) the situations seemed to be not
covered.
2020-10-28 10:52:11 +01:00
Patrick Ohly
22f81e9e0b
pv controller test: use sub tests
...
This makes it possible to run individual tests.
2020-10-28 10:39:59 +01:00
Patrick Ohly
06f934ea1f
pv controller test: enable klog output
...
This makes it possible to run tests with -v=5 and thus actually get
some output.
2020-10-28 10:39:10 +01:00
Cheng Xing
a61743b125
Fixes Attach Detach Controller reconciler race reading ActualStateOfWorld and operation pending states; fixes reconciler_test mock detach to account for multiple attaches on a node
2020-10-27 23:51:55 -07:00
Patrick Ohly
5686664a1d
PV controller: don't delete PVs when PVC is not known yet
...
Normally, the PV controller knows about the PVC that triggers the
creation of a PV before it sees the PV, because the PV controller must
set the volume.beta.kubernetes.io/storage-provisioner annotation that
tells an external provisioner to create the PV.
When restarting, the PV controller first syncs its caches, so that
case is also covered.
However, the creator of a PVC might decided to set that annotation
itself to speed up volume creation. While unusual, it's not forbidden
and thus part of the external Kubernetes API. Whether it makes sense
depends on the intentions of the user.
When that is done and there is heavy load, an external provisioner
might see the PVC and create a PV before the PV controller sees the
PVC. If the PV controller then encounters the PV before the PVC, it
incorrectly concludes that the PV needs to be deleted instead of being
bound.
The same issue occurred earlier for external binding and the existing
code for looking up a PVC in the cache or in the apiserver solves the
issue also for volume provisioning, it just needs to be enabled also
for PVs without the pv.kubernetes.io/bound-by-controller annotation.
2020-10-27 11:26:58 +01:00
Tomas Smetana
0c4e05a245
PV Controller: PV plugin and mode metrics
2020-10-23 14:35:35 +02:00
Kubernetes Prow Robot
3175b59ac2
Merge pull request #94489 from ialidzhikov/fix/volume-expand
...
Do not assume storageclass is still in-tree after csi migration
2020-10-19 15:08:07 -07:00
Kubernetes Prow Robot
dd466bccde
Merge pull request #94527 from brahmaroutu/mount-utils-2
...
Change code to use staging/k8s.io/mount-utils
2020-09-21 17:46:47 -07:00
ialidzhikov
3bc560225e
Do not assume storageclass is still in-tree after csi migration
...
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2020-09-19 17:33:19 +03:00
Matthew Cary
f2e23afcf1
Adds filtering of hosts to DialContexts.
...
The provided DialContext wraps existing clients' DialContext in an attempt to
preserve any existing timeout configuration. In some cases, we may replace
infinite timeouts with golang defaults.
- scaleio: tcp connect/keepalive values changed from 0/15 to 30/30
- storageos: no change
2020-09-18 00:07:32 +00:00
Srini Brahmaroutu
fbe5daed73
Change code to use staging/k8s.io/mount-utils
2020-09-16 21:51:24 -07:00
Kubernetes Prow Robot
965137a992
Merge pull request #94692 from alculquicondor/wrap_errors_min
...
Wrap errors from VolumeBinding and DefaultBinder plugins
2020-09-15 18:27:34 -07:00
knight42
e89e72b637
test: ensure WaitForCacheSync is called after starting sharedInformerFacotry
...
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-09-15 16:02:35 +08:00
Kubernetes Prow Robot
c7d6f796fe
Merge pull request #94144 from gnufied/prevent-stale-pv-read
...
Reduce offline volume expansion flake
2020-09-10 14:22:31 -07:00
Aldo Culquicondor
7fb40fc03c
Wrap errors on VolumeBinding plugin
...
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I23053528ac6857124fddd7f9fa26e122202ff4bd
Signed-off-by: Aldo Culquicondor <acondor@google.com>
2020-09-10 16:22:16 -04:00
Hemant Kumar
bad8a51b9a
Read PV object from apiserver to prevent flake
2020-09-10 10:03:08 -04:00
Kubernetes Prow Robot
e23d83eead
Merge pull request #93710 from Jiawei0227/attachable2non
...
Detect volume attach-ability in the middle of attaching
2020-08-31 17:39:50 -07:00
Kubernetes Prow Robot
5ce93a2ab5
Merge pull request #93673 from zhouya0/pv_controller_test_add_time_out
...
Cleanup wait forever loops in pv_controller_test.go
2020-08-28 08:04:17 -07:00
Kubernetes Prow Robot
24ec90d23c
Merge pull request #93015 from gnufied/remove-resize-map
...
Remove resize map code - unused code
2020-08-28 00:46:53 -07:00
Jiawei Wang
a6d8e6c5c2
Detect change of volume attachability in the middle of attaching
...
- Add Unit tests for both volumemanager and attach/detach controller
- Add E2E test
2020-08-24 17:15:11 -07:00
Shintaro Murakami
b7792711f5
Use v1helper.GetPersistentVolumeClass for compatibility
2020-08-06 09:26:21 +09:00
zhouya0
8724a8ea6b
Cleanup wait forever loops in pv_controller_test.go
2020-08-04 16:19:32 +08:00
Jordan Liggitt
c4c946d35d
Deflake TestControllerSync
2020-08-03 11:56:14 -04:00
Hemant Kumar
2ccd645d71
Remove resize map code
...
This code is not used anywhere
2020-07-13 08:24:10 -04:00