-
Notifications
You must be signed in to change notification settings - Fork 84
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
fix: clone volume content to requested volume #1504
Conversation
|
Welcome @acortelyou! |
Hi @acortelyou. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/ok-to-test |
/retest |
@acortelyou I have pushed a new commit(b40c5f9), only copy volume to different account if storageAccount is specified |
Is some code missing from the commit? Or did you want me to implement? |
@acortelyou I have made the changes already, thx |
I have some concerns about these changes, will review more thoroughly tomorrow to make sure I'm not missing something. In short, if I don't specify an account in the volume request storage class I would expect the destination to be dynamically provisioned the exact same way it would be if there was not a data source specified. I have no expectation for specifying a data source to influence the data destination. |
@acortelyou the original behavior is copying the volume into the same account as source volume, we should keep the same behavior unless user specifies |
Thanks @andyzhangx, I appreciate your quick responses and willingness to collaborate on a solution. I believe the user expects their volume to be provisioned as configured whether or not they provide a
Correct, this is a bug and contradicts the documentation.
I disagree. We should have the volume provisioning behavior always match the documentation and user intent. Arbitrarily preventing the use of volume cloning and dynamic provisioning at the same time would break many useful scenarios, mine included.
The documentation provides clear guidance on where/how volumes are to be provisioned and also provides the means to locate and co-locate the volumes if desired.
I suspect we'll want to refactor some of these changes so that we can fail faster before potentially creating an account or container, but it would require additional modifications to the tests. Thanks! FYI I pulled the logs for the last month and it looks like no-one other than my team and the E2EAKS runners are even trying to use blob volume cloning. I suspect it's because the current behavior is so incredibly limiting. After fixing this bug, blob volume cloning will be extremely useful for a bunch of scenarios. Blobfuse2 can be way more performant than the other csi options we've benchmarked and we want to see it succeed. |
@umagnus I have removed the extraneous One now-redundant test has been removed. |
I think I spotted a volume cloning bug where I left that fix as a separate commit so that it can be easily reverted if the existing behavior was intentional. |
/retest |
3 similar comments
/retest |
/retest |
/retest |
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
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: acortelyou, andyzhangx The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/cherrypick release-1.24 |
@andyzhangx: new pull request created: #1509 In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/cherrypick release-1.23 |
@andyzhangx: #1504 failed to apply on top of branch "release-1.23":
In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/kind bug
What this PR does / why we need it:
CreateVolume()
now follows the established volume provisioning logic when cloning volume content.This ensures the created volume has the expected configuration, metadata and content.
Which issue(s) this PR fixes:
containerName
orcontainerNamePrefix
are specifiedRequirements:
Special notes for your reviewer:
Release note: