The module lifecycle stage: General Availability
The module has requirements for installation
The module is guaranteed to work only with stock kernels that are shipped with the supported distributions.
The module may work with other kernels or distributions, but its stable operation and availability of all features is not guaranteed.
The Deckhouse Kubernetes Platform installs CRDs but does not remove them when a module is disabled. If you no longer need the created CRDs, delete them.
BlockDevice
Short names: bd
Scope: Cluster
Version: v1alpha1
The resource displays up-to-date information about available block devices on nodes that can be used by the sds-node-configurator controller for LVM operations.
The resource is created and managed by the controller only. Manual modification of the resource is prohibited.
-
objectstatus
-
stringstatus.actualVGNameOnTheNode
The actual name of the LVM Volume Group the device is included in.
Optional: exists if only the device is used as a Physical Volume and is included in a Volume Group.
-
array of objectsstatus.conditionsLatest state. Known type:
Consumable, which carries the reason behindstatus.consumable:Available,Mounted,HasFilesystemorHotPlugged.-
stringstatus.conditions.lastTransitionTimeTimestamp of the last status transition for this condition.
-
stringstatus.conditions.messageHuman-readable explanation of the current status.
Maximum length:
32768 -
integerstatus.conditions.observedGenerationValue of
metadata.generationthe condition was last set against.Allowed values:
0 <= X -
stringstatus.conditions.reasonMachine-readable reason for the current status, suitable for log filtering.
Length:
1..1024Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
stringstatus.conditions.statusCurrent status of the condition.
Allowed values:
True,False,Unknown -
stringstatus.conditions.typeCondition type, for example
Consumable.Maximum length:
316Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
-
-
booleanstatus.consumable
Required value
The flag that defines whether this device can be used by the controller to create an LVM Physical Volume. -
stringstatus.fsTypeThe device’s file system type.
Allowed values:
LVM2_member,‘’ -
booleanstatus.hotPlug
Required value
Device connection type. Can be:
true: If the device has been hot-plugged;false: Otherwise.
-
stringstatus.lvmVolumeGroupName
The LVMVolumeGroup resource name.
Optional: exists only if the device is used as a Physical Volume, is included in a Volume Group, and is specified in an LVMVolumeGroup resource.
-
stringstatus.machineId
Required value
Unique identifier of the machine the device is on (normally at/etc/machine-id). -
stringstatus.model
Device model.
Optional: might not exist if the manufacturer does not provide this information for the given type of disks.
-
stringstatus.nodeName
Required value
The name of the Kubernetes node the device is on. -
stringstatus.partUUID
The UUID of the partition.
Optional: exists only if the device is a partition.
-
stringstatus.path
Required value
The device path on the node (/dev/sda). -
stringstatus.pvUUID
The LVM Physical Volume UUID.
Optional: exists only if the device is used as a LVM Physical Volume.
-
booleanstatus.rota
Required value
Device disk type. Can be:
true: For HDD;false: For SSD.
-
stringstatus.serialThe device unique serial number.
-
stringstatus.size
Required value
The device size. -
stringstatus.type
Required value
The device’s type (disk, partition, RAID, and others). -
stringstatus.vgUUID
The UUID of the LVM Volume Group to which this device belongs as a Physical Volume.
Optional: exists only if the device is used as a Physical Volume and is included in a Volume Group.
-
stringstatus.wwn
The device unique wwn (World Wide Name) identifier.
Optional: might not exist if WWN is not supported for this type of disk by the manufacturer.
-
LVMLogicalVolume
Short names: llv
Scope: Cluster
Version: v1alpha1
-
objectspec
-
stringspec.actualLVNameOnTheNode
Required value
Logical Volume name on the node.Minimal length:
1Pattern:
^[a-z0-9]([a-z0-9-._]{0,251}[a-z0-9])?$ -
stringspec.lvmVolumeGroupName
Required value
Name of a LVMVolumeGroup resource whose Volume Group will be used for Logical Volume creation.Minimal length:
1Pattern:
^[a-z0-9]([a-z0-9-.]{0,251}[a-z0-9])?$ -
integer or stringspec.size
Required value
Desired Logical Volume size. It can be specified as a numerical value or percentage of the total Volume Group or thin pool space. For thin pools, the total space is calculated as the actual thin pool size multiplied by the
allocationLimitvalue.Note that if you specify a percentage, the Logical Volume will be automatically extended when Volume Group, thin pool, or thin pool’s
allocationLimitvalue is increased.Minimal length:
1Pattern:
^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100% -
objectspec.sourceSource of the volume, if present.
-
stringspec.source.kind
Required value
Kind of the source. LVMLogicalVolume kind means that the current resource is a clone. LVMLogicalVolumeSnapshot kind means that the current resource is a restored volume.Allowed values:
LVMLogicalVolume,LVMLogicalVolumeSnapshot -
stringspec.source.name
Required value
Name of the resource from which the current resource is created.Minimal length:
1
-
-
objectspec.thick
-
booleanspec.thick.contiguous
If set to
true, the logical volume will be created with thecontiguousattribute.Use this attribute carefully, as it may prevent from Logical Volume creation even if there is enough space for it.
-
-
objectspec.thinDefines the used thin pool. Specified only for Thin Logical Volume.
-
stringspec.thin.poolName
Required value
Name of the used thin pool.Minimal length:
1Pattern:
^.*$
-
-
stringspec.type
Required value
Logical Volume type.Allowed values:
Thick,Thin -
stringspec.volumeCleanup
Volume cleanup method after the PV is deleted. If this parameter is not set, there’s no guarantee that the data will be completely deleted.
Allowed values:
RandomFillSinglePass: Volume will be overwritten with random data once before deletion. This option is not recommended for solid-state drives (SSDs), as overwriting reduces the drive’s lifespan. For thin volumes, only the space in use at the moment of volume deletion will be overwritten.RandomFillThreePass: Volume will be overwritten with random data three times before deletion. This option is also not recommended for SSDs, as overwriting reduces the drive’s lifespan. For thin volumes, only the space in use at the moment of volume deletion will be overwritten.Discard: Before deletion, all blocks of the volume will be marked as free using thediscardsystem call. This option is applicable only to SSDs and thick volumes.
Allowed values:
RandomFillThreePass,RandomFillSinglePass,Discard
-
-
objectstatusDescribes the resource status.
-
stringstatus.actualSizeActual Logical Volume size on the node.
-
array of objectsstatus.conditionsThe latest observations of the resource state. Condition type:
Ready.-
stringstatus.conditions.lastTransitionTimeTimestamp of the last status transition for this condition. It is not bumped when only the reason or the message changes.
-
stringstatus.conditions.messageHuman-readable explanation of the current status.
Maximum length:
32768 -
integerstatus.conditions.observedGenerationThe value of
metadata.generationthis condition was set against.Allowed values:
0 <= X -
stringstatus.conditions.reasonMachine-readable reason for the current status, suitable for log filtering and alerting.
Length:
1..1024Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
stringstatus.conditions.statusCurrent status of the condition.
Allowed values:
True,False,Unknown -
stringstatus.conditions.typeCondition type.
ReadyisTrueonce the Logical Volume is in place,Falsewhile it is not, andUnknownbefore anything has observed it.Maximum length:
316Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
-
-
booleanstatus.contiguousShows if the created Logical Volume has the
contiguousattribute. -
integerstatus.observedGenerationThe value of
metadata.generationthe controller has last acted on. When it trailsmetadata.generation, the controller has not yet processed the latest spec, and the conditions below still describe the previous one. -
stringstatus.phaseCurrent resource’s phase.
Allowed values:
Created,Pending,Cleaning,Resizing,Failed -
stringstatus.reasonReason of the phase.
-
LVMLogicalVolumeSnapshot
Short names: llvs
Scope: Cluster
Version: v1alpha1
-
objectspec
-
stringspec.actualSnapshotNameOnTheNodeName of the volume snapshot.
Minimal length:
1 -
stringspec.lvmLogicalVolumeName
Required value
Name of the snapshotted LLV resource.Minimal length:
1
-
-
objectstatusDescribes the resource status.
-
stringstatus.actualLVNameOnTheNodeName of the volume the snapshot is created from.
-
stringstatus.actualVGNameOnTheNodeName of the Volume Group, where the snapshot resides in.
-
array of objectsstatus.conditionsThe latest observations of the resource state. Condition type:
Ready.-
stringstatus.conditions.lastTransitionTimeTimestamp of the last status transition for this condition. It is not bumped when only the reason or the message changes.
-
stringstatus.conditions.messageHuman-readable explanation of the current status.
Maximum length:
32768 -
integerstatus.conditions.observedGenerationThe value of
metadata.generationthis condition was set against.Allowed values:
0 <= X -
stringstatus.conditions.reasonMachine-readable reason for the current status, suitable for log filtering and alerting.
Length:
1..1024Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
stringstatus.conditions.statusCurrent status of the condition.
Allowed values:
True,False,Unknown -
stringstatus.conditions.typeCondition type.
ReadyisTrueonce the snapshot is in place,Falsewhile it is not, andUnknownbefore anything has observed it.Maximum length:
316Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
-
-
stringstatus.nodeNameName of the Kubernetes node the snapshot resides in.
-
integerstatus.observedGenerationThe value of
metadata.generationthe controller has last acted on. When it trailsmetadata.generation, the controller has not yet processed the latest spec, and the conditions below still describe the previous one. -
stringstatus.phase
Current resource’s phase.
Possible values:
Created: Snapshot was created successfully.Pending: Snapshot is being created.Failed: An error occurred while creating the snapshot.
Allowed values:
Created,Pending,Failed -
stringstatus.reasonReason of the phase.
-
stringstatus.sizeSnapshotted Logical Volume size on the node.
-
stringstatus.usedSizeSnapshot Logical Volume size on the node.
-
LVMVolumeGroup
Short names: lvg
Scope: Cluster
Version: v1alpha1
An interface for managing Volume Groups and Thin pools on the nodes.
These resources might be created both by a user and the
sds-node-configuratorcontroller.sds-node-configuratorcontroller will automatically create an LVMVolumeGroup resource if it detects an existing Volume Group on a node tagged with ‘storage.deckhouse.io/enabled=true’. Controller will fill in both the ‘spec’ and ‘status’ fields.spec.thinPoolsfield must be filled in by yourself.
-
objectspec
-
stringspec.actualVGNameOnTheNode
Required value
Desired name of a Volume Group. Must be unique for the node it is on.
This field is immutable.
-
objectspec.blockDeviceSelector
Desired block device selector.
Note: Selected block devices must belong to the same node for a volume group of type ‘Local’.
-
array of objectsspec.blockDeviceSelector.matchExpressionsDesired block device selector expressions.
-
stringspec.blockDeviceSelector.matchExpressions.keyLabel key to check.
-
stringspec.blockDeviceSelector.matchExpressions.operatorOperator used to compare values.
Allowed values:
In,NotIn,Exists,DoesNotExist -
array of stringsspec.blockDeviceSelector.matchExpressions.valuesArray of values to compare. Required if the operator is
InorNotIn.
-
-
objectspec.blockDeviceSelector.matchLabelsDesired block device selector labels.
-
-
array of objectsspec.fileDevices
File-backed block devices to create as LVM PVs for this Volume Group.
The agent will create a preallocated file in the specified directory, attach it as a loop device, and use it as a Physical Volume. File devices and block devices can be used together in the same VG.
Each entry is identified by its
name.directorycannot be changed, andsizecan only be increased: raising it grows the backing file, the loop device and the Physical Volume in place, without unmounting anything or interrupting the volumes on top. Lowering it is rejected: giving capacity back means shrinking the Volume Group, which the module does not do for block devices either.Capacity can therefore be added two ways: raise the size of an existing entry, or add a new entry under a new name when the extra space has to come from a different filesystem. Prefer fewer, larger entries — every entry costs a loop device, a PV and VG metadata, and thick logical volumes requesting contiguous space get harder to place as free space is spread across many small PVs.
An entry that was never provisioned (it is not present in
status.nodes[].fileDevices, for example because it failed validation) can be removed from the spec. Removing an entry that backs a live PV is not supported — the module never shrinks a Volume Group; the agent reports the drift on theVGConfigurationAppliedcondition (reasonFileDeviceDrift) and takes no destructive action. The Volume Group keeps working and staysReady. Freeing space inside a file device is done withfstriminstead, see the module FAQ.-
stringspec.fileDevices.directory
Absolute directory on the node’s filesystem where the backing file will be created.
Must be the module’s configured base directory (fileDevicesDirectory, default /opt/deckhouse/sds/file-devices) or a subdirectory of it; the agent rejects paths outside that subtree so a stray entry cannot fill an arbitrary host path.
The agent creates the directory automatically (mkdir -p) if it does not exist. The path must be absolute and must not contain ‘..’ segments. Provisioning fails if the path is on a read-only filesystem, a non-directory component is in the way, or there is not enough free space for the requested size.
Maximum length:
4096Pattern:
^/[^/]+(/[^/]+)*$ -
stringspec.fileDevices.name
Identifier of this file device within the Volume Group, unique among the entries of this LVMVolumeGroup. It becomes part of the backing file’s name on the node, so it is restricted to lowercase alphanumerics and ‘-’.
This field is the entry’s key: an entry is identified by it, and changing it is not an edit but the removal of one entry and the addition of another. If the old name had already been provisioned, its Physical Volume stays in the Volume Group and the agent reports it on the
VGConfigurationAppliedcondition.Maximum length:
63Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ -
stringspec.fileDevices.size
Size of the preallocated backing file. Must be at least 1Gi; a smaller value is rejected at admission, because
sizecannot be lowered afterwards and an entry accepted below the minimum is one the agent refuses forever.Only binary units are accepted. Decimal units are rejected at admission for the same reason:
1Gis 10^9 bytes, which is below the 1Gi (2^30 bytes) minimum, and the mistake is easy to miss.The value must be a whole number of the unit it names:
1536Mi, not1.5Gi. A Physical Volume is always a little smaller than its backing file (LVM keeps metadata at the head of the device and then rounds down to whole extents), and the reconciler treats a difference of up to one extent as “already the right size”. That tolerance covers the metadata gap exactly as long as the requested size is a whole number of mebibytes; a finer value can leave a permanent gap the agent would try to close on every reconcile.Maximum length:
32Pattern:
^[0-9]+(Mi|Gi|Ti|Pi|Ei)$
-
-
objectspec.localDesired configuration for a local Volume Group.
-
stringspec.local.nodeName
Required value
Desired node for the LVM Volume Group.
This field is immutable.
-
-
array of objectsspec.thinPoolsDesired thin pool configuration.
-
stringspec.thinPools.allocationLimitThin pool oversize limit.
Default:
150%Pattern:
^[1-9][0-9]{2,3}%$ -
stringspec.thinPools.name
Desired thin pool name.
This field is immutable.
-
integer or stringspec.thinPools.size
Desired thin pool size. Might be specified as number or percent size of total Volume Group space.
Note, that if you specify the percent size, the thin pool will be automatically extended when Volume Group is extended.
Pattern:
^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%
-
-
stringspec.type
Required value
Type of a Volume Group.
Possible values:
Local: Local volume group; the devices used are not distributed (not Shared LUN).
Allowed values:
Local
-
-
objectstatus
-
stringstatus.allocatedSizeAmount of space currently occupied on the Volume Group.
-
array of objectsstatus.conditionsLVMVolumeGroup conditions.
-
stringstatus.conditions.lastTransitionTimeTimestamp of the last status transition for this condition. It is not bumped when only the reason or the message changes.
-
stringstatus.conditions.messageInformation about the current status.
Maximum length:
32768 -
integerstatus.conditions.observedGenerationThe value of
metadata.generationthis condition was set against.Allowed values:
0 <= X -
stringstatus.conditions.reasonMachine-readable reason for the current status, suitable for log filtering and alerting.
Length:
1..1024Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
stringstatus.conditions.statusCondition status.
Allowed values:
True,False,Unknown -
stringstatus.conditions.typeCondition type.
Maximum length:
316Allowed values:
VGConfigurationApplied,VGReady,NodeReady,AgentReady,Ready
-
-
stringstatus.configurationAppliedIndicates if the last configuration has been successfully applied.
-
stringstatus.extentSizePhysical extent size of the Volume Group.
-
array of objectsstatus.nodesInformation about the nodes the Volume Group is on.
-
array of objectsstatus.nodes.devicesInformation about the devices used in the Volume Group on the current node.
-
stringstatus.nodes.devices.blockDeviceName of the corresponding block device resource.
-
stringstatus.nodes.devices.devSizeBlock device size.
-
stringstatus.nodes.devices.pathDevice path on the node (e.g.,
/dev/sda). -
stringstatus.nodes.devices.pvSizePhysical Volume size.
-
stringstatus.nodes.devices.pvUUIDLVM Physical Volume UUID.
-
-
array of objectsstatus.nodes.fileDevicesInformation about the file-backed devices used in the Volume Group on the current node.
-
stringstatus.nodes.fileDevices.filePathPath to the backing file on the node.
-
stringstatus.nodes.fileDevices.loopDeviceLoop device path (e.g.,
/dev/loop0). -
stringstatus.nodes.fileDevices.name
Name of the
spec.fileDevicesentry this device was provisioned from.An entry present here backs a live Physical Volume and cannot be removed from the spec; an entry absent from this list has not been provisioned and may be removed.
-
stringstatus.nodes.fileDevices.pvUUIDLVM Physical Volume UUID.
-
stringstatus.nodes.fileDevices.sizeSize of the Physical Volume created on the backing file. This is slightly smaller than the requested
spec.fileDevices[].sizebecause LVM reserves space for PV metadata (the same waystatus.nodes[].devices[].pvSizediffers from the raw device size).
-
-
stringstatus.nodes.nameNode name.
-
-
integerstatus.observedGeneration
The value of
metadata.generationthe conditions watcher last computed a verdict against. When it trailsmetadata.generation, the phase and the aggregateReadycondition still describe the previous spec.Only the conditions watcher sets it, because it is the only writer that looks at the resource as a whole. The agent and the infrastructure watcher each own individual stage conditions and stamp the generation on those.
Allowed values:
0 <= X -
stringstatus.phaseGeneral LVMVolumeGroup condition.
Allowed values:
Pending,Ready,NotReady,Terminating,‘’ -
stringstatus.thinPoolReadyShows the number of healthy and total thin pools.
-
array of objectsstatus.thinPools
Current state of the Volume Group’s thin pools.
Might be empty if there are no thin pools in the Volume Group.
-
stringstatus.thinPools.actualSizeThin pool capacity.
-
stringstatus.thinPools.allocatedSizeTotal requested size of logical volumes in the thin pool.
-
stringstatus.thinPools.allocationLimitThin pool oversize limit.
Default:
150%Pattern:
^[1-9][0-9]{2,3}%$ -
stringstatus.thinPools.availableSpaceThin pool free space available.
-
stringstatus.thinPools.messageInformation about the status.
-
stringstatus.thinPools.nameThin pool name.
-
booleanstatus.thinPools.readyThin pool health status.
-
stringstatus.thinPools.usedSizeThin pool used size.
-
-
stringstatus.vgFreeVolume Group free space.
-
stringstatus.vgSizeVolume Group capacity.
-
stringstatus.vgUUIDVolume Group UUID.
-
LVMVolumeGroupSet
Short names: lvgset
Scope: Cluster
Version: v1alpha1
-
objectspec
-
objectspec.lvmVolumeGroupTemplate
Required value
Common template for LVMVolumeGroup resources provided by the set.-
stringspec.lvmVolumeGroupTemplate.actualVGNameOnTheNode
Required value
Desired name of a Volume Group in LVMVolumeGroups. Must be unique for the node it is on.
This field is immutable. Note that this Volume Group name will be common for every LVMVolumeGroup created by the set.
-
objectspec.lvmVolumeGroupTemplate.blockDeviceSelectorBlockDevice resources selector used in LVMVolumeGroups configurations.
-
array of objectsspec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressionsExpressions for the block device selector.
-
stringspec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.keyLabel key to check.
-
stringspec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.operatorOperator for comparing values.
Allowed values:
In,NotIn,Exists,DoesNotExist -
array of stringsspec.lvmVolumeGroupTemplate.blockDeviceSelector.matchExpressions.valuesAn array of values to compare. Required if the operator is
InorNotIn.
-
-
objectspec.lvmVolumeGroupTemplate.blockDeviceSelector.matchLabelsLabels for the block device selector.
-
-
array of objectsspec.lvmVolumeGroupTemplate.fileDevices
File-backed block devices to create as LVM PVs in LVMVolumeGroups.
The agent will create a preallocated file in the specified directory, attach it as a loop device, and use it as a Physical Volume.
Each entry is identified by its
name.directorycannot be changed, andsizecan only be increased: raising it grows the backing file, the loop device and the Physical Volume in place on every node the set covers, without unmounting anything or interrupting the volumes on top. Lowering it is rejected: giving capacity back means shrinking the Volume Group, which the module does not do for block devices either.Capacity can therefore be added two ways: raise the size of an existing entry, or add a new entry under a new name when the extra space has to come from a different filesystem — at most 32 entries per Volume Group.
Note that the configuration will be common for every LVMVolumeGroup created by the set. Entries removed from this template are removed from the child LVMVolumeGroups; if such an entry already backs a live Physical Volume, the agent reports the drift on the child’s
VGConfigurationAppliedcondition and takes no destructive action.-
stringspec.lvmVolumeGroupTemplate.fileDevices.directoryAbsolute directory on the node’s filesystem where the backing file will be created. The agent creates the directory automatically (mkdir -p) if it does not exist; the path must be absolute and must not contain ‘..’ segments.
Maximum length:
4096Pattern:
^/[^/]+(/[^/]+)*$ -
stringspec.lvmVolumeGroupTemplate.fileDevices.nameIdentifier of this file device within each Volume Group the set creates. Becomes part of the backing file’s name on the node.
Maximum length:
63Pattern:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ -
stringspec.lvmVolumeGroupTemplate.fileDevices.size
Size of the preallocated backing file. Must be at least 1Gi; a smaller value is rejected at admission, since
sizecannot be lowered afterwards.Only binary units are accepted;
1G(10^9 bytes) is below the 1Gi (2^30 bytes) minimum and is rejected at admission. The value must be a whole number of the unit it names —1536Mi, not1.5Gi; see the same field on LVMVolumeGroup for why.Maximum length:
32Pattern:
^[0-9]+(Mi|Gi|Ti|Pi|Ei)$
-
-
objectspec.lvmVolumeGroupTemplate.metadataMetadata of LVMVolumeGroup resources.
-
objectspec.lvmVolumeGroupTemplate.metadata.labelsRequired labels for LVMVolumeGroup resources.
-
-
array of objectsspec.lvmVolumeGroupTemplate.thinPools
Desired thin pool configuration in LVMVolumeGroups.
Note that the configuration will be common for every LVMVolumeGroup created by the set.
-
stringspec.lvmVolumeGroupTemplate.thinPools.allocationLimitThin pool oversize limit.
Default:
150%Pattern:
^[1-9][0-9]{2,3}%$ -
stringspec.lvmVolumeGroupTemplate.thinPools.name
Desired thin pool name.
This field is immutable.
-
integer or stringspec.lvmVolumeGroupTemplate.thinPools.size
Desired thin pool size. Might be specified as a number or percentage of total Volume Group space.
Note that if you specify the percent size, the thin pool will be automatically extended when Volume Group is extended.
Pattern:
^[0-9]+(\.[0-9]+)?(E|P|T|G|M|k|Ei|Pi|Ti|Gi|Mi|Ki)?$|^[1-9][0-9]?%$|100%
-
-
stringspec.lvmVolumeGroupTemplate.type
Required value
Type of a VolumeGroup in LVMVolumeGroups.
Possible values:
Local: Local volume group; the devices used are not distributed (not Shared LUN).
Allowed values:
Local
-
-
objectspec.nodeSelector
Required value
Node selector for nodes that will be used by LVMVolumeGroups.-
array of objectsspec.nodeSelector.matchExpressionsExpressions for the node selector.
-
stringspec.nodeSelector.matchExpressions.keyLabel key to check.
-
stringspec.nodeSelector.matchExpressions.operatorOperator for comparing values.
Allowed values:
In,NotIn,Exists,DoesNotExist -
array of stringsspec.nodeSelector.matchExpressions.valuesAn array of values to compare. Required if the operator is
InorNotIn.
-
-
objectspec.nodeSelector.matchLabelsLabels for the node selector.
-
-
stringspec.strategy
Required value
Strategy (rule) to provide LVMVolumeGroup resources by the set.Allowed values:
PerNode
-
-
objectstatus
-
array of objectsstatus.conditionsThe latest observations of the resource state. Condition type:
Ready.-
stringstatus.conditions.lastTransitionTimeTimestamp of the last status transition for this condition. It is not bumped when only the reason or the message changes.
-
stringstatus.conditions.messageHuman-readable explanation of the current status.
Maximum length:
32768 -
integerstatus.conditions.observedGenerationThe value of
metadata.generationthis condition was set against.Allowed values:
0 <= X -
stringstatus.conditions.reasonMachine-readable reason for the current status, suitable for log filtering and alerting.
Length:
1..1024Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
stringstatus.conditions.statusCurrent status of the condition.
Allowed values:
True,False,Unknown -
stringstatus.conditions.typeCondition type.
ReadyisTrueonce the set of LVMVolumeGroup resources is in place,Falsewhile it is not, andUnknownbefore anything has observed it.Maximum length:
316Pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
-
-
array of objectsstatus.createdLVMVolumeGroupsBrief information about LVMVolumeGroups created by the set.
-
stringstatus.createdLVMVolumeGroups.lvmVolumeGroupNameName of the created LVMVolumeGroup resource.
-
stringstatus.createdLVMVolumeGroups.nodeNameName of the node where the LVMVolumeGroup resource was created.
-
-
integerstatus.currentLVMVolumeGroupsCountCurrent number of LVMVolumeGroups created by the set.
-
integerstatus.desiredLVMVolumeGroupsCountDesired number of LVMVolumeGroups that should be created by the set.
-
integerstatus.observedGenerationThe value of
metadata.generationthe controller has last acted on. When it trailsmetadata.generation, the controller has not yet processed the latest spec, and the conditions below still describe the previous one. -
stringstatus.phaseLVMVolumeGroups creation phase.
Allowed values:
Created,Pending,NotCreated,‘’ -
stringstatus.reasonReason for the current phase.
-