New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Retry recycle or delete operation on failure. #19365
Retry recycle or delete operation on failure. #19365
Conversation
Labelling this PR as size/L |
@markturansky - can you pick this up? |
race condition. i assigned myself just as you posted. yes, i will review this. |
GCE e2e test build/test passed for commit 723d7114ea54ebb907d57cd29072c16196f79597. |
723d711
to
3268503
Compare
GCE e2e test build/test passed for commit 3268503e52431c56691293679ac17d6e10f83681. |
The author of this PR is not in the whitelist for merge, can one of the admins add the 'ok-to-merge' label? |
@@ -81,6 +81,7 @@ type CMServer struct { | |||
ResourceQuotaSyncPeriod time.Duration | |||
NamespaceSyncPeriod time.Duration | |||
PVClaimBinderSyncPeriod time.Duration | |||
PVRecycleRetryCount int |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is better in the VolumeConfigFlags struct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, moved.
79461bb
to
a9422aa
Compare
GCE e2e test build/test passed for commit 79461bb278aa46dd16c746f073dd591e6d10de2c. |
GCE e2e test build/test passed for commit a9422aac6b2f5b7af5df50fa6828a2ceb665fbb0. |
a9422aa
to
a1a770e
Compare
GCE e2e build/test failed for commit a1a770ef6455bc12b5567a6009976d7d9b97d959. |
a1a770e
to
b2dfa48
Compare
GCE e2e test build/test passed for commit b2dfa48f06a5740529dc0569cd82bb4b14e55583. |
@@ -85,6 +85,7 @@ type VolumeConfigFlags struct { | |||
PersistentVolumeRecyclerMinimumTimeoutHostPath int | |||
PersistentVolumeRecyclerIncrementTimeoutHostPath int | |||
EnableHostPathProvisioning bool | |||
PVRecycleRetryCount int |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For consistency, I think this should be PersistentVolumeRecyclerRetryCount
, which would match the other variables in this struct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
GCE e2e build/test failed for commit 7f241c842454d0f03bb1ce50e06d6f04dfbe5981. |
@k8s-bot test this issue: #IGNORE Tests have been pending for 24 hours |
PR needs rebase |
7f241c8
to
3f94a15
Compare
Rebased (loosing LGTM again). |
PR changed after LGTM, removing LGTM. |
Re-adding LGTM after rebase. |
GCE e2e test build/test passed for commit 3f94a15168488edfa6b41867fb4142aafb9a82e0. |
3f94a15
to
3bdd16a
Compare
GCE e2e test build/test passed for commit 3bdd16a3517868d2073b13b7190a3d48ea4f285d. |
Recycle controller tries to recycle or delete a PV several times. It stores count of failed attempts and timestamp of the last attempt in annotations of the PV. By default, the controller tries to recycle/delete a PV 3 times in 10 minutes interval. These values are configurable by kube-controller-manager --pv-recycler-maximum-retry=X --pvclaimbinder-sync-period=Y arguments.
3bdd16a
to
76b6449
Compare
PR changed after LGTM, removing LGTM. |
GCE e2e test build/test passed for commit 76b6449. |
@markturansky, I had to regenerate docs, please review again |
// How many recycle/delete operations failed. | ||
retryCount int | ||
// Timestamp of the last attempt. | ||
lastAttempt time.Time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's interesting now that we're thinking about Conditions. These are the kinds of fileds on a Condition (type, timestamp, etc).
re-added LGTM after doc regen. |
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
GCE e2e test build/test passed for commit 76b6449. |
Automatic merge from submit-queue |
Auto commit by PR queue bot
Recycle controller tries to recycle or delete a PV several times.
It stores count of failed attempts and timestamp of the last attempt in
annotations of the PVinternal map.By default, the controller tries to recycle/delete a PV 3 times in
10 minutes interval. These values are configurable by
kube-controller-manager --pvrecycler-retry-count=X --pvclaimbinder-sync-period=Y
arguments.
cc: @kubernetes/rh-storage