Skip to content
Open
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
30 changes: 14 additions & 16 deletions modules/storage-persistent-storage-pvc-volumeattributesclass.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,12 @@
[id="storage-persistent-storage-pvc-volumeattributesclass_{context}"]
= Volume Attributes Classes

Volume Attributes Classes provide a way for administrators to describe "classes" of storage they offer. Different classes might correspond to different quality-of-service levels.

:FeatureName: Volume Attributes Classes
include::snippets/technology-preview.adoc[leveloffset=+1]

Volume Attributes Classes in {product-title} is available only with AWS Elastic Block Storage (EBS) and Google Cloud Platform (GCP) persistent disk (PD) Container Storage Interface (CSI).

You can apply a Volume Attributes Class to a persistent volume claim (PVC). If a new Volume Attributes Class becomes available in the cluster, a user can update the PVC with the new Volume Attributes Class if needed.

Volume Attributes Classes have parameters that describe volumes belonging to them. If a parameter is omitted, the default is used at volume provisioning. If you apply the PVC with a different Volume Attributes Class with omitted parameters, the default value of the parameters might be used depending on the CSI driver implementation. For more information, see the related CSI driver documentation.
Volume Attributes Classes provide a way for administrators to describe "classes" of storage they offer. These different classes can correspond to different quality-of-service levels. You can then apply Volume Attributes Classes to a persistent volume claim (PVC). If needed, you can apply new Volume Attributes Classes that become available in the cluster to the PVC.

== Limitations
Volume Attributes Classes has the following limitations:
Volume Attributes Classes have the following limitations:

* Only with AWS Elastic Block Storage (EBS) and Google Cloud Platform (GCP) persistent disk (PD) Container Storage Interface (CSI).

* With GCP PD, volume modification using Volume Attributes Classes is only possible for hyperdisk-balanced disk types.

Expand All @@ -31,16 +24,21 @@ Volume Attributes Classes has the following limitations:

* Volume Attributes Class parameters cannot be edited. If you need to change Volume Attributes Class parameters, create a new Volume Attributes Class with the desired parameters, and then apply it to a PVC.

== Enabling Volume Attributes Classes
Volume Attributes Classes are not enabled by default.
== Defining Volume Attributes Classes

To enable Volume Attributes Classes, follow the procedure in section _Enabling {product-title} features using FeatureGates_.
When defining Volume Attributes Classes, you must verify supported parameters with your storage provider and explicitly declare all parameters in every Volume Attributes Classes definition.

== Defining Volume Attributes Classes
The metric, `openshift_cluster_storage_vac_mismatch_parameters`, helps identify inconsistent parameter sets that might lead to the persistence issues:

* `0`: All Volume Attributes Classes define the same set of parameters.

* `1`: Mismatch detected. At least one Volume Attributes Class defines a different set of parameters than the others.

You can modify a Volume Attributes Class on a PVC at any time. However, if a Volume Attributes Class is changed multiple times in a short time period, the underlying storage provider might enforce a delay of several hours before the most recent change is fully reconciled on the disk.

The following is an example Volume Attributes Class YAML file for AWS EBS.

.`VolumeAttributesClass` AWE EBS definition example
.`VolumeAttributesClass` AWS EBS definition example
[source,yaml]
----
apiVersion: storage.k8s.io/v1beta1
Expand Down