ceph-csi/docs/design/proposals/volume-condition.md
Niels de Vos 95149642cb doc: Add initial design notes for the Health Checker
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2023-11-03 13:41:44 +00:00

1.1 KiB

Support for CSI VolumeCondition aka Volume Health Checker

health-checker API

Under internal/health-checker the Manager for health-checking is implemented. The Manager can start a checking process for a given path, return the (un)healthy state and stop the checking process when the volume is not needed anymore.

The Manager is responsible for creating a suitable checker for the requested path. If the path is a block-device, the BlockChecker should be created. For a filesystem path (directory), the FileChecker is appropriate.

CephFS

The health-checker writes to the file csi-volume-condition.ts in the root of the volume. This file contains a JSON formatted timestamp.

A new data directory is introduced for newly created volumes. During the NodeStageVolume call the root of the volume is mounted, and the data directory is bind-mounted inside the container when NodePublishVolume is called.

The data directory makes it possible to place Ceph-CSI internal files in the root of the volume, without that the user/application has access to it.