-
Notifications
You must be signed in to change notification settings - Fork 263
Support for the ONTAP volume "-is-preserve-unlink-enabled" flag with the ontap-nas backend #1087
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
base: master
Are you sure you want to change the base?
Conversation
The ONTAP volume setting -is-preserve-unlink-enabled is required
for Kafka over NFS use cases. This feature implements a Trident
PVC setting to enable this ONTAP volume setting with the ontap-nas
driver.
To enable this setting with an ontap-nas backend, use the following
in the backend definition defaults:
"defaults": {
"preserveUnlink": "true",
}
Alternatively, this setting can also be enabled on a per PVC basis
with the following PVC annotation:
annotations:
trident.netapp.io/preserveUnlink: "true"
If no value is given for preserveUnlink in the backend or PVC
definition, it will default to "false".
While the is-preserve-unlink-enabled volume setting was first
introduced with ONTAP 9.12.1, this feature in Trident requires the
use of ONTAP 9.15.1 or higher where Trident uses the ONTAP REST API
by default. The is-preserve-unlink-enabled volume setting in ONTAP
is not currently exposed by the ONTAP REST API, so we use the
api/private/cli/volume REST endpoint to implement this feature.
|
This pull request satisfied #808 |
|
Thanks Mike , this has been a long time waiting feature for us , would help further stabilize our Kafka platforms |
| return err | ||
| } | ||
|
|
||
| response, err := c.sendPassThroughCliCommand(ctx, request) |
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.
Hi, @arndt-netapp. Trident aggressively avoids using the CLI passthrough because we need to address SVMs by UUID instead of by name. Is there another way we can accomplish this?
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.
Unfortunately, the is-preserve-unlink-enabled volume parameter is not exposed via the standard ONTAP REST API, which is why I implemented this with the private CLI passthrough.
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.
Understood, and we need to lobby for that, or we need the CLI passthough to accept SVM UUIDs. Every other REST API accepts SVM UUIDs, so it seems reasonable for the CLI to do so as well.
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.
I filed CONTAP-595771 to request REST API support for the is-preserve-unlink-enabled volume parameter. If we can deliver this now via the CLI passthrough, and move to using the standard /storage/volumes endpoint down the road, that would be ideal given how long this customer request has been waiting already!
The ONTAP volume setting -is-preserve-unlink-enabled is required
for Kafka over NFS use cases. This feature implements a Trident
PVC setting to enable this ONTAP volume setting with the ontap-nas
driver.
To enable this setting with an ontap-nas backend, use the following
in the backend definition defaults:
Alternatively, this setting can also be enabled on a per PVC basis
with the following PVC annotation:
annotations:
trident.netapp.io/preserveUnlink: "true"
If no value is given for preserveUnlink in the backend or PVC
definition, it will default to "false".
While the is-preserve-unlink-enabled volume setting was first
introduced with ONTAP 9.12.1, this feature in Trident requires the
use of ONTAP 9.15.1 or higher where Trident uses the ONTAP REST API
by default. The is-preserve-unlink-enabled volume setting in ONTAP
is not currently exposed by the ONTAP REST API, so we use the