Conversation
5e1cb0c to
c347ef7
Compare
a0d1273 to
409e5d5
Compare
7247ac6 to
060a346
Compare
|
@mxsrc This PR is ready for review. Also have added testing results in the PR. |
There was a problem hiding this comment.
Pull request overview
This PR implements PITR-aware IOPS allocation by splitting the requested branch IOPS budget between the main data volume and the WAL volume (25% WAL / 75% data), leveraging Simplyblock CSI’s per-PVC QOS annotations.
Changes:
- Add support for rendering user-provided annotations onto the WAL PVC Helm template.
- Introduce
WAL_IOPS_FRACTIONand apply IOPS splitting during branch provisioning/config generation and during volume IOPS updates. - Ensure clone/restore flows create the StorageClass with the (intended) data-volume IOPS portion.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| src/deployment/charts/vela/templates/autoscaler/wal-pvc.yaml | Allows WAL PVC annotations to be rendered from chart values (needed for per-PVC QOS). |
| src/deployment/init.py | Splits IOPS into data/WAL portions; annotates WAL PVC values; updates Simplyblock volumes accordingly. |
| src/api/organization/project/branch/init.py | Adjusts clone/restore StorageClass creation to use the data portion of the IOPS budget. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
060a346 to
9a82a68
Compare
|
|
mxsrc
left a comment
There was a problem hiding this comment.
I count five places where the computation is taking place. This needs to be a single helper. Ideally, we'd be able to delegate everything to an update function, at the very least we need a helper to compute the fraction. This should be possible for all cases I can see here. Clone and restoration can simply clone and restore, and in a second step update the IOPS value, or maybe even reuse the resize functionality.
|
added a helper function to split the IOPS for DATA and WAL PVCs. |
fixes: simplyblock/vela#256
PR: simplyblock/simplyblock-csi#294 allows taking QOS IOPS parameters Via annotation. this PR makes use of it.
PTIR: split the assigned IOPS and provide 25% for the WAL and 75% for the data volume
testing
Created a branch with PITR enabled and IOPS as 1000 (which will create create 2 PVCs)
for DATA PVC
and for WAL PVC