Add CreateCSISnapshotAll, RestoreCSISnapshotAll and DeleteCSISnapshotAll functions
Opened this issue ยท 8 comments
For datastores with multiple replicas, having the "All" alternatives for CreateCSISnapshot, RestoreCSISnapshot and DeleteCSISnapshot is useful in order to:
- avoid phase duplication for each of the replicas
- address use cases where the number of replicas for the datastore can change in Day 2. Without the "All" alternative, a blueprint update is required with each scale
- have a single blueprint regardless of the setup of the datastore in various environments
Thanks for opening this issue ๐. The team will review it shortly.
If this is a bug report, make sure to include clear instructions how on to reproduce the problem with minimal reproducible examples, where possible. If this is a security report, please review our security policy as outlined in SECURITY.md.
If you haven't already, please take a moment to review our project's Code of Conduct document.
We discussed in today's community meeting; the request is valid. However, the solution to multiply functions may not be the best way forward, a loop or an all argument could be considered.
@laurentiusoica Can we close this issue?
@viveksinghggits will also look for a loop example
CreateCSISnapshot
just takes a PVC name right now. https://github.com/kanisterio/kanister/blob/master/pkg/function/create_csi_snapshot.go#L77
So, even if we passe multiple PVCs from the arg to CreateCSISnapshot
the function would not be able to handle that properly. We will have to change the function in such a way that it can handle space separated PVC names.
This issue is marked as stale due to inactivity. Add a new comment to reactivate it.
Hi @laurentiusoica ,
Is this still relevant to you? Do you have use case to use this feature as soon as we add it, or you had a use case where you thought it would be useful in future.
Without this APIs, is there a path forward for replicated services that could also dynamically scale at runtime ?
The only option right now would be to take application aware backup using database specific utilities for example mysqldump
etc.