Bug 455330

Summary: fence_scsi: service scsi_reserve restart not present.
Product: Red Hat Enterprise Linux 5 Reporter: Ryan O'Hara <rohara>
Component: cmanAssignee: Ryan O'Hara <rohara>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: low Docs Contact:
Priority: low    
Version: 5.2CC: cluster-maint, edamato
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-20 21:52:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 409381    
Bug Blocks:    

Description Ryan O'Hara 2008-07-14 20:24:26 UTC
+++ This bug was initially created as a clone of Bug #409381 +++

Description of problem:

I attempted to "unfence" a node  by restarting the scsi_reserve service,
however running 'service scsi_reserve restart' did nothing.  I had to 
run 'service scsi_reserve stop && service scsi_reserve start'

Should restart be implemented in the init script?  If we don't support restart
there should be some output saying as much when a user attpemts a restart.

Version-Release number of selected component (if applicable):
fence-1.32.50-2.fencescsi.test.patch

-- Additional comment from rohara on 2007-12-04 00:16 EST --
You can simply run 'scsi_reserve start', which will register the node with all
relevant devices. If the reservation already exists, it does nothing.

I could implement a 'restart' command if it seems like the right thing to do.
Keep in mind that unlike other services, scsi_reserve is not a long-running
process (daemon).

So would restart actually unregister and re-register the node with all the
devices? Or simply re-run the registration (start)?

Comment 1 RHEL Program Management 2008-07-14 21:00:58 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 2 Ryan O'Hara 2008-09-05 21:29:27 UTC
I have a fix for this, which is not truly a restart, but I don't think that is what we want for this particular script.

In my opinion, a *true* restart would be to remove (unregister) our key from all devices and the re-register our key with all devices. We want to avoid removing the key. As soon as the key is remove, the node has no write access to the disk(s). For fencing via SCSI-3 reservations, this is as good as being fenced. Its best that we avoid removing keys from the devices.

The way I have "restart" implemented now is to do almost exactly what "start" does. If the script is called with the "restart" option, we simply get a list of all devices within cluster volumes and register our key with those devices. It does not matter if our node/key is already registered because of the way we create the registration. Then we check to see if a reservation exist for the device, and if not, we create the reservation.

Comment 3 Ryan O'Hara 2008-09-05 21:35:32 UTC
Fixed in RHEL5.

Comment 6 errata-xmlrpc 2009-01-20 21:52:56 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-0189.html