Kubernetes Prow Robot
debd6c1e9e
Merge pull request #104526 from jingxu97/aug/volumeattach
...
Fix issue in node status updating VolumeAttached list
2021-10-05 17:30:32 -07:00
Jing Xu
69b9f9b1f0
Fix issue in node status updating VolumeAttached list
...
During volume detach, the following might happen in reconciler
1. Pod is deleting
2. remove volume from reportedAsAttached, so node status updater will
update volumeAttached list
3. detach failed due to some issue
4. volume is added back in reportedAsAttached
5. reconciler loops again the volume, remove volume from
reportedAsAttached
6. detach will not be trigged because exponential back off, detach call
will fail with exponential backoff error
7. another pod is added which using the same volume on the same node
8. reconciler loops and it will NOT try to tigger detach anymore
At this point, volume is still attached and in actual state, but
volumeAttached list in node status does not has this volume anymore, and
will block volume mount from kubelet.
The fix in first round is to add volume back into the volume list that
need to reported as attached at step 6 when detach call failed with
error (exponentical backoff). However this might has some performance
issue if detach fail for a while. During this time, volume will be keep
removing/adding back to node status which will cause a surge of API
calls.
So we changed to logic to check first whether operation is safe to retry which
means no pending operation or it is not in exponentical backoff time
period before calling detach. This way we can avoid keep removing/adding
volume from node status.
Change-Id: I5d4e760c880d72937d34b9d3e904ecad125f802e
2021-10-05 09:44:35 -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
Cheng Xing
0e315355df
Pass FsGroup to MountDevice
2021-07-03 16:29:42 -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
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
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
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
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
Benjamin Elder
56e092e382
hack/update-bazel.sh
2021-02-28 15:17:29 -08:00
caodonghui
f435e24403
Remove deadcode
2021-02-23 17:58:47 +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
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
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
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
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
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
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
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
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
Kobayashi Daisuke
4ae11dac2e
Replace StartLogging(klog.Infof) with StartStructuredLogging(0)
2020-06-15 17:48:35 +09: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
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
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
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
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
Jordan Liggitt
cd1059e3c4
Revert "Merge pull request #87258 from verult/slow-rxm-attach"
...
This reverts commit 15c3f1b119
, reversing
changes made to 52d7614a8c
.
2020-01-29 14:58:32 -05:00
Cheng Xing
c6a03fa5be
Parallelize attach operations across different nodes for volumes that allow multi-attach
2020-01-27 15:02:25 -08: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
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
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
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
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
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
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
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
Travis Rhoden
4574473753
Rename mount.NewOsExec to mount.NewOSExec
2019-08-09 12:30:56 -06: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
Kubernetes Prow Robot
5777fdfe31
Merge pull request #78105 from cwdsuzhou/narrow_down_lock
...
Narrow down the lock
2019-06-14 04:08:23 -07:00
caiweidong
e39ec09975
Add error info for plugin do not support attachment
2019-05-23 18:32:49 +08:00
caiweidong
5a0e7f19b6
Narrow down the lock
2019-05-20 19:12:27 +08:00
Vladimir Vivien
cfafde983b
Volume AttachablePlugin.CanAttach() now returns both bool and error
2019-04-08 16:53:22 -04:00
Xing Yang
000ab86788
Move CSIDriver Lister to the controller
2019-04-05 12:20:11 -07:00
Vladimir Vivien
3777514f83
Adds DeviceMountablePlugin.CanDeviceMount check when retrieving plugins
2019-03-28 10:39:32 -04:00
Kubernetes Prow Robot
4499275cb9
Merge pull request #72800 from stewart-yu/stewart-component-base
...
Move config local to every controller in KCM
2019-03-21 19:26:19 -07:00
Kubernetes Prow Robot
046dcbd1ed
Merge pull request #73917 from droslean/cleanup
...
replace loops with go idiomatic.
2019-03-19 19:01:04 -07:00
David Zhu
41b3579345
Address review comments
2019-03-07 17:17:09 -08:00
David Zhu
7d2f4e97b8
Add ADC Fallback if Node doesn't have driver installed
2019-03-07 14:47:38 -08:00
Xing Yang
6265f4f78c
CSINodeInfo/CSIDriver controller changes
...
This is the 2nd PR to move CSINodeInfo/CSIDriver APIs to
v1beta1 core storage APIs. It includes controller side changes.
It depends on the PR with API changes:
https://github.com/kubernetes/kubernetes/pull/73883
2019-03-04 16:41:58 -08:00
stewart-yu
ecbd5427e7
auto-generated file
2019-03-02 12:55:26 +08:00
stewart-yu
e01ff1641c
move config local to every controllers in kube-controller-manager
2019-03-02 12:54:33 +08:00
Kubernetes Prow Robot
84dce4d119
Merge pull request #74393 from codenrhoden/refactor-subpath
...
Refactor subpath out of pkg/util/mount
2019-02-27 15:54:36 -08:00
Travis Rhoden
2c4d748bed
Refactor subpath out of pkg/util/mount
...
This patch moves subpath functionality out of pkg/util/mount and into a
new package pkg/volume/util/subpath. NSEnter funtionality is maintained.
2019-02-26 19:59:53 -07:00
Jordan Liggitt
d1e865ee34
Update client callers to use explicit versions
2019-02-26 08:36:30 -05:00
Nikolaos Moraitis
6e820cdcaf
replace loops with go idiomatic.
2019-02-11 11:21:52 +01:00
Kubernetes Prow Robot
f0b72df47e
Merge pull request #73789 from vladimirvivien/volume-plugin-can-attach
...
AttachableVolumePlugin CanAttach() method for attachable check
2019-02-08 09:06:17 -08:00
Vladimir Vivien
0a653b3b80
Adds method CanAttach() to check plugin attachability
2019-02-08 08:04:15 -05:00
Roy Lenferink
b43c04452f
Updated OWNERS files to include link to docs
2019-02-04 22:33:12 +01:00
danielqsj
657a1a1a34
change import alias of utils/strings
2019-01-30 10:44:09 +08:00
danielqsj
093328e57f
migrate to k8s.io/utils/strings
2019-01-30 10:24:00 +08:00
Kubernetes Prow Robot
54c4428eb4
Merge pull request #71276 from jingxu97/Oct/uncertain
...
Handle failed attach operation leave uncertain volume attach state
2019-01-17 22:52:57 -08:00
David Zhu
d8c9dc5bb5
Add IsMigratableToCSI to volume plugin interface
2019-01-17 14:43:52 -08:00
Jing Xu
7bac6ca73a
Address comments
...
This commit addressed the comment and also add a unit test.
2019-01-11 10:57:37 -08:00
Jing Xu
562d0fea53
Handle failed attach operation leave uncertain volume attach state
...
This commit adds the unit tests for the PR. It also includes some files
that are affected by the function name changes.
2018-11-19 17:21:49 -08:00
Jing Xu
47331cf0a2
WIP: Handle failed attach operation leave uncertain volume attach state
...
This PR fixes issue #32727 .
When an attach operation fails, it is still possible that the volume
will be attached to the node later. This PR adds the logic to record the
volume to node with attached state no matter whether the operation
succedded or not. If the operation fails, mark the attached state to
false. If the operation succeeded, mark the attached state to true. The
reconciler will still issue attach operation until it returns
successfully. If the pod is removed in the mean time, the reconciler
will issue detach operations for all the volumes no matter what is the
attached state.
2018-11-19 17:19:10 -08:00
Yecheng Fu
dfe0a08f05
Improve usability of CSI plugin metrics
...
Use full qualified plugin name if volume spec is present.
2018-11-12 09:21:49 +08:00
Davanum Srinivas
954996e231
Move from glog to klog
...
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
* github.com/kubernetes/repo-infra
* k8s.io/gengo/
* k8s.io/kube-openapi/
* github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods
Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
k8s-ci-robot
69f5f5eff2
Merge pull request #67978 from WanLinghao/token_controller_improve
...
remove idle tokens in kubelet token manager
2018-11-02 12:28:47 -07:00
houjun
9a84e413fc
Fix missing 'break'
2018-10-23 17:14:05 +08:00
WanLinghao
7df1078d6f
Currently, kubelet token mamanger only clean tokens who are expired. For tokens with long expiration, if the pod who creates them got killed or evicted, those tokens may stay in kubelet's memory until they are expired. It's bad for kubelet and node itself. After this patch, each time a pod was deleted, token manager would clean related tokens.
2018-10-22 09:32:59 +08:00