Skip to content
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

Can not set enable-orphan-vol-gc flag for csi-controller with helm chart #1828

Open
whg517 opened this issue Mar 8, 2025 · 2 comments
Open

Comments

@whg517
Copy link

whg517 commented Mar 8, 2025

Describe the bug
When I deployed openebs using helm chart, I found that there were still isolated volumes in mayastor even after I removed the replica volumes. Through source code research, I found that the problem is that the isolated volume gc is not enabled for csi-controller. And it cannot be configured in helm values.

To Reproduce
Steps to reproduce the behavior:

  • create and use prelicated pvc
  • delete pvc and pv
  • show volume use kube-mayastor
  • i got volume orphan volumes

Expected behavior
A clear and concise description of what you expected to happen.

when i delete pvc and pv , volumes should remove in mayastor

Screenshots
If applicable, add screenshots to help explain your problem.

  • openebs chart 4.2.0

Additional context
Add any other context about the problem here.

The csi-controller argument in helm chart

https://github.com/openebs/mayastor-extensions/blob/e0c39eaf5cb6c93a463c4f0ea605f69740ba9fff/chart/templates/mayastor/csi/csi-controller-deployment.yaml#L119-L129

The csi-controller argument in csi impl

https://github.com/openebs/mayastor-control-plane/blob/9a2b3a1e12cb09237c0003dfecc0f57b984fa28a/control-plane/csi-driver/src/bin/controller/main.rs#L88-L113

@tiagolobocastro
Copy link
Contributor

So assuming these volumes set to retain?

We had disabled this because it's dangerous to GC them automatically (see #1787).
Would like to collect some feedback here, whether we should add a helm variable to enable it, or add a kubectl-plugin command to cleanup?

@whg517
Copy link
Author

whg517 commented Mar 9, 2025

Hi, @tiagolobocastro I read your quote. Here's what I think:

I think from the point of view of use, we should open the parameter override function, in order to avoid misoperation, we can provide 'argsOverride' this way, rather than 'enable_xxx: true' such a shortcut setting.

This is required for the isolated volume recycling function. At least from what I know about openebs so far, I haven't found a better way to manually delete isolated volumes.

After the pvc and pv are deleted, the kube-mayastor command can see that the corresponding volume content still exists in mayastor. If it is really no longer needed, then I should want to delete it rather than let it continue to occupy my storage space. If it's always there, over time I won't have enough space to allocate to new volumes.

Or the community provides manual maintenance to clean mayastor isolated volumes.

I've been using Longhorn for the last few years, and it provides a web user interface to completely manage the underlying volumes and their relationships with the upper k8s, as well as create backups. Can the openebs community learn from its management methods and provide users with command line or crd or Web user interface?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants