Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This adds retries (5) with a generous 5-10 second interval between each to accommodate any issues with the CSI Driver. At best the nodeUnstage will succeed on the first try (ie no retries); at worst nodeUnstage will fail consecutively 5 times with an upper bound of 30 seconds, enforced by the context timeout.
Implementation details
This incorporates the
RetryNWithBackoff
wrapped in thecontext.WithTimeout
. It also adds a set of retry consts to limit the retries.Testing
Tested manually
make release-agent && docker load < agent.tar
docker kill
. The restart policy is on-failure, so docker will not restart the driver when it's killed manuallyNew tests cover the changes: yes (updated unit tests to have min/max 1-5 calls for retries)
Description for the changelog
Add CSI nodeUnstage retries.
Does this PR include breaking model changes? If so, Have you added transformation functions?
No
Licensing
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.