-
Notifications
You must be signed in to change notification settings - Fork 105
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
feat(zfs-localpv): add option for choosing between refquota and quota #542
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## develop #542 +/- ##
========================================
Coverage 96.37% 96.37%
========================================
Files 1 1
Lines 496 496
========================================
Hits 478 478
Misses 14 14
Partials 4 4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Thanks @cinapm. Looks good to me. I will let other folks review this. We will target this for this upcoming release. |
Have we tested this change by trying to apply a quota, and then a refquota underneath that dataset? |
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.
This configuration option should be toggle-able through a storageclass.
i have added option to add quotatype parameter on storageclass, the default value is quota |
@cinapm Thanks, we will review this. The team needs to decide on this because this changes the CRDs and changing anything on the CRDs would need a CRD version bump which now raises the question of upgrades and migration. cc @niladrih @avishnu @tiagolobocastro |
I would strongly suggest to verify the impact on the thick provisioning side of things : Let me explain the potential problem with the typical usage of snapshots :
You could end up with a non functionnal thick provisioning while mixing Let me take an exemple with a workload that requires 10GB of free space, with thick provisioning :
Using |
Also, I would like to confirm the huge value of this PR : without This PR (with |
Your point is very valid, and based on the points you mentioned, I have made the changes. now when there is option |
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.
@cinapm A couple of issues here I see you have changed the v1/zfsvolume.go
file and also the crd and operator yamls. The CRDs are supposed to be generated from the v1/zfsvolume.go
file and are not supposed to be changed manually. It would be good if you undo the yaml changes and do it via the script. Also, since you have changed the v1/zfsvolume.go
we also need to do the kubegen again.
make bootstrap
make kubegen
make manifests
One more thing, I see you changed the zfs-restore and zfs-snapshot crds as well, but I don't see any equivalent changes on their corresponding go files. So if you want to change them as well, you need to change the go files first and run the above scripts.
i didn't change them manually, first of all I changed the |
Okay, I see the embedded volSpec in the restores and snapshot structures. Okay. It would help if you rebased your branch, there were some changes merged on the deepcopy methods. Also please run You also need to copy the crd changes into the The other changes look good to me. It might be worth testing upgrade once before we take this in. Example, installing the previous version of zfs and upgrading it to this version and see the crd changes. Thanks |
as you said, first of all, I have rebased my branch and after that I added crds changes into the corresponding helm manifests |
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.
LGTM. Test the upgrades before this can be taken in.
@cinapm It will be good if you add the test case to check the Line 131 in 2f93897
You can find the details about this is this issue #560 |
@cinapm Please rebase and run |
@cinapm I see there isn't any activity here for a while, is there any blocker that you are facing that you need help with? |
Signed-off-by: cina_pm <cinapm375@gmail.com>
…rovisioning Signed-off-by: cina_pm <cinapm375@gmail.com>
Signed-off-by: cina_pm <cinapm375@gmail.com>
…g switch case Signed-off-by: cina_pm <cinapm375@gmail.com>
… manifests Signed-off-by: cina_pm <cinapm375@gmail.com>
Signed-off-by: cina_pm <cinapm375@gmail.com>
Signed-off-by: cina_pm <cinapm375@gmail.com>
I have rebased the develop branch and also run |
@Abhinandan-Purkait |
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.
LGTM
I am approving it , but better add the test here here |
@cinapm Just making sure there’s nothing pending on your side. If everything looks good, we can go ahead and merge it |
@sinhaashish |
@cinapm Thanks. Merging the PR. |
Why is this PR required? What issue does it fix?:
resolve this issue: #423
What this PR does?:
this PR adds an option for choosing between refquota or quota and uses this value as zfs command options
Checklist:
<type>(<scope>): <subject>