HomeClusterLabs Projects

iSCSILogicalUnit: return OCF_NOT_RUNNING on monitor if backing path does not…

Description

iSCSILogicalUnit: return OCF_NOT_RUNNING on monitor if backing path does not exist

If iSCSILogicalUnit exposes a local LVM logical volume or even a
hardware drive, then it is safe to assume that the device will
"always" be there. However, if what we are exposing is itself a
cluster resource, such as an RBD volume or a DRBD device, then the
backing device will appear and disappear as needed.

It is safe to assume that if the backing file or block device does not
exist, then it cannot be exported as an iSCSILogicalUnit. Even if it
*has* been previously exported as an iSCSILogicalUnit, then it should
be impossible for it to just disappear or be removed while open, as
such an action would return -EBUSY while the device is open. If it
disappears because the drive has physically been yanked, then that is
a condition in which throwing up our hands and fencing the node is the
proper action.

Thus, if during monitor the backing device does not exist, return
OCF_NOT_RUNNING.

Fixes ClusterLabs/resource-agents#641.

Details

Provenance
Florian Haas <florian@hastexo.com>Authored on Jul 15 2015, 8:14 AM
Parents
rR790111e855b3: iSCSILogicalUnit: add check for leftover target/core entries for lio-t
Branches
Unknown
Tags
Unknown

Event Timeline