卢振兴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
Patrick Ohly
ff3e5e06a7
GenericEphemeralVolume: initial implementation
...
The implementation consists of
- identifying all places where VolumeSource.PersistentVolumeClaim has
a special meaning and then ensuring that the same code path is taken
for an ephemeral volume, with the ownership check
- adding a controller that produces the PVCs for each embedded
VolumeSource.EphemeralVolume
- relaxing the PVC protection controller such that it removes
the finalizer already before the pod is deleted (only
if the GenericEphemeralVolume feature is enabled): this is
needed to break a cycle where foreground deletion of the pod
blocks on removing the PVC, which waits for deletion of the pod
The controller was derived from the endpointslices controller.
2020-07-09 23:29:24 +02:00
Kubernetes Prow Robot
55d77ade67
Merge pull request #92489 from alculquicondor/sig-storage-ownership
...
Add SIG storage owner aliases
2020-07-09 00:05:20 -07:00
Kubernetes Prow Robot
94a08e159a
Merge pull request #92387 from pohly/csi-storage-capacity
...
CSI storage capacity check
2020-07-09 00:04:59 -07:00
Kubernetes Prow Robot
c2e6e147be
Merge pull request #92160 from YuikoTakada/add_deprecated_description_scheduling_duration_seconds
...
Add Deprecated description to metrics scheduling_duration_seconds
2020-07-09 00:04:48 -07:00
Aldo Culquicondor
27ec356d76
Add SIG storage owner aliases
...
And give ownership to pkg/scheduler/framework/plugins/volumebinding
Signed-off-by: Aldo Culquicondor <acondor@google.com>
Change-Id: I4bd89b1745a2be0e458601056ab905bdd6692195
2020-07-07 10:26:16 -04:00
Patrick Ohly
0efbbe8555
CSIStorageCapacity: check for sufficient storage in volume binder
...
This uses the information provided by a CSI driver deployment for
checking whether a node has access to enough storage to create the
currently unbound volumes, if the CSI driver opts into that checking
with CSIDriver.Spec.VolumeCapacity != false.
This resolves a TODO from commit 95b530366a
.
2020-07-06 19:20:10 +02:00
Yuiko Mori
97bca0ec59
Add Deprecated description to metrics scheduling_duration_seconds
2020-07-02 00:14:49 +00:00
Yecheng Fu
2cdc63aeaa
cleanup in volume scheduling pkg
...
- remove duplicated function claimToClaimKey
- cache Lister
- don't add indexer for PVCAssumeCache
2020-07-01 15:01:10 +08:00
Yecheng Fu
22d874993c
build files
2020-06-23 22:18:33 +08:00
Yecheng Fu
4627b419b4
tests only
2020-06-23 22:18:33 +08:00
Yecheng Fu
ee4d7410be
Share pod volume binding cache via framework.CycleState
2020-06-23 22:18:33 +08:00
Kubernetes Prow Robot
00d6255f44
Merge pull request #91712 from KobayashiD27/structured-logging-in-event
...
Migrate log to klog.InfoS for staging/src/k8s.io/client-go
2020-06-22 23:53:40 -07:00
Kubernetes Prow Robot
9c3f648300
Merge pull request #91705 from mrkm4ntr/revert-assumed-in-unreserve
...
Revert assumed PVs and PVCs in unreserve extension point
2020-06-19 21:50:54 -07:00
Shintaro Murakami
79ab958996
Revert assumed PVs and PVCs in unreserve extension point
2020-06-19 17:39:42 +09:00
Kubernetes Prow Robot
98f250f883
Merge pull request #91307 from yuga711/attach
...
CSI: Modify VolumeAttachment check to use Informer/Cache
2020-06-15 08:10:10 -07:00
Kobayashi Daisuke
4ae11dac2e
Replace StartLogging(klog.Infof) with StartStructuredLogging(0)
2020-06-15 17:48:35 +09:00
Yecheng Fu
814a6f2acd
remove FakeVolumeBinderConfig and test new statues and states
2020-06-12 10:00:19 +08:00
Yecheng Fu
c4138361e4
Fail fast in PreFilter phase and return UnschedulableAndUnresolvable if immediate PVCs are not bound
2020-06-12 10:00:19 +08:00
Jayasekhar Konduru
2a89577659
CSI: Modify VolumeAttachment check to use Informer/Cache
...
Change-Id: Ie70c8b6657c67eefbf13042f36d56ca84a2e42bb
2020-06-11 10:34:09 -07:00
Yecheng Fu
8422044f17
sharing a common pod pvc indexer among volume controllers
2020-06-03 14:51:21 +08:00
Yecheng Fu
eaf2f54bba
auto-generated files
2020-06-03 14:51:21 +08:00
Kubernetes Prow Robot
2bf8e27737
Merge pull request #91455 from cofyc/fix88229
...
Emit correct event when unbound delay binding claim is used by pod
2020-06-02 18:11:36 -07:00
Yecheng Fu
32df4300ef
emit correct event when unbound delay binding claim is used by pod
2020-05-29 19:36:13 +08:00
Kubernetes Prow Robot
779f875243
Merge pull request #91180 from PengJi/fix_golint_failures
...
fix golint errors in pkg/controller/volume/events/event
2020-05-25 06:27:12 -07:00
Kubernetes Prow Robot
d94acda5ee
Merge pull request #91296 from cofyc/fix90962-cleanup-volumescheduling
...
volumescheduling: update comments to reflect latest change
2020-05-20 19:42:10 -07:00
Yecheng Fu
36d1365af5
update comments in volumescheduling pkg to reflect latest change
2020-05-20 22:23:08 +08:00
Yecheng Fu
f685af32e2
SchedulerVolumeBinder: don't modify assumed pod in AssumePodVolumes
2020-05-20 21:18:43 +08:00
pengji
69999a6d54
fix golint in pkg/controller/volume/events/event.go
2020-05-17 23:34:02 +08:00
Davanum Srinivas
07d88617e5
Run hack/update-vendor.sh
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Jayasekhar Konduru
5a4f1be19d
Added events for failures in PV/PVC processing:
...
- PV has a dangling reference to a PVC
- PVC is trying to bind to a PV that already references a different PVC
Change-Id: Ic509d39808763149b02b4dd52347edb74a8803fd
2020-04-16 22:11:02 -07:00
Kubernetes Prow Robot
ef672c1c2d
Merge pull request #88678 from verult/slow-rxm-attach
...
Parallelize attach operations across different nodes for volumes that allow multi-attach
2020-03-06 13:17:21 -08:00
Christian Huffman
c6fd25d100
Updated CSIDriver references
2020-03-06 08:21:26 -05:00
Cheng Xing
ef3d66b98b
Parallelize attach operations across different nodes for volumes that allow multi-attach
2020-03-05 22:22:05 -08:00
Mike Danese
c58e69ec79
automated refactor
2020-03-05 14:59:46 -08:00
Kubernetes Prow Robot
9d0cbb7503
Merge pull request #88673 from jsafrane/block-feature-ga
...
Promote block volumes to GA
2020-03-03 12:17:12 -08:00
Jan Safranek
3af671011a
Generated API
2020-03-02 22:21:42 +01:00
louisgong
c6b94e4606
refactor volume binder
2020-02-29 12:03:39 +08:00
Jan Safranek
2c1b743766
Promote block volume features to GA
2020-02-28 20:48:38 +01:00
Patrick Ohly
6329b17d2f
volume scheduler: introduce special string type
...
This makes it possible to search for the special strings more easily
(https://github.com/kubernetes/kubernetes/pull/88230#discussion_r382367043 ).
2020-02-28 10:09:19 +01:00
Patrick Ohly
6eb0b034ac
volume scheduler: move reason strings into volume code
...
The scheduler doesn't really need to know in detail which reasons
rendered a node unusable for a node. All it needs from the volume
binder is a list of reasons that it then can present to the user.
This seems a bit cleaner. But the main reason for the change is that
it simplifies the checking of CSI inline volumes and perhaps later
capacity checking. Both will lead to new failure reasons, which then
can be added without changing the interface.
2020-02-28 10:09:18 +01:00
Kubernetes Prow Robot
55f2d91c8c
Merge pull request #88447 from taesunny/pkg/controller
...
Fix pkg/controller typos in some error messages, comments etc
2020-02-26 19:39:19 -08:00
taesun_lee
79680b5d9b
Fix pkg/controller typos in some error messages, comments etc
...
- applied review results by LuisSanchez
- Co-Authored-By: Luis Sanchez <sanchezl@redhat.com>
genernal -> general
iniital -> initial
initalObjects -> initialObjects
intentionaly -> intentionally
inforer -> informer
anotother -> another
triger -> trigger
mutli -> multi
Verifyies -> Verifies
valume -> volume
unexpect -> unexpected
unfulfiled -> unfulfilled
implenets -> implements
assignement -> assignment
expectataions -> expectations
nexpected -> unexpected
boundSatsified -> boundSatisfied
externel -> external
calcuates -> calculates
workes -> workers
unitialized -> uninitialized
afater -> after
Espected -> Expected
nodeMontiorGracePeriod -> NodeMonitorGracePeriod
estimateGrracefulTermination -> estimateGracefulTermination
secondrary -> secondary
ShouldRunDaemonPodOnUnscheduableNode -> ShouldRunDaemonPodOnUnschedulableNode
rrror -> error
expectatitons -> expectations
foud -> found
epackage -> package
succesfulJobs -> successfulJobs
namesapce -> namespace
ConfigMapResynce -> ConfigMapResync
2020-02-27 00:15:33 +09:00
Maciej Borsz
7d59ea8394
Reorder conditions in FindMatchingVolume to avoid checking NodeAffinity
...
in trivial cases.
2020-02-26 09:20:38 +01:00
Hemant Kumar
d9f7a1f311
Don't call delete for already deleted volumes
2020-02-18 15:59:47 -05:00
David Zhu
81668cb887
Change migrated-to annoation key to follow best practices by removing beta and using 'pv' prefix
2020-02-12 10:33:08 -08:00
Mike Danese
25651408ae
generated: run refactor
2020-02-08 12:30:21 -05:00
Mike Danese
3aa59f7f30
generated: run refactor
2020-02-07 18:16:47 -08:00
Kubernetes Prow Robot
8215619ba4
Merge pull request #87642 from pohly/volume-binder-testing
...
volume binder testing
2020-02-07 05:56:39 -08:00
Patrick Ohly
a3c434510d
volume binder: enable klog flags in test
...
When debugging the test runs it is useful to increase the log level:
go test -v ./pkg/controller/volume/scheduling -args -v 5
2020-01-29 10:37:39 +01:00
Patrick Ohly
5c8929d95e
volume binder: convert to sub-tests
...
Using t.Run() has some advantages:
- individual sub-tests can be selected with -run
- test failures are automatically associated with
the scenario, therefore the test name no longer
needs to be passed around
A "run" function is used primarily to avoid large indention changes,
but also because this can be used to extend the test with additional
parameters later on.
2020-01-29 10:37:27 +01:00
David Zhu
b7817a2981
Add annotation annealing for migration for PVs and PVCs during syncVolume and syncClaim. This allows external-provisioners to pick up and delete volumes when they have been rolled up from previous kubernetes versions.
2020-01-27 16:14:53 -08:00
Paul Morie
afaea605f4
Remove Brad Childs from OWNERS files
2020-01-16 15:21:34 -05:00
danielqsj
5bc0e26c19
unify alias of api errors under pkg and staging
2019-12-26 16:42:28 +08:00
Jordan Liggitt
5d5b444c4d
Remove use of testapi codecs, selflink, resourcepath functions
2019-12-13 11:56:29 -05:00
David Zhu
41c65f4740
Jump out of spec translation early if the spec is not migratable. Unit tests work after all!
2019-11-15 11:23:32 -08:00
David Zhu
6e716af89e
Add CSINodes to AttachDetachControllerRecovery test
2019-11-15 11:23:32 -08:00
Travis Rhoden
0c5c3d8bb9
Remove pkg/util/mount (moved out of tree)
...
This patch removes pkg/util/mount completely, and replaces it with the
mount package now located at k8s.io/utils/mount. The code found at
k8s.io/utils/mount was moved there from pkg/util/mount, so the code is
identical, just no longer in-tree to k/k.
2019-11-15 08:29:12 -07:00
Kubernetes Prow Robot
372ebd24f5
Merge pull request #83098 from ddebroy/disable-intree
...
CSI Migration phase 2: disable probing of in-tree plugins
2019-11-14 20:51:42 -08:00
Deep Debroy
129f15328b
Disable in-tree plugins migrated to CSI
...
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2019-11-14 17:28:21 -08:00
Kubernetes Prow Robot
5e30d32d2c
Merge pull request #83394 from bertinatto/convert_pv_no_affinity
...
Convert existing PVs to use volume topology in VolumeBinderPredicate
2019-11-13 21:45:56 -08:00
Travis Rhoden
367f879131
Retire mount.Exec for k8s.io/utils/exec
...
This patch removes mount.Exec entirely and instead uses the common
utility from k8s.io/utils/exec.
The fake exec implementation found in k8s.io/utils/exec differs a bit
than mount.Exec, with the ability to pre-script expected calls to
Command.CombinedOutput(), so tests that previously relied on a callback
mechanism to produce specific output have been updated to use that
mechanism.
2019-11-13 14:09:57 -07:00
Fabio Bertinatto
bbfc6ef450
Convert volume binder to use CSINode GA
2019-11-13 14:01:01 +01:00
Fabio Bertinatto
7cba40fb09
Use CSI translation lib in VolumeBinderPredicate
2019-11-13 14:01:01 +01:00
Kubernetes Prow Robot
d366d2eaa3
Merge pull request #84896 from RainbowMango/pr_migrate_custom_collector_scheduler
...
Migrate custom collector for kube-scheduler
2019-11-08 01:04:14 -08:00
Kubernetes Prow Robot
1183771545
Merge pull request #84748 from hvaara/fix-golint-controller-volume-persistentvolume-options
...
Fix golint issues in pkg/controller/volume/persistentvolume/options
2019-11-07 04:35:53 -08:00
RainbowMango
09dc221d7b
Deal with auto-generated files.
...
Update bazel by hack/update-bazel.sh
2019-11-07 10:30:12 +08:00
RainbowMango
9efabe8124
Migrate custom collector to stablility framework
2019-11-07 10:26:27 +08:00
yuxiaobo
81e9f21f83
Correct spelling mistakes
...
Signed-off-by: yuxiaobo <yuxiaobogo@163.com>
2019-11-06 20:25:19 +08:00
Kubernetes Prow Robot
1d1385af91
Merge pull request #83474 from msau42/topology-ga
...
CSI Topology ga
2019-11-04 15:28:27 -08:00
Roy Hvaara
dffcf7c8cd
Fix golint issues in pkg/controller/volume/persistentvolume/options
2019-11-04 21:45:21 +01:00
Michelle Au
fb6dfeb718
Convert attach-detach controller to use v1.CSINode
2019-10-28 13:41:13 -07:00
wojtekt
7b6bcdf780
Autogenerated code
2019-10-24 20:21:00 +02:00
Jan Safranek
a689697519
Do not bind block PV/PVCs when block feature gate is off
2019-10-17 12:40:22 +02:00
Kubernetes Prow Robot
a5dc1fffb0
Merge pull request #83543 from yutedz/attach-resync-comment
...
Remove stale comment about resyncPeriod
2019-10-09 13:17:50 -07:00
Kubernetes Prow Robot
4b002b3baa
Merge pull request #82123 from xiaoanyunfei/cleanup/take-effect-stateofworld-hashmap
...
replace iteration with hashmap in *state_of_world
2019-10-09 02:17:50 -07:00
Kubernetes Prow Robot
ac9390627e
Merge pull request #83536 from yutedz/del-volume-err
...
Log the error return from store.Delete
2019-10-08 19:59:50 -07:00
Kubernetes Prow Robot
72d052a444
Merge pull request #81797 from yastij/move-metrics-util
...
move util/metrics to component-base
2019-10-08 17:08:05 -07: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
Ted Yu
f0a6aa1e9b
Log error from AddIndexers in NewAttachDetachController
2019-10-07 16:15:25 -07:00
Ted Yu
b81242b62e
Remove stale comment about resyncPeriod
2019-10-06 05:02:07 -07:00
Yecheng Fu
b5889ee82c
update internal error message
2019-10-06 14:37:31 +08:00
Ted Yu
56717a79ff
Log the error return from store.Delete
2019-10-05 19:34:39 -07:00
Kubernetes Prow Robot
74dc287490
Merge pull request #83420 from yutedz/sched-assume-cache
...
Check the return value from store.Update
2019-10-04 10:22:18 -07:00
Ted Yu
94d4bf1287
Return proper error message when BindPodVolumes fails
2019-10-04 04:36:48 -07:00
Ted Yu
c264338741
Check the return value from store.Update
2019-10-02 12:02:13 -07:00
Kubernetes Prow Robot
14e5adfc85
Merge pull request #82683 from davidz627/fix/translationStruct
...
Refactor CSI Translation Library into a struct that is injected into various components to simplify unit testing
2019-09-29 10:11:37 -07:00
David Zhu
92cb06a2e7
Refactor CSI Translation Library into a struct that is injected into various components to simplify unit testing in future
2019-09-27 12:59:53 -07:00
Kubernetes Prow Robot
11ce7da888
Merge pull request #82740 from hwdef/del-unuse-var1
...
del unuse var in pkg/controller
2019-09-19 11:05:15 -07:00
Shintaro Murakami
ad333ac421
Return error when failed to get storage class
2019-09-18 15:59:34 +09:00
hwdef
851eac6a97
del unuse var in pkg/controller
2019-09-16 15:05:24 +08:00
RainbowMango
6bb1229f4b
Update bazel by hack/update-bazel.sh
2019-09-12 16:05:21 +08:00
RainbowMango
d6fdac8c56
Migrate prometheus bucket functionality to kube-metrics.
2019-09-12 16:02:53 +08:00
Kubernetes Prow Robot
001f2cd2b5
Merge pull request #82255 from cofyc/avoid-import-cycle
...
volume scheduling: move metrics to a separate package to avoid import cycle
2019-09-11 10:43:20 -07:00
Kubernetes Prow Robot
cedffee93e
Merge pull request #82239 from sttts/sttts-persistentvolume-controller-data-race
...
persistentvolume-controller: fix data race of non-deepcopied objects in fake client
2019-09-03 14:35:12 -07:00
Yecheng Fu
8a7607a308
volume scheduling: move metrics code into a separate pkg
2019-09-03 14:38:26 +08:00
Dr. Stefan Schimanski
7816ad7991
persistentvolume-controller: fix data race of non-deepcopied objects in fake client
2019-09-02 15:23:55 +02: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
sunxiaofei03
45d41ed9e5
replace iteration with hashmap in *state_of_world
2019-08-29 19:22:25 +08:00
Han Kang
59db3ac27e
migrate controller-manager metrics to stability framework
2019-08-28 12:26:57 -07:00
Han Kang
8da448dbe3
migrate scheduler metrics endpoint to metrics stability framework
2019-08-28 03:40:43 -07:00
Kubernetes Prow Robot
927f45191e
Merge pull request #81527 from yastij/move-controller-util
...
move WaitForCacheSync to the sharedInformer package
2019-08-27 00:52:54 -07:00
Yassine TIJANI
7e4c3096fe
move WaitForCacheSync to the sharedInformer package
...
Signed-off-by: Yassine TIJANI <ytijani@vmware.com>
2019-08-22 16:13:41 +01:00
Sadlil Rhythom
7a8eaf4561
controller:volume fix static check failures
2019-08-21 09:37:42 +02:00
Kubernetes Prow Robot
7420bb2214
Merge pull request #80492 from matte21/pvc-protection-controller-fix-issue-75980
...
Add live list of pods to PVC protection controller to make sure it does not delete a PVC which is being used by a Pod
2019-08-16 05:06:44 -07:00
czm
cdcf1c0ea2
fix some typos in recycle_test.go
2019-08-15 11:34:46 +08:00
matte21
1371490bd6
Lowercase first letter of chainable errors in PVC protection controller
...
Lowercase first letter of error messages that are not printed right
away to ease chaining with other error messages in PVC protection
controller.
2019-08-15 00:46:02 +02:00
matte21
791d1c81f0
Add live list of pods to PVC protection controller
...
Add live list of pods to PVC protection controller, as opposed to doing
only a cache-based list through the Informer. Both lists are performed
while processing a PVC with deletionTimestamp set to check whether Pods
using the PVC exist and remove the finalizer to enable deletion of the
PVC if that's not the case. Prior to this commit only the cache-based
list was done but that's unreliable because a pod using the PVC might
exist but not be in the cache just yet. On the other hand, the live
list is 100% reliable.
Note that it would be enough to do only the live list. Instead, this
commit adds it after the cache-based list and performs it only if the
latter finds no Pod blocking deletion of the PVC being processed. The
rationale is that live lists are expensive and it's desirable to
minimize them. The drawback is that if at the time of the cache-based
list the cache has not been notified yet of the deletion of a Pod using
the PVC the PVC is kept. Correctness is not compromised because the
finalizer will be removed when the Pod deletion notification is
received, but this means PVC deletion is delayed. Reducing live lists
was valued more than deleting PVCs slightly faster.
Also, add a unit test that fails without the change introduced by this
commit and revamp old unit tests. The latter is needed because expected
behavior is described in terms of API calls the controller makes, and
this commit introduces new API calls (the live lists).
2019-08-15 00:46:02 +02:00
AllenZMC
d266b79a39
fix some typos in testing.go
2019-08-14 20:53:24 +08:00
Travis Rhoden
4574473753
Rename mount.NewOsExec to mount.NewOSExec
2019-08-09 12:30:56 -06:00
Kubernetes Prow Robot
ef8869466c
Merge pull request #80978 from wojtek-t/selflink_deprecation
...
Deprecate SelfLink and introduce feature gate to disable its propagation
2019-08-08 03:47:20 -07:00
wojtekt
399d09ce4a
Fix GetReference function
2019-08-07 16:49:29 +02:00
Kubernetes Prow Robot
decdf8891f
Merge pull request #80460 from mrkm4ntr/pvc-class-name
...
Use v1helper.GetPersistentVolumeClaimClass for compatibility
2019-08-05 15:08:30 -07:00
Kubernetes Prow Robot
6f8944aa54
Merge pull request #79696 from yittg/fix-pv-controller-affinity
...
fix pv-controller sync check node affinity for scheduled claim
2019-07-26 20:15:58 -07:00
Kubernetes Prow Robot
d5d6061c8e
Merge pull request #80476 from matte21/fix-pvcs-leaks
...
PVC protection controller: fix PVC leaks
2019-07-26 05:31:59 -07:00
matte21
b4fed83a4a
PVC protection controller: get rid of PVC leaks
...
Make the PVC protection controller robust to cases where a Pod X is deleted,
then a Pod Y with the same namespaced name is created and the two events are
delivered via a single update notification. Both pods should be processed,
because X might be blocking deletion of a PVC which is not referenced by Y.
Prior to this commit only the newer pod is processed, which means that it
is possible to leak PVCs.
Also, add unit tests to reflect the change.
2019-07-26 11:17:17 +02:00
Yi Tang
8c13f9dea3
fix pv controller not find pv for pvc provisioning
2019-07-26 16:24:30 +08:00
Kubernetes Prow Robot
bf2dd03083
Merge pull request #80318 from davidxia/fix-err-caps
...
cleanup: fix some log and error capitalizations
2019-07-25 10:41:28 -07:00
AllenZMC
852040c036
fix typos in pv_controller.go
...
make code kinda more readable
2019-07-25 11:28:19 +08:00
Shintaro Murakami
c94e800008
Use v1helper.GetPersistentVolumeClaimClass for compatibility
2019-07-24 10:35:00 +09:00
David Xia
fabfd950b1
cleanup: fix some log and error capitalizations
...
Part of https://github.com/kubernetes/kubernetes/issues/15863
2019-07-20 18:26:16 -04:00