Ensure the function `ensureCustomResourceDefinitionsExist` returns when
the duration specified in `retryCRDIntervalMax` flag is reached.
This works by passing a context to the backoff so that we can
timeout with context.WithTimeout. The new (correct) default duration for
the flag is 30s to give a bit more time when controller and CRD are
created at the same time.
Also limit the amount of resources returned by the list calls to 0 to
speed up the operations because we only care that the CRD exists.
This patch adds two new parameters `retryIntervalStart & retryIntervalMax`
which can be configured to adjust the ratelimiters of snapshotqueue and contentqueue
in the controller.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
```release-note
`retry-interval-start` and `retry-interval-max` arguments are added to common-controller
which controls retry interval of failed volume snapshot creation and deletion.
These values set the ratelimiter for snapshot and content queues.
```
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Two new timeout values ( retryIntervalStart & retryIntervalMax )
have been added to set the ratelimiter for volumesnapshotcontent queue.
Fix# https://github.com/kubernetes-csi/external-snapshotter/issues/463
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
```release-note
`retry-interval-start` and `retry-interval-max` arguments are added to csi-snapshotter sidecar which controls retry interval of failed volume snapshot creation and deletion. These values set the ratelimiter for volumesnapshotcontent queue.
```
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/177-volume-snapshot/tighten-validation-webhook-crd.md
1. Ratcheting validation webhook server image
2. Controller labels invalid objects
3. Unit tests for webhook
4. Deployment README and example deployment method with certs
5. Update top-level README
Racheting validation:
1. webhook is strict on create
2. webhook is strict on updates where the existing object passes strict validation
3. webhook is relaxed on updates where the existing object fails strict validation (allows finalizer removal, status update, deletion, etc)
Additionally the validating wehook server will perform immutability
checks on scenario 2 above.