Hi,
I have been trying to create a HA iSCSILogicalUnit resource and think I have
come across a bug caused by a wrong variable name.
I have been using the master branch from cluster labs for my iSCSILogicalUnit
resource agent running on Ubuntu 14.04.
Whilst the LUN and Target are correctly created by the agent when stopping the
agent it was only removing the target, which cleared the LUN but left the
iBlock device. This was then locking the underlying block device as it was
still in use.
After spedning a fair while trawling through the agent I beleive I have
discovered the problem, at least the change I made has fixed it for me.
In the monitor and stop actions there is a check which uses the wrong variable,
OCF_RESKEY_INSTANCE instead of OCF_RESOURCE_INSTANCE. I also found a "#{" in
front of one of the variables that prepares the path string for removing the
LUN. I have also added a few more log entries to give a clearer picture of what
is happening during removal, which made the debugging process much easier.
Below is a Diff which seems to fix the problem for me:-
+++ /usr/lib/ocf/resource.d/heartbeat/iSCSILogicalUnit 2014-09-17
16:40:23.208764599 +0100
@@ -419,12 +419,14 @@
${initiator} ${OCF_RESKEY_lun} || exit
$OCF_ERR_GENERIC
fi
done
-
lun_configfs_path="/sys/kernel/config/target/iscsi/${OCF_RESKEY_target_iqn}/tpgt_1/lun/lun_#{${OCF_RESKEY_lun}/"
+
lun_configfs_path="/sys/kernel/config/target/iscsi/${OCF_RESKEY_target_iqn}/tpgt_1/lun/lun_${OCF_RESKEY_lun}/"
if [ -e "${lun_configfs_path}" ]; then
+ ocf_log info "Deleting LUN
${OCF_RESKEY_target_iqn}/${OCF_RESKEY_lun}"
ocf_run lio_node --dellun=${OCF_RESKEY_target_iqn} 1
${OCF_RESKEY_lun} || exit $OCF_ERR_GENERIC
fi
-
block_configfs_path="/sys/kernel/config/target/core/iblock_${OCF_RESKEY_lio_iblock}/${OCF_RESKEY_INSTANCE}/udev_path"
+
block_configfs_path="/sys/kernel/config/target/core/iblock_${OCF_RESKEY_lio_iblock}/${OCF_RESOURCE_INSTANCE}/udev_path"
if [ -e "${block_configfs_path}" ]; then
+ ocf_log info "Deleting iBlock Device
iblock_${OCF_RESKEY_lio_iblock}/${OCF_RESOURCE_INSTANCE}"
ocf_run tcm_node
--freedev=iblock_${OCF_RESKEY_lio_iblock}/${OCF_RESOURCE_INSTANCE} || exit
$OCF_ERR_GENERIC
fi
;;
@@ -478,7 +480,7 @@
[ -e ${configfs_path} ] && [ `cat ${configfs_path}` =
"${OCF_RESKEY_path}" ] && return $OCF_SUCCESS
# if we aren't activated, is a block device still left over?
-
block_configfs_path="/sys/kernel/config/target/core/iblock_${OCF_RESKEY_lio_iblock}/${OCF_RESKEY_INSTANCE}/udev_path"
+
block_configfs_path="/sys/kernel/config/target/core/iblock_${OCF_RESKEY_lio_iblock}/${OCF_RESOURCE_INSTANCE}/udev_path"
[ -e ${block_configfs_path} ] && ocf_log warn "existing block
without an active lun: ${block_configfs_path}"
[ -e ${block_configfs_path} ] && return $OCF_ERR_GENERIC
Nick Fisk
Technical Support Engineer
System Professional Ltd
tel: 01825 830000
mob: 07711377522
fax: 01825 830001
mail: [email protected]
web: www.sys-pro.co.uk<http://www.sys-pro.co.uk>
IT SUPPORT SERVICES | VIRTUALISATION | STORAGE | BACKUP AND DR | IT CONSULTING
Registered Office:
Wilderness Barns, Wilderness Lane, Hadlow Down, East Sussex, TN22 4HU
Registered in England and Wales.
Company Number: 04754200
Confidentiality: This e-mail and its attachments are intended for the above
named only and may be confidential. If they have come to you in error you must
take no action based on them, nor must you copy or show them to anyone; please
reply to this e-mail and highlight the error.
Security Warning: Please note that this e-mail has been created in the
knowledge that Internet e-mail is not a 100% secure communications medium. We
advise that you understand and observe this lack of security when e-mailing us.
Viruses: Although we have taken steps to ensure that this e-mail and
attachments are free from any virus, we advise that in keeping with good
computing practice the recipient should ensure they are actually virus free.
Any views expressed in this e-mail message are those of the individual and not
necessarily those of the company or any of its subsidiaries.
--
Linux-cluster mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/linux-cluster