chore(k8s): updated storage and apiextension version to v1 (#299)

Signed-off-by: shubham <shubham.bajpai@mayadata.io>
This commit is contained in:
Shubham Bajpai 2021-03-31 15:09:48 +05:30 committed by GitHub
parent 3162112327
commit 533e17a9aa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 1023 additions and 956 deletions

View file

@ -142,7 +142,7 @@ bootstrap: controller-gen
.PHONY: controller-gen .PHONY: controller-gen
controller-gen: controller-gen:
TMP_DIR=$(shell mktemp -d) && cd $$TMP_DIR && go mod init tmp && go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.2.8 && rm -rf $$TMP_DIR; TMP_DIR=$(shell mktemp -d) && cd $$TMP_DIR && go mod init tmp && go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.4.0 && rm -rf $$TMP_DIR;
# SRC_PKG is the path of code files # SRC_PKG is the path of code files
SRC_PKG := github.com/openebs/zfs-localpv/pkg SRC_PKG := github.com/openebs/zfs-localpv/pkg

View file

@ -0,0 +1 @@
With k8s v1.22 the v1beta1 for various resources will no longer be supported. Updating the storage and apiexention version to v1 for better support.

View file

@ -1,7 +1,7 @@
apiVersion: v2 apiVersion: v2
name: zfs-localpv name: zfs-localpv
description: CSI Driver for dynamic provisioning of ZFS Persistent Local Volumes. description: CSI Driver for dynamic provisioning of ZFS Persistent Local Volumes.
version: 1.5.0 version: 1.5.1
appVersion: 1.5.0 appVersion: 1.5.0
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/openebs/icon/color/openebs-icon-color.png icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/openebs/icon/color/openebs-icon-color.png
home: http://www.openebs.io/ home: http://www.openebs.io/

View file

@ -11,27 +11,14 @@
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfsbackups.zfs.openebs.io name: zfsbackups.zfs.openebs.io
spec: spec:
additionalPrinterColumns:
- JSONPath: .spec.prevSnapName
description: Previous snapshot for backup
name: PrevSnap
type: string
- JSONPath: .status
description: Backup status
name: Status
type: string
- JSONPath: .metadata.creationTimestamp
description: Age of the volume
name: Age
type: date
group: zfs.openebs.io group: zfs.openebs.io
names: names:
kind: ZFSBackup kind: ZFSBackup
@ -40,12 +27,26 @@ spec:
shortNames: shortNames:
- zb - zb
singular: zfsbackup singular: zfsbackup
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
subresources: {} versions:
validation: - additionalPrinterColumns:
- description: Previous snapshot for backup
jsonPath: .spec.prevSnapName
name: PrevSnap
type: string
- description: Backup status
jsonPath: .status
name: Status
type: string
- description: Age of the volume
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSBackup describes a zfs backup resource created as a custom resource description: ZFSBackup describes a zfs backup resource created as a custom
resource
properties: properties:
apiVersion: apiVersion:
description: 'APIVersion defines the versioned schema of this representation description: 'APIVersion defines the versioned schema of this representation
@ -73,7 +74,8 @@ spec:
minLength: 1 minLength: 1
type: string type: string
prevSnapName: prevSnapName:
description: PrevSnapName is the last completed-backup's snapshot name description: PrevSnapName is the last completed-backup's snapshot
name
type: string type: string
snapName: snapName:
description: SnapName is the snapshot name for backup description: SnapName is the snapshot name for backup
@ -103,11 +105,9 @@ spec:
- spec - spec
- status - status
type: object type: object
version: v1
versions:
- name: v1
served: true served: true
storage: true storage: true
subresources: {}
status: status:
acceptedNames: acceptedNames:
kind: "" kind: ""

View file

@ -11,11 +11,11 @@
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfsrestores.zfs.openebs.io name: zfsrestores.zfs.openebs.io
spec: spec:
@ -25,9 +25,10 @@ spec:
listKind: ZFSRestoreList listKind: ZFSRestoreList
plural: zfsrestores plural: zfsrestores
singular: zfsrestore singular: zfsrestore
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
validation: versions:
- name: v1
schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSRestore describes a cstor restore resource created as a custom description: ZFSRestore describes a cstor restore resource created as a custom
resource resource
@ -77,12 +78,13 @@ spec:
- Invalid - Invalid
type: string type: string
volSpec: volSpec:
description: VolumeInfo defines ZFS volume parameters for all modes in which description: VolumeInfo defines ZFS volume parameters for all modes in
ZFS volumes can be created like - ZFS volume with filesystem, ZFS Volume which ZFS volumes can be created like - ZFS volume with filesystem,
exposed as zfs or ZFS volume exposed as raw block device. Some of the ZFS Volume exposed as zfs or ZFS volume exposed as raw block device.
parameters can be only set during creation time (as specified in the details Some of the parameters can be only set during creation time (as specified
of the parameter), and a few are editable. In case of Cloned volumes, in the details of the parameter), and a few are editable. In case of
the parameters are assigned the same values as the source volume. Cloned volumes, the parameters are assigned the same values as the source
volume.
properties: properties:
capacity: capacity:
description: Capacity of the volume description: Capacity of the volume
@ -90,56 +92,57 @@ spec:
type: string type: string
compression: compression:
description: 'Compression specifies the block-level compression algorithm description: 'Compression specifies the block-level compression algorithm
to be applied to the ZFS Volume. The value "on" indicates ZFS to use to be applied to the ZFS Volume. The value "on" indicates ZFS to
the default compression algorithm. The default compression algorithm use the default compression algorithm. The default compression algorithm
used by ZFS will be either lzjb or, if the lz4_compress feature is used by ZFS will be either lzjb or, if the lz4_compress feature
enabled, lz4. Compression property can be edited after the volume is enabled, lz4. Compression property can be edited after the volume
has been created. The change will only be applied to the newly-written has been created. The change will only be applied to the newly-written
data. For instance, if the Volume was created with "off" and the next data. For instance, if the Volume was created with "off" and the
day the compression was modified to "on", the data written prior to next day the compression was modified to "on", the data written
setting "on" will not be compressed. Default Value: off.' prior to setting "on" will not be compressed. Default Value: off.'
pattern: ^(on|off|lzjb|gzip|gzip-[1-9]|zle|lz4)$ pattern: ^(on|off|lzjb|gzip|gzip-[1-9]|zle|lz4)$
type: string type: string
dedup: dedup:
description: 'Deduplication is the process for removing redundant data description: 'Deduplication is the process for removing redundant
at the block level, reducing the total amount of data stored. If a data at the block level, reducing the total amount of data stored.
file system has the dedup property enabled, duplicate data blocks If a file system has the dedup property enabled, duplicate data
are removed synchronously. The result is that only unique data is blocks are removed synchronously. The result is that only unique
stored and common components are shared among files. Deduplication data is stored and common components are shared among files. Deduplication
can consume significant processing power (CPU) and memory as well can consume significant processing power (CPU) and memory as well
as generate additional disk IO. Before creating a pool with deduplication as generate additional disk IO. Before creating a pool with deduplication
enabled, ensure that you have planned your hardware requirements appropriately enabled, ensure that you have planned your hardware requirements
and implemented appropriate recovery practices, such as regular backups. appropriately and implemented appropriate recovery practices, such
As an alternative to deduplication consider using compression=lz4, as regular backups. As an alternative to deduplication consider
as a less resource-intensive alternative. should be enabled on the using compression=lz4, as a less resource-intensive alternative.
zvol. Dedup property can be edited after the volume has been created. should be enabled on the zvol. Dedup property can be edited after
Default Value: off.' the volume has been created. Default Value: off.'
enum: enum:
- "on" - "on"
- "off" - "off"
type: string type: string
encryption: encryption:
description: 'Enabling the encryption feature allows for the creation description: 'Enabling the encryption feature allows for the creation
of encrypted filesystems and volumes. ZFS will encrypt file and zvol of encrypted filesystems and volumes. ZFS will encrypt file and
data, file attributes, ACLs, permission bits, directory listings, zvol data, file attributes, ACLs, permission bits, directory listings,
FUID mappings, and userused / groupused data. ZFS will not encrypt FUID mappings, and userused / groupused data. ZFS will not encrypt
metadata related to the pool structure, including dataset and snapshot metadata related to the pool structure, including dataset and snapshot
names, dataset hierarchy, properties, file size, file holes, and deduplication names, dataset hierarchy, properties, file size, file holes, and
tables (though the deduplicated data itself is encrypted). Default deduplication tables (though the deduplicated data itself is encrypted).
Value: off.' Default Value: off.'
pattern: ^(on|off|aes-128-[c,g]cm|aes-192-[c,g]cm|aes-256-[c,g]cm)$ pattern: ^(on|off|aes-128-[c,g]cm|aes-192-[c,g]cm|aes-256-[c,g]cm)$
type: string type: string
fsType: fsType:
description: 'FsType specifies filesystem type for the zfs volume/dataset. description: 'FsType specifies filesystem type for the zfs volume/dataset.
If FsType is provided as "zfs", then the driver will create a ZFS If FsType is provided as "zfs", then the driver will create a ZFS
dataset, formatting is not required as underlying filesystem is ZFS dataset, formatting is not required as underlying filesystem is
anyway. If FsType is ext2, ext3, ext4 or xfs, then the driver will ZFS anyway. If FsType is ext2, ext3, ext4 or xfs, then the driver
create a ZVOL and format the volume accordingly. FsType can not be will create a ZVOL and format the volume accordingly. FsType can
modified once volume has been provisioned. Default Value: ext4.' not be modified once volume has been provisioned. Default Value:
ext4.'
type: string type: string
keyformat: keyformat:
description: KeyFormat specifies format of the encryption key The supported description: KeyFormat specifies format of the encryption key The
KeyFormats are passphrase, raw, hex. supported KeyFormats are passphrase, raw, hex.
enum: enum:
- passphrase - passphrase
- raw - raw
@ -149,9 +152,9 @@ spec:
description: KeyLocation is the location of key for the encryption description: KeyLocation is the location of key for the encryption
type: string type: string
ownerNodeID: ownerNodeID:
description: OwnerNodeID is the Node ID where the ZPOOL is running which description: OwnerNodeID is the Node ID where the ZPOOL is running
is where the volume has been provisioned. OwnerNodeID can not be edited which is where the volume has been provisioned. OwnerNodeID can
after the volume has been provisioned. not be edited after the volume has been provisioned.
minLength: 1 minLength: 1
type: string type: string
poolName: poolName:
@ -178,27 +181,27 @@ spec:
- "no" - "no"
type: string type: string
snapname: snapname:
description: SnapName specifies the name of the snapshot where the volume description: SnapName specifies the name of the snapshot where the
has been cloned from. Snapname can not be edited after the volume volume has been cloned from. Snapname can not be edited after the
has been provisioned. volume has been provisioned.
type: string type: string
thinProvision: thinProvision:
description: 'ThinProvision describes whether space reservation for description: 'ThinProvision describes whether space reservation for
the source volume is required or not. The value "yes" indicates that the source volume is required or not. The value "yes" indicates
volume should be thin provisioned and "no" means thick provisioning that volume should be thin provisioned and "no" means thick provisioning
of the volume. If thinProvision is set to "yes" then volume can be of the volume. If thinProvision is set to "yes" then volume can
provisioned even if the ZPOOL does not have the enough capacity. If be provisioned even if the ZPOOL does not have the enough capacity.
thinProvision is set to "no" then volume can be provisioned only if If thinProvision is set to "no" then volume can be provisioned only
the ZPOOL has enough capacity and capacity required by volume can if the ZPOOL has enough capacity and capacity required by volume
be reserved. ThinProvision can not be modified once volume has been can be reserved. ThinProvision can not be modified once volume has
provisioned. Default Value: no.' been provisioned. Default Value: no.'
enum: enum:
- "yes" - "yes"
- "no" - "no"
type: string type: string
volblocksize: volblocksize:
description: 'VolBlockSize specifies the block size for the zvol. The description: 'VolBlockSize specifies the block size for the zvol.
volsize can only be set to a multiple of volblocksize, and cannot The volsize can only be set to a multiple of volblocksize, and cannot
be zero. VolBlockSize can not be edited after the volume has been be zero. VolBlockSize can not be edited after the volume has been
provisioned. Default Value: 8k.' provisioned. Default Value: 8k.'
minLength: 1 minLength: 1
@ -225,9 +228,6 @@ spec:
- spec - spec
- status - status
type: object type: object
version: v1
versions:
- name: v1
served: true served: true
storage: true storage: true
status: status:

View file

@ -11,11 +11,11 @@
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfssnapshots.zfs.openebs.io name: zfssnapshots.zfs.openebs.io
spec: spec:
@ -27,9 +27,7 @@ spec:
shortNames: shortNames:
- zfssnap - zfssnap
singular: zfssnapshot singular: zfssnapshot
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
version: v1
versions: versions:
- name: v1 - name: v1
schema: schema:

View file

@ -11,39 +11,14 @@
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfsvolumes.zfs.openebs.io name: zfsvolumes.zfs.openebs.io
spec: spec:
additionalPrinterColumns:
- JSONPath: .spec.poolName
description: ZFS Pool where the volume is created
name: ZPool
type: string
- JSONPath: .spec.ownerNodeID
description: Node where the volume is created
name: Node
type: string
- JSONPath: .spec.capacity
description: Size of the volume
name: Size
type: string
- JSONPath: .status.state
description: Status of the volume
name: Status
type: string
- JSONPath: .spec.fsType
description: filesystem created on the volume
name: Filesystem
type: string
- JSONPath: .metadata.creationTimestamp
description: Age of the volume
name: Age
type: date
group: zfs.openebs.io group: zfs.openebs.io
names: names:
kind: ZFSVolume kind: ZFSVolume
@ -53,12 +28,34 @@ spec:
- zfsvol - zfsvol
- zv - zv
singular: zfsvolume singular: zfsvolume
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
subresources: {}
version: v1
versions: versions:
- name: v1 - additionalPrinterColumns:
- description: ZFS Pool where the volume is created
jsonPath: .spec.poolName
name: ZPool
type: string
- description: Node where the volume is created
jsonPath: .spec.ownerNodeID
name: Node
type: string
- description: Size of the volume
jsonPath: .spec.capacity
name: Size
type: string
- description: Status of the volume
jsonPath: .status.state
name: Status
type: string
- description: filesystem created on the volume
jsonPath: .spec.fsType
name: Filesystem
type: string
- description: Age of the volume
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSVolume represents a ZFS based volume description: ZFSVolume represents a ZFS based volume
@ -241,7 +238,33 @@ spec:
type: object type: object
served: true served: true
storage: true storage: true
- name: v1alpha1 subresources: {}
- additionalPrinterColumns:
- description: ZFS Pool where the volume is created
jsonPath: .spec.poolName
name: ZPool
type: string
- description: Node where the volume is created
jsonPath: .spec.ownerNodeID
name: Node
type: string
- description: Size of the volume
jsonPath: .spec.capacity
name: Size
type: string
- description: Status of the volume
jsonPath: .status.state
name: Status
type: string
- description: filesystem created on the volume
jsonPath: .spec.fsType
name: Filesystem
type: string
- description: Age of the volume
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSVolume represents a ZFS based volume description: ZFSVolume represents a ZFS based volume
@ -416,6 +439,7 @@ spec:
type: object type: object
served: true served: true
storage: false storage: false
subresources: {}
status: status:
acceptedNames: acceptedNames:
kind: "" kind: ""

View file

@ -1,5 +1,5 @@
# Create the CSI Driver object # Create the CSI Driver object
apiVersion: storage.k8s.io/v1beta1 apiVersion: storage.k8s.io/v1
kind: CSIDriver kind: CSIDriver
metadata: metadata:
name: zfs.csi.openebs.io name: zfs.csi.openebs.io

View file

@ -2,7 +2,7 @@
--- ---
# Create the CSI Driver object # Create the CSI Driver object
apiVersion: storage.k8s.io/v1beta1 apiVersion: storage.k8s.io/v1
kind: CSIDriver kind: CSIDriver
metadata: metadata:
name: zfs.csi.openebs.io name: zfs.csi.openebs.io

View file

@ -11,27 +11,14 @@
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfsbackups.zfs.openebs.io name: zfsbackups.zfs.openebs.io
spec: spec:
additionalPrinterColumns:
- JSONPath: .spec.prevSnapName
description: Previous snapshot for backup
name: PrevSnap
type: string
- JSONPath: .status
description: Backup status
name: Status
type: string
- JSONPath: .metadata.creationTimestamp
description: Age of the volume
name: Age
type: date
group: zfs.openebs.io group: zfs.openebs.io
names: names:
kind: ZFSBackup kind: ZFSBackup
@ -40,12 +27,26 @@ spec:
shortNames: shortNames:
- zb - zb
singular: zfsbackup singular: zfsbackup
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
subresources: {} versions:
validation: - additionalPrinterColumns:
- description: Previous snapshot for backup
jsonPath: .spec.prevSnapName
name: PrevSnap
type: string
- description: Backup status
jsonPath: .status
name: Status
type: string
- description: Age of the volume
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSBackup describes a zfs backup resource created as a custom resource description: ZFSBackup describes a zfs backup resource created as a custom
resource
properties: properties:
apiVersion: apiVersion:
description: 'APIVersion defines the versioned schema of this representation description: 'APIVersion defines the versioned schema of this representation
@ -73,7 +74,8 @@ spec:
minLength: 1 minLength: 1
type: string type: string
prevSnapName: prevSnapName:
description: PrevSnapName is the last completed-backup's snapshot name description: PrevSnapName is the last completed-backup's snapshot
name
type: string type: string
snapName: snapName:
description: SnapName is the snapshot name for backup description: SnapName is the snapshot name for backup
@ -103,11 +105,9 @@ spec:
- spec - spec
- status - status
type: object type: object
version: v1
versions:
- name: v1
served: true served: true
storage: true storage: true
subresources: {}
status: status:
acceptedNames: acceptedNames:
kind: "" kind: ""

View file

@ -11,11 +11,11 @@
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfsrestores.zfs.openebs.io name: zfsrestores.zfs.openebs.io
spec: spec:
@ -25,9 +25,10 @@ spec:
listKind: ZFSRestoreList listKind: ZFSRestoreList
plural: zfsrestores plural: zfsrestores
singular: zfsrestore singular: zfsrestore
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
validation: versions:
- name: v1
schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSRestore describes a cstor restore resource created as a custom description: ZFSRestore describes a cstor restore resource created as a custom
resource resource
@ -77,12 +78,13 @@ spec:
- Invalid - Invalid
type: string type: string
volSpec: volSpec:
description: VolumeInfo defines ZFS volume parameters for all modes in which description: VolumeInfo defines ZFS volume parameters for all modes in
ZFS volumes can be created like - ZFS volume with filesystem, ZFS Volume which ZFS volumes can be created like - ZFS volume with filesystem,
exposed as zfs or ZFS volume exposed as raw block device. Some of the ZFS Volume exposed as zfs or ZFS volume exposed as raw block device.
parameters can be only set during creation time (as specified in the details Some of the parameters can be only set during creation time (as specified
of the parameter), and a few are editable. In case of Cloned volumes, in the details of the parameter), and a few are editable. In case of
the parameters are assigned the same values as the source volume. Cloned volumes, the parameters are assigned the same values as the source
volume.
properties: properties:
capacity: capacity:
description: Capacity of the volume description: Capacity of the volume
@ -90,56 +92,57 @@ spec:
type: string type: string
compression: compression:
description: 'Compression specifies the block-level compression algorithm description: 'Compression specifies the block-level compression algorithm
to be applied to the ZFS Volume. The value "on" indicates ZFS to use to be applied to the ZFS Volume. The value "on" indicates ZFS to
the default compression algorithm. The default compression algorithm use the default compression algorithm. The default compression algorithm
used by ZFS will be either lzjb or, if the lz4_compress feature is used by ZFS will be either lzjb or, if the lz4_compress feature
enabled, lz4. Compression property can be edited after the volume is enabled, lz4. Compression property can be edited after the volume
has been created. The change will only be applied to the newly-written has been created. The change will only be applied to the newly-written
data. For instance, if the Volume was created with "off" and the next data. For instance, if the Volume was created with "off" and the
day the compression was modified to "on", the data written prior to next day the compression was modified to "on", the data written
setting "on" will not be compressed. Default Value: off.' prior to setting "on" will not be compressed. Default Value: off.'
pattern: ^(on|off|lzjb|gzip|gzip-[1-9]|zle|lz4)$ pattern: ^(on|off|lzjb|gzip|gzip-[1-9]|zle|lz4)$
type: string type: string
dedup: dedup:
description: 'Deduplication is the process for removing redundant data description: 'Deduplication is the process for removing redundant
at the block level, reducing the total amount of data stored. If a data at the block level, reducing the total amount of data stored.
file system has the dedup property enabled, duplicate data blocks If a file system has the dedup property enabled, duplicate data
are removed synchronously. The result is that only unique data is blocks are removed synchronously. The result is that only unique
stored and common components are shared among files. Deduplication data is stored and common components are shared among files. Deduplication
can consume significant processing power (CPU) and memory as well can consume significant processing power (CPU) and memory as well
as generate additional disk IO. Before creating a pool with deduplication as generate additional disk IO. Before creating a pool with deduplication
enabled, ensure that you have planned your hardware requirements appropriately enabled, ensure that you have planned your hardware requirements
and implemented appropriate recovery practices, such as regular backups. appropriately and implemented appropriate recovery practices, such
As an alternative to deduplication consider using compression=lz4, as regular backups. As an alternative to deduplication consider
as a less resource-intensive alternative. should be enabled on the using compression=lz4, as a less resource-intensive alternative.
zvol. Dedup property can be edited after the volume has been created. should be enabled on the zvol. Dedup property can be edited after
Default Value: off.' the volume has been created. Default Value: off.'
enum: enum:
- "on" - "on"
- "off" - "off"
type: string type: string
encryption: encryption:
description: 'Enabling the encryption feature allows for the creation description: 'Enabling the encryption feature allows for the creation
of encrypted filesystems and volumes. ZFS will encrypt file and zvol of encrypted filesystems and volumes. ZFS will encrypt file and
data, file attributes, ACLs, permission bits, directory listings, zvol data, file attributes, ACLs, permission bits, directory listings,
FUID mappings, and userused / groupused data. ZFS will not encrypt FUID mappings, and userused / groupused data. ZFS will not encrypt
metadata related to the pool structure, including dataset and snapshot metadata related to the pool structure, including dataset and snapshot
names, dataset hierarchy, properties, file size, file holes, and deduplication names, dataset hierarchy, properties, file size, file holes, and
tables (though the deduplicated data itself is encrypted). Default deduplication tables (though the deduplicated data itself is encrypted).
Value: off.' Default Value: off.'
pattern: ^(on|off|aes-128-[c,g]cm|aes-192-[c,g]cm|aes-256-[c,g]cm)$ pattern: ^(on|off|aes-128-[c,g]cm|aes-192-[c,g]cm|aes-256-[c,g]cm)$
type: string type: string
fsType: fsType:
description: 'FsType specifies filesystem type for the zfs volume/dataset. description: 'FsType specifies filesystem type for the zfs volume/dataset.
If FsType is provided as "zfs", then the driver will create a ZFS If FsType is provided as "zfs", then the driver will create a ZFS
dataset, formatting is not required as underlying filesystem is ZFS dataset, formatting is not required as underlying filesystem is
anyway. If FsType is ext2, ext3, ext4 or xfs, then the driver will ZFS anyway. If FsType is ext2, ext3, ext4 or xfs, then the driver
create a ZVOL and format the volume accordingly. FsType can not be will create a ZVOL and format the volume accordingly. FsType can
modified once volume has been provisioned. Default Value: ext4.' not be modified once volume has been provisioned. Default Value:
ext4.'
type: string type: string
keyformat: keyformat:
description: KeyFormat specifies format of the encryption key The supported description: KeyFormat specifies format of the encryption key The
KeyFormats are passphrase, raw, hex. supported KeyFormats are passphrase, raw, hex.
enum: enum:
- passphrase - passphrase
- raw - raw
@ -149,9 +152,9 @@ spec:
description: KeyLocation is the location of key for the encryption description: KeyLocation is the location of key for the encryption
type: string type: string
ownerNodeID: ownerNodeID:
description: OwnerNodeID is the Node ID where the ZPOOL is running which description: OwnerNodeID is the Node ID where the ZPOOL is running
is where the volume has been provisioned. OwnerNodeID can not be edited which is where the volume has been provisioned. OwnerNodeID can
after the volume has been provisioned. not be edited after the volume has been provisioned.
minLength: 1 minLength: 1
type: string type: string
poolName: poolName:
@ -178,27 +181,27 @@ spec:
- "no" - "no"
type: string type: string
snapname: snapname:
description: SnapName specifies the name of the snapshot where the volume description: SnapName specifies the name of the snapshot where the
has been cloned from. Snapname can not be edited after the volume volume has been cloned from. Snapname can not be edited after the
has been provisioned. volume has been provisioned.
type: string type: string
thinProvision: thinProvision:
description: 'ThinProvision describes whether space reservation for description: 'ThinProvision describes whether space reservation for
the source volume is required or not. The value "yes" indicates that the source volume is required or not. The value "yes" indicates
volume should be thin provisioned and "no" means thick provisioning that volume should be thin provisioned and "no" means thick provisioning
of the volume. If thinProvision is set to "yes" then volume can be of the volume. If thinProvision is set to "yes" then volume can
provisioned even if the ZPOOL does not have the enough capacity. If be provisioned even if the ZPOOL does not have the enough capacity.
thinProvision is set to "no" then volume can be provisioned only if If thinProvision is set to "no" then volume can be provisioned only
the ZPOOL has enough capacity and capacity required by volume can if the ZPOOL has enough capacity and capacity required by volume
be reserved. ThinProvision can not be modified once volume has been can be reserved. ThinProvision can not be modified once volume has
provisioned. Default Value: no.' been provisioned. Default Value: no.'
enum: enum:
- "yes" - "yes"
- "no" - "no"
type: string type: string
volblocksize: volblocksize:
description: 'VolBlockSize specifies the block size for the zvol. The description: 'VolBlockSize specifies the block size for the zvol.
volsize can only be set to a multiple of volblocksize, and cannot The volsize can only be set to a multiple of volblocksize, and cannot
be zero. VolBlockSize can not be edited after the volume has been be zero. VolBlockSize can not be edited after the volume has been
provisioned. Default Value: 8k.' provisioned. Default Value: 8k.'
minLength: 1 minLength: 1
@ -225,9 +228,6 @@ spec:
- spec - spec
- status - status
type: object type: object
version: v1
versions:
- name: v1
served: true served: true
storage: true storage: true
status: status:

View file

@ -11,11 +11,11 @@
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfssnapshots.zfs.openebs.io name: zfssnapshots.zfs.openebs.io
spec: spec:
@ -27,9 +27,7 @@ spec:
shortNames: shortNames:
- zfssnap - zfssnap
singular: zfssnapshot singular: zfssnapshot
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
version: v1
versions: versions:
- name: v1 - name: v1
schema: schema:

View file

@ -11,39 +11,14 @@
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfsvolumes.zfs.openebs.io name: zfsvolumes.zfs.openebs.io
spec: spec:
additionalPrinterColumns:
- JSONPath: .spec.poolName
description: ZFS Pool where the volume is created
name: ZPool
type: string
- JSONPath: .spec.ownerNodeID
description: Node where the volume is created
name: Node
type: string
- JSONPath: .spec.capacity
description: Size of the volume
name: Size
type: string
- JSONPath: .status.state
description: Status of the volume
name: Status
type: string
- JSONPath: .spec.fsType
description: filesystem created on the volume
name: Filesystem
type: string
- JSONPath: .metadata.creationTimestamp
description: Age of the volume
name: Age
type: date
group: zfs.openebs.io group: zfs.openebs.io
names: names:
kind: ZFSVolume kind: ZFSVolume
@ -53,12 +28,34 @@ spec:
- zfsvol - zfsvol
- zv - zv
singular: zfsvolume singular: zfsvolume
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
subresources: {}
version: v1
versions: versions:
- name: v1 - additionalPrinterColumns:
- description: ZFS Pool where the volume is created
jsonPath: .spec.poolName
name: ZPool
type: string
- description: Node where the volume is created
jsonPath: .spec.ownerNodeID
name: Node
type: string
- description: Size of the volume
jsonPath: .spec.capacity
name: Size
type: string
- description: Status of the volume
jsonPath: .status.state
name: Status
type: string
- description: filesystem created on the volume
jsonPath: .spec.fsType
name: Filesystem
type: string
- description: Age of the volume
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSVolume represents a ZFS based volume description: ZFSVolume represents a ZFS based volume
@ -241,7 +238,33 @@ spec:
type: object type: object
served: true served: true
storage: true storage: true
- name: v1alpha1 subresources: {}
- additionalPrinterColumns:
- description: ZFS Pool where the volume is created
jsonPath: .spec.poolName
name: ZPool
type: string
- description: Node where the volume is created
jsonPath: .spec.ownerNodeID
name: Node
type: string
- description: Size of the volume
jsonPath: .spec.capacity
name: Size
type: string
- description: Status of the volume
jsonPath: .status.state
name: Status
type: string
- description: filesystem created on the volume
jsonPath: .spec.fsType
name: Filesystem
type: string
- description: Age of the volume
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSVolume represents a ZFS based volume description: ZFSVolume represents a ZFS based volume
@ -416,6 +439,7 @@ spec:
type: object type: object
served: true served: true
storage: false storage: false
subresources: {}
status: status:
acceptedNames: acceptedNames:
kind: "" kind: ""

View file

@ -32,39 +32,14 @@ metadata:
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfsvolumes.zfs.openebs.io name: zfsvolumes.zfs.openebs.io
spec: spec:
additionalPrinterColumns:
- JSONPath: .spec.poolName
description: ZFS Pool where the volume is created
name: ZPool
type: string
- JSONPath: .spec.ownerNodeID
description: Node where the volume is created
name: Node
type: string
- JSONPath: .spec.capacity
description: Size of the volume
name: Size
type: string
- JSONPath: .status.state
description: Status of the volume
name: Status
type: string
- JSONPath: .spec.fsType
description: filesystem created on the volume
name: Filesystem
type: string
- JSONPath: .metadata.creationTimestamp
description: Age of the volume
name: Age
type: date
group: zfs.openebs.io group: zfs.openebs.io
names: names:
kind: ZFSVolume kind: ZFSVolume
@ -74,12 +49,34 @@ spec:
- zfsvol - zfsvol
- zv - zv
singular: zfsvolume singular: zfsvolume
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
subresources: {}
version: v1
versions: versions:
- name: v1 - additionalPrinterColumns:
- description: ZFS Pool where the volume is created
jsonPath: .spec.poolName
name: ZPool
type: string
- description: Node where the volume is created
jsonPath: .spec.ownerNodeID
name: Node
type: string
- description: Size of the volume
jsonPath: .spec.capacity
name: Size
type: string
- description: Status of the volume
jsonPath: .status.state
name: Status
type: string
- description: filesystem created on the volume
jsonPath: .spec.fsType
name: Filesystem
type: string
- description: Age of the volume
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSVolume represents a ZFS based volume description: ZFSVolume represents a ZFS based volume
@ -262,7 +259,33 @@ spec:
type: object type: object
served: true served: true
storage: true storage: true
- name: v1alpha1 subresources: {}
- additionalPrinterColumns:
- description: ZFS Pool where the volume is created
jsonPath: .spec.poolName
name: ZPool
type: string
- description: Node where the volume is created
jsonPath: .spec.ownerNodeID
name: Node
type: string
- description: Size of the volume
jsonPath: .spec.capacity
name: Size
type: string
- description: Status of the volume
jsonPath: .status.state
name: Status
type: string
- description: filesystem created on the volume
jsonPath: .spec.fsType
name: Filesystem
type: string
- description: Age of the volume
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema: schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSVolume represents a ZFS based volume description: ZFSVolume represents a ZFS based volume
@ -437,6 +460,7 @@ spec:
type: object type: object
served: true served: true
storage: false storage: false
subresources: {}
status: status:
acceptedNames: acceptedNames:
kind: "" kind: ""
@ -456,11 +480,11 @@ status:
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfssnapshots.zfs.openebs.io name: zfssnapshots.zfs.openebs.io
spec: spec:
@ -472,9 +496,7 @@ spec:
shortNames: shortNames:
- zfssnap - zfssnap
singular: zfssnapshot singular: zfssnapshot
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
version: v1
versions: versions:
- name: v1 - name: v1
schema: schema:
@ -841,27 +863,14 @@ status:
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfsbackups.zfs.openebs.io name: zfsbackups.zfs.openebs.io
spec: spec:
additionalPrinterColumns:
- JSONPath: .spec.prevSnapName
description: Previous snapshot for backup
name: PrevSnap
type: string
- JSONPath: .status
description: Backup status
name: Status
type: string
- JSONPath: .metadata.creationTimestamp
description: Age of the volume
name: Age
type: date
group: zfs.openebs.io group: zfs.openebs.io
names: names:
kind: ZFSBackup kind: ZFSBackup
@ -870,12 +879,26 @@ spec:
shortNames: shortNames:
- zb - zb
singular: zfsbackup singular: zfsbackup
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
subresources: {} versions:
validation: - additionalPrinterColumns:
- description: Previous snapshot for backup
jsonPath: .spec.prevSnapName
name: PrevSnap
type: string
- description: Backup status
jsonPath: .status
name: Status
type: string
- description: Age of the volume
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1
schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSBackup describes a zfs backup resource created as a custom resource description: ZFSBackup describes a zfs backup resource created as a custom
resource
properties: properties:
apiVersion: apiVersion:
description: 'APIVersion defines the versioned schema of this representation description: 'APIVersion defines the versioned schema of this representation
@ -903,7 +926,8 @@ spec:
minLength: 1 minLength: 1
type: string type: string
prevSnapName: prevSnapName:
description: PrevSnapName is the last completed-backup's snapshot name description: PrevSnapName is the last completed-backup's snapshot
name
type: string type: string
snapName: snapName:
description: SnapName is the snapshot name for backup description: SnapName is the snapshot name for backup
@ -933,11 +957,9 @@ spec:
- spec - spec
- status - status
type: object type: object
version: v1
versions:
- name: v1
served: true served: true
storage: true storage: true
subresources: {}
status: status:
acceptedNames: acceptedNames:
kind: "" kind: ""
@ -957,11 +979,11 @@ status:
# to generate the CRD definition # to generate the CRD definition
--- ---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.2.8 controller-gen.kubebuilder.io/version: v0.4.0
creationTimestamp: null creationTimestamp: null
name: zfsrestores.zfs.openebs.io name: zfsrestores.zfs.openebs.io
spec: spec:
@ -971,9 +993,10 @@ spec:
listKind: ZFSRestoreList listKind: ZFSRestoreList
plural: zfsrestores plural: zfsrestores
singular: zfsrestore singular: zfsrestore
preserveUnknownFields: false
scope: Namespaced scope: Namespaced
validation: versions:
- name: v1
schema:
openAPIV3Schema: openAPIV3Schema:
description: ZFSRestore describes a cstor restore resource created as a custom description: ZFSRestore describes a cstor restore resource created as a custom
resource resource
@ -1023,12 +1046,13 @@ spec:
- Invalid - Invalid
type: string type: string
volSpec: volSpec:
description: VolumeInfo defines ZFS volume parameters for all modes in which description: VolumeInfo defines ZFS volume parameters for all modes in
ZFS volumes can be created like - ZFS volume with filesystem, ZFS Volume which ZFS volumes can be created like - ZFS volume with filesystem,
exposed as zfs or ZFS volume exposed as raw block device. Some of the ZFS Volume exposed as zfs or ZFS volume exposed as raw block device.
parameters can be only set during creation time (as specified in the details Some of the parameters can be only set during creation time (as specified
of the parameter), and a few are editable. In case of Cloned volumes, in the details of the parameter), and a few are editable. In case of
the parameters are assigned the same values as the source volume. Cloned volumes, the parameters are assigned the same values as the source
volume.
properties: properties:
capacity: capacity:
description: Capacity of the volume description: Capacity of the volume
@ -1036,56 +1060,57 @@ spec:
type: string type: string
compression: compression:
description: 'Compression specifies the block-level compression algorithm description: 'Compression specifies the block-level compression algorithm
to be applied to the ZFS Volume. The value "on" indicates ZFS to use to be applied to the ZFS Volume. The value "on" indicates ZFS to
the default compression algorithm. The default compression algorithm use the default compression algorithm. The default compression algorithm
used by ZFS will be either lzjb or, if the lz4_compress feature is used by ZFS will be either lzjb or, if the lz4_compress feature
enabled, lz4. Compression property can be edited after the volume is enabled, lz4. Compression property can be edited after the volume
has been created. The change will only be applied to the newly-written has been created. The change will only be applied to the newly-written
data. For instance, if the Volume was created with "off" and the next data. For instance, if the Volume was created with "off" and the
day the compression was modified to "on", the data written prior to next day the compression was modified to "on", the data written
setting "on" will not be compressed. Default Value: off.' prior to setting "on" will not be compressed. Default Value: off.'
pattern: ^(on|off|lzjb|gzip|gzip-[1-9]|zle|lz4)$ pattern: ^(on|off|lzjb|gzip|gzip-[1-9]|zle|lz4)$
type: string type: string
dedup: dedup:
description: 'Deduplication is the process for removing redundant data description: 'Deduplication is the process for removing redundant
at the block level, reducing the total amount of data stored. If a data at the block level, reducing the total amount of data stored.
file system has the dedup property enabled, duplicate data blocks If a file system has the dedup property enabled, duplicate data
are removed synchronously. The result is that only unique data is blocks are removed synchronously. The result is that only unique
stored and common components are shared among files. Deduplication data is stored and common components are shared among files. Deduplication
can consume significant processing power (CPU) and memory as well can consume significant processing power (CPU) and memory as well
as generate additional disk IO. Before creating a pool with deduplication as generate additional disk IO. Before creating a pool with deduplication
enabled, ensure that you have planned your hardware requirements appropriately enabled, ensure that you have planned your hardware requirements
and implemented appropriate recovery practices, such as regular backups. appropriately and implemented appropriate recovery practices, such
As an alternative to deduplication consider using compression=lz4, as regular backups. As an alternative to deduplication consider
as a less resource-intensive alternative. should be enabled on the using compression=lz4, as a less resource-intensive alternative.
zvol. Dedup property can be edited after the volume has been created. should be enabled on the zvol. Dedup property can be edited after
Default Value: off.' the volume has been created. Default Value: off.'
enum: enum:
- "on" - "on"
- "off" - "off"
type: string type: string
encryption: encryption:
description: 'Enabling the encryption feature allows for the creation description: 'Enabling the encryption feature allows for the creation
of encrypted filesystems and volumes. ZFS will encrypt file and zvol of encrypted filesystems and volumes. ZFS will encrypt file and
data, file attributes, ACLs, permission bits, directory listings, zvol data, file attributes, ACLs, permission bits, directory listings,
FUID mappings, and userused / groupused data. ZFS will not encrypt FUID mappings, and userused / groupused data. ZFS will not encrypt
metadata related to the pool structure, including dataset and snapshot metadata related to the pool structure, including dataset and snapshot
names, dataset hierarchy, properties, file size, file holes, and deduplication names, dataset hierarchy, properties, file size, file holes, and
tables (though the deduplicated data itself is encrypted). Default deduplication tables (though the deduplicated data itself is encrypted).
Value: off.' Default Value: off.'
pattern: ^(on|off|aes-128-[c,g]cm|aes-192-[c,g]cm|aes-256-[c,g]cm)$ pattern: ^(on|off|aes-128-[c,g]cm|aes-192-[c,g]cm|aes-256-[c,g]cm)$
type: string type: string
fsType: fsType:
description: 'FsType specifies filesystem type for the zfs volume/dataset. description: 'FsType specifies filesystem type for the zfs volume/dataset.
If FsType is provided as "zfs", then the driver will create a ZFS If FsType is provided as "zfs", then the driver will create a ZFS
dataset, formatting is not required as underlying filesystem is ZFS dataset, formatting is not required as underlying filesystem is
anyway. If FsType is ext2, ext3, ext4 or xfs, then the driver will ZFS anyway. If FsType is ext2, ext3, ext4 or xfs, then the driver
create a ZVOL and format the volume accordingly. FsType can not be will create a ZVOL and format the volume accordingly. FsType can
modified once volume has been provisioned. Default Value: ext4.' not be modified once volume has been provisioned. Default Value:
ext4.'
type: string type: string
keyformat: keyformat:
description: KeyFormat specifies format of the encryption key The supported description: KeyFormat specifies format of the encryption key The
KeyFormats are passphrase, raw, hex. supported KeyFormats are passphrase, raw, hex.
enum: enum:
- passphrase - passphrase
- raw - raw
@ -1095,9 +1120,9 @@ spec:
description: KeyLocation is the location of key for the encryption description: KeyLocation is the location of key for the encryption
type: string type: string
ownerNodeID: ownerNodeID:
description: OwnerNodeID is the Node ID where the ZPOOL is running which description: OwnerNodeID is the Node ID where the ZPOOL is running
is where the volume has been provisioned. OwnerNodeID can not be edited which is where the volume has been provisioned. OwnerNodeID can
after the volume has been provisioned. not be edited after the volume has been provisioned.
minLength: 1 minLength: 1
type: string type: string
poolName: poolName:
@ -1124,27 +1149,27 @@ spec:
- "no" - "no"
type: string type: string
snapname: snapname:
description: SnapName specifies the name of the snapshot where the volume description: SnapName specifies the name of the snapshot where the
has been cloned from. Snapname can not be edited after the volume volume has been cloned from. Snapname can not be edited after the
has been provisioned. volume has been provisioned.
type: string type: string
thinProvision: thinProvision:
description: 'ThinProvision describes whether space reservation for description: 'ThinProvision describes whether space reservation for
the source volume is required or not. The value "yes" indicates that the source volume is required or not. The value "yes" indicates
volume should be thin provisioned and "no" means thick provisioning that volume should be thin provisioned and "no" means thick provisioning
of the volume. If thinProvision is set to "yes" then volume can be of the volume. If thinProvision is set to "yes" then volume can
provisioned even if the ZPOOL does not have the enough capacity. If be provisioned even if the ZPOOL does not have the enough capacity.
thinProvision is set to "no" then volume can be provisioned only if If thinProvision is set to "no" then volume can be provisioned only
the ZPOOL has enough capacity and capacity required by volume can if the ZPOOL has enough capacity and capacity required by volume
be reserved. ThinProvision can not be modified once volume has been can be reserved. ThinProvision can not be modified once volume has
provisioned. Default Value: no.' been provisioned. Default Value: no.'
enum: enum:
- "yes" - "yes"
- "no" - "no"
type: string type: string
volblocksize: volblocksize:
description: 'VolBlockSize specifies the block size for the zvol. The description: 'VolBlockSize specifies the block size for the zvol.
volsize can only be set to a multiple of volblocksize, and cannot The volsize can only be set to a multiple of volblocksize, and cannot
be zero. VolBlockSize can not be edited after the volume has been be zero. VolBlockSize can not be edited after the volume has been
provisioned. Default Value: 8k.' provisioned. Default Value: 8k.'
minLength: 1 minLength: 1
@ -1171,9 +1196,6 @@ spec:
- spec - spec
- status - status
type: object type: object
version: v1
versions:
- name: v1
served: true served: true
storage: true storage: true
status: status:
@ -1186,7 +1208,7 @@ status:
--- ---
# Create the CSI Driver object # Create the CSI Driver object
apiVersion: storage.k8s.io/v1beta1 apiVersion: storage.k8s.io/v1
kind: CSIDriver kind: CSIDriver
metadata: metadata:
name: zfs.csi.openebs.io name: zfs.csi.openebs.io