Skip to content

Conversation

@noamasu
Copy link
Contributor

@noamasu noamasu commented Sep 10, 2025

This draft introduces an attempt to allow DataVolumes to use CSI volume cloning (instead of falling back to host-assisted clone strategy) even when the usePopulator feature is set to false, providing direct cloning for storage classes that support CSI clone operations.

added csi-clone support for both pvc and snapshot sources - withing the cloning process, PVC with a dataSource/dataSourceRef pointing to the pvc/volumesnapshot will be created.

What this PR does / why we need it:
Following our discussion about Portworx’s set of the userPopulator field to false, we decided to reintroduce the ability to perform a CSI-based clone even without CDI populators. This avoids falling back to host-assisted cloning, which significantly increases clone completion time.

Which issue(s) this PR fixes *
Jira Ticket: https://issues.redhat.com/browse/CNV-66958
for additional context:
The PR that removed csi-cloning after introducing CDI populators: 2285ceb#r1235350852

Special notes for your reviewer:
@alromeros
@akalenyu

Release note:

NONE

This change is a draft attempt to allow DataVolumes to use CSI volume cloning (instead of falling back to host-assisted clone strategy) even when the usePopulator feature is set to false, providing direct cloning for storage classes that support CSI clone operations.

added csi-clone support for both pvc and snapshot sources - withing the cloning process, PVC with a dataSource/dataSourceRef pointing to the pvc/volumesnapshot will be created.

Signed-off-by: Noam Assouline <[email protected]>
@kubevirt-bot kubevirt-bot added release-note-none Denotes a PR that doesn't merit a release note. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. labels Sep 10, 2025
@kubevirt-bot
Copy link
Contributor

Hi @noamasu. Thanks for your PR.

PRs from untrusted users cannot be marked as trusted with /ok-to-test in this repo meaning untrusted PR authors can never trigger tests themselves. Collaborators can still trigger tests on the PR using /test all.

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.

@kubevirt-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign akalenyu for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@akalenyu
Copy link
Collaborator

I would really prefer that we instead help Portworx overcome their issue with using populators -
We don't test the non populator path nearly enough to have confidence in it working.
We have bug fixes only going in the populator path for a while now too, so that's also risky.

/cc @mhenriks

@mhenriks
Copy link
Member

I would really prefer that we instead help Portworx overcome their issue with using populators - We don't test the non populator path nearly enough to have confidence in it working. We have bug fixes only going in the populator path for a while now too, so that's also risky.

/cc @mhenriks

This will definitely be a maintenance burden but also don't forget that without populators we cannot support WaitForFirstConsumer snapshot/csi cloning so the benefits are severely limited

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dco-signoff: yes Indicates the PR's author has DCO signed all their commits. release-note-none Denotes a PR that doesn't merit a release note. size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants