Drive CRD object is marked as Unavailable
, if drive met one of the following condition at startup or added at runtime or dynamic discovery sync.
- device size is less than 16 MiB.
- device is in readonly state.
- device contains partitions.
- device is used as swap space in linux.
- device is used in LVM, linux RAID or LUKS device.
- device is mounted somewhere else i.e. outside of
/var/lib/directcsi
.
Drive CRD object is marked as Available
, if drive met none of the following condition at startup or added at runtime or dynamic discovery sync.
- device size is less than 16 MiB.
- device is in readonly state.
- device contains partitions.
- device is used as swap space in linux.
- device is used in LVM, linux RAID or LUKS device.
- device is mounted somewhere else i.e. outside of
/var/lib/directcsi
.
Drive CRD object is marked as InUse
at ControllerServer.CreateVolume()
i.e. when volume is created on the drive.
Drive CRD object is marked as Ready
, when
- format is requested and it is done successfully in
driveEventHandler.format()
. - all volumes in the drive are released completely in
volumeEventHandler.releaseVolume()
.
Drive CRD object is marked as Terminating
, when
- drive CRD is deleted in
driveEventHandler.delete()
. - no drive on the server matches drive CRD object in
ueventHandler.syncDrives()
. - the respective drive is physically removed from the server in
ueventHandler.removeDrive()
.
Drive CRD object is marked as Released
by kubectl direct-csi drives release
command if the drive is in Ready
state.