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

docs: Add documentation for disabling ReclaimSpace #701

Merged
merged 1 commit into from
Nov 18, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions docs/reclaimspace.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,3 +154,29 @@ itself by adding the `csiaddons.openshift.io/state: "unmanaged"` annotation.
CSI Addons will not perform any further modifications on the `ReclaimSpaceCronJob` with the `unmanaged` state.

To have a custom schedule the user can then modify the `schedule` field of the `ReclaimSpaceCronJob` spec.

## Disabling Reclaim Space

### Disabling Reclaim Space for a Specific PersistentVolumeClaim

To disable reclaim space for a specific PersistentVolumeClaim (PVC), follow these steps to modify the associated `ReclaimSpaceCronJob` CR:

1. **Identify the `ReclaimSpaceCronJob` CR**: Run the following command to retrieve the name of the `ReclaimSpaceCronJob` CR associated with the PVC:

```bash
kubectl get reclaimspacecronjobs -o jsonpath='{range .items[?(@.spec.jobTemplate.spec.target.persistentVolumeClaim=="<PVC_NAME>")]}{.metadata.name}{"\n"}{end}'
```

Replace `<PVC_NAME>` with the name of your PVC.

2. **Edit the `ReclaimSpaceCronJob` CR**: Apply the following to disable the reclaim space:
- Update the `csiaddons.openshift.io/state` annotation from `"managed"` to `"unmanaged"`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will be good if we add example for kubectl annotate and kubectl patch command

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason I did not go with that is because

  • The annotation would be present on the CR already.
  • User needs to just to kubectl edit and can do both the required changes simultaneously.

Lesser the commands, the better it is, WDYT?

Copy link
Collaborator

@nixpanic nixpanic Nov 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kubectl edit is not something that can be automated easily. I prefer to give the kubectl annotate and kubectl patch commands as examples, in addition to the description you have now.
Fewer commands is nice, but you should also expect that automated tools deploy apps and configure extra things like disabling reclaim space for its PVC(s).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please provide the command to annotate the CR as mentioned above

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

```bash
kubectl annotate reclaimspacecronjobs <RECLAIMSPACECRONJOB_NAME> "csiaddons.openshift.io/state=unmanaged" --overwrite=true
```
- Add `suspend: true` under the `spec` field.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please provide `kubectl patch command as well for this one

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

```bash
kubectl patch reclaimspacecronjobs <RECLAIMSPACECRONJOB_NAME> -p '{"spec": {"suspend": true}}' --type=merge
```

These changes will disable reclaim space for the specified PVC.
Loading