You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/FAQ.md
+60-22Lines changed: 60 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,8 @@
1
1
# Frequently Asked Questions
2
2
The purpose of this document is to answer questions surrounding the unique design decisions and limitations of the FSx for OpenZFS CSI Driver.
3
3
4
+
## General
5
+
4
6
### What does it mean to provision an FSx for OpenZFS file system as a persistent volume in my cluster? What is actually mounted?
5
7
In general, Persistent Volumes created with the "filesystem" `ResourceType` point at the file system's root volume.
6
8
Dynamically provisioning a new FSx for OpenZFS file system as a Persistent Volume (PV) will create the FSx for OpenZFS file system resource,
@@ -9,41 +11,77 @@ of the PV will create an FSx for OpenZFS snapshot of the file system's root volu
9
11
increasing the requested storage request on a PVC bound to a PV that points at an FSx for OpenZFS file system will increase the storage capacity
10
12
of the overarching file system.
11
13
12
-
### How do I request storage when dynamically provisioning a new FSx for OpenZFS volume as a persistent volume in my cluster?
13
-
When dynamically provisioning a new FSx for OpenZFS volume, the FSx for OpenZFS CSI driver ignores the storage requested in the Persistent Volume Claim (PVC).
14
-
Instead, the driver configures storage requirements via the storageCapacityReservation and storageCapacityQuota parameters, which are defined in the storage class.
15
-
To minimize operator confusion, **the driver will fail to create a volume if the user specifies a value other than the default 1Gi**.
14
+
## Parameters
16
15
17
-
### What happens when I expand the size of my Persistent Volumes?
18
-
You may expand the size of a PV bound to an FSx for OpenZFS file system by increasing the requested storage in the PVC.
19
-
This will increase the size of the file system's storage capacity to the value requested in the PVC.
20
-
Currently, there is no way to adjust the storage requirements of a PV bound to an FSx for OpenZFS volume via the CSI driver.
21
-
To do this, you will need to update the volume via the [FSx API](https://docs.aws.amazon.com/cli/latest/reference/fsx/index.html#cli-aws-fsx) outside the context of your cluster.
22
-
See [here](../examples/kubernetes/volume-expansion/README.md) for more details.
16
+
### Why is SkipFinalBackupOnDeletion required by the CSI Driver, and not the API?
17
+
The default behavior of the API is to set this value as false, which thus creates a resource after deletion.
18
+
To prevent users from creating dangling resources that the driver doesn't maintain, we force users to input this value.
23
19
24
20
### What happens if I do not provide a particular parameter in the Storage Class? What if I provide an invalid parameter?
25
21
If you fail to provide a required parameter on the storage class or provide an invalid parameter, any attempted creates using that storage class will fail.
26
22
The FSx for OpenZFS CSI driver will provide relevant logging detailing the failure mode/reason on the PVC or in the plugin logging.
27
23
If you fail to provide an optional parameter in the storage class, the driver will use the default value specified in the [FSx API](https://docs.aws.amazon.com/cli/latest/reference/fsx/index.html#cli-aws-fsx).
28
24
29
25
### How strict is the parameter validation for the parameters provided in the Storage Class?
30
-
The parameter validation conducted by the FSx for OpenZFS CSI driver is as strict as the [FSx API](https://docs.aws.amazon.com/cli/latest/reference/fsx/index.html#cli-aws-fsx).
31
-
This means that incorrectly spelled parameters and incorrectly formatted parameter values will cause the creation to fail.
26
+
The parameter validation conducted by the FSx for OpenZFS CSI driver is as strict as the [FSx API](https://docs.aws.amazon.com/cli/latest/reference/fsx/index.html#cli-aws-fsx).
27
+
This means that incorrectly spelled parameters and incorrectly formatted parameter values will cause the creation to fail.
32
28
Additionally, parameter values must exactly match the enums specified in the FSx API.
33
29
30
+
### Can I modify parameters defined in the StorageClass after a resource is created?
31
+
Unfortunately there is no way to modify these parameters due to the nature of the CSI driver.
32
+
If a user wishes to modify a particular parameter, they may do so manually, using our API.
33
+
This includes parameters such as ThroughputCapacity, StorageCapacityReservation, and StorageCapacityQuota.
34
+
35
+
### Why are the parameters formatted the way they are?
36
+
FSx for OpenZFS shares its API with other types in the FSx family.
37
+
Because of this, most configuration options are nested under an `OpenZFSConfiguration` object.
38
+
Since this driver is not shared, we decided it would be best to flatten this object at the top level to enhance readability.
39
+
Due to the complex nature of our configurations, we also decided it would be best to align with our API and by requiring parameter values be in JSON format.
40
+
41
+
## Storage Capacity
42
+
43
+
### Why must I set storage on a PersistentVolumeClaim to 1 for volumes?
44
+
FSx for OpenZFS allows users to set StorageCapacityReservation and StorageCapacityQuota which can impact the storage requirements of a given volume.
45
+
There is truly no one size fits all, as there are different requirements based on use case.
46
+
Because of this, we decided to ignore the storage value is when creating the volume, and instead have users utilize the StorageClass parameters.
47
+
To minimize operator confusion, and to keep the door open for possible changes, **the driver will fail to create or modify a volume if the user specifies a value other than 1Gi**.
48
+
49
+
## Volume Expansion
50
+
51
+
### Can I expand the storage capacity of my filesystem?
52
+
You may expand the size of a PV bound to an FSx for OpenZFS file system by increasing the requested storage in the PVC.
53
+
This will increase the size of the file system's storage capacity to the value requested in the PVC.
54
+
Currently, there is no way to adjust the storage requirements of a PV bound to an FSx for OpenZFS volume via the CSI driver.
55
+
56
+
### Why can't I decrease the storage capacity of my filesystem? Why must I increase the capacity by at least 10%?
57
+
These requirements set by the API.
58
+
See this [document](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-storage-capacity.html) for more information.
59
+
60
+
## Snapshots
61
+
62
+
### When I take a snapshot, what FSx resource is created?
63
+
When you take a snapshot, the CSI driver will take an FSx Snapshot.
64
+
Snapshots occur at the volume level.
65
+
If you take a snapshot of a filesystem, it will occur on the root volume of that filesystem.
66
+
Therefore, when restoring snapshots, they must be restored as a volume type.
67
+
68
+
### Can I take an FSx backup using the CSI Driver?
69
+
Currently, there is no way to take an FSx backup of a filesystem using the driver.
70
+
Any backups must be manually created and deleted using the API.
71
+
There is also no way to dynamically create a filesystem from a backup.
72
+
73
+
## Deletion Parameters
74
+
34
75
### How do I configure deletion parameters on my Persistent Volumes?
35
-
Due to limitations in the CSI specification, there is no way to configure deletion parameters for PVs at deletion time.
36
-
As such, you will only be able to configure deletion parameters at creation time. This may be done by setting
37
-
`skipFinalBackupOnDeletion` and `optionsOnDeletion` on the storage class manifests; see [parameters.md](parameters.md) for more information.
38
-
These deletion parameters are configured by applying tags on the underlying FSx resource.
39
-
If you wish to revise the deletion behavior of the volume after creation, you will need to edit these tags on the FSx resource.
76
+
Due to limitations in the CSI specification, there is no way to configure deletion parameters for PVs at deletion time.
77
+
Therefore, we allow users to input these parameters in the StorageClass during initialization.
78
+
See [parameters.md](parameters.md) for information on setting these parameters.
79
+
80
+
### How do I edit a deletion parameter after my resource is already created?
81
+
Deletion parameters are saved by applying a tag for each parameter on the underlying FSx resource.
82
+
If you wish to revise deletion behavior after creation, you will need to manually edit these tags.
40
83
This will need to be done outside the context of the CSI driver.
41
84
If the these tags are missing from the underlying FSx for OpenZFS resource or the tag does not have a valid value,
42
85
the driver will use the default behavior specified in the [FSx API](https://docs.aws.amazon.com/cli/latest/reference/fsx/index.html#cli-aws-fsx).
43
86
Deletion parameters with JSON special characters `"[]{},` are encoded due to [AWS tagging limitations](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions).
44
87
See [tagging](tagging.md) for more details.
45
-
46
-
### Is there a way to tag FSx resources created via the CSI driver?
47
-
The AWS FSx for OpenZFS CSI Driver supports tagging via the `StorageClass.parameters` and `VolumeSnapshotClass.parameters`.
48
-
Any resource created by the FSx for OpenZFS CSI driver is provided default tags to allow you to track which
49
-
FSx resources were created via the CSI driver. See [tagging](tagging.md) for more details.
### Why isn't the driver dynamically provisioning my resource?
6
+
Typically, this is due to syntax or request errors based on the parameters provided in the StorageClass.
7
+
Run `kubectl get pods -n kube-system` and `kubectl logs ${driver_leader} -n kube-system` to grab the driver's logs.
8
+
These logs should output the cause of failure.
9
+
10
+
### Why is the driver throwing an error for a parameter that is correct?
11
+
Double check you are using the most up-to-date driver version.
12
+
If you are, the driver's SDK version may be outdated.
13
+
Please cut a ticket for us to bump the SDK version, as it will allow the driver to pull any API changes.
14
+
15
+
## Mounting
16
+
17
+
### Why can't I mount my resource?
18
+
Typically, this is due to a network or environmental issue.
19
+
Verify that the DNS is reachable from your pod.
20
+
Double check that filesystem lives in the same VPC as your cluster, the security group policy allow ingress NFS traffic, and the route tables are associated with the cluster's subnets.
21
+
See this [document](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/access-within-aws.html) for more information.
22
+
23
+
## Maintenance
24
+
25
+
### How do I know what resources in my account are maintained by the driver?
26
+
Any resource created by the FSx for OpenZFS CSI driver is given tag.
27
+
Assuming these tags are not manually changes, you can find all resources under your account using this [hack](../hack/print-resources).
0 commit comments