~ubuntu-branches/debian/jessie/resource-agents/jessie

« back to all changes in this revision

Viewing changes to .pc/02_spelling_fixes.patch/heartbeat/scsi2reservation

  • Committer: Bazaar Package Importer
  • Author(s): Martin Loschwitz
  • Date: 2011-10-20 12:10:13 UTC
  • Revision ID: james.westby@ubuntu.com-20111020121013-ficddzhosi473laz
Tags: 1:3.9.2-4
Adopted numerous changes from the Ubuntu packages, implemented by Andres 
Rodriguez to make co-maintaining these packages in Ubuntu and Debian a
bit easier.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
# by hxinwei@gmail.com
 
3
# License: GNU General Public License 2 (GPL2)
 
4
 
 
5
if [ -n "$OCF_DEBUG_LIBRARY" ]; then
 
6
    . $OCF_DEBUG_LIBRARY
 
7
else
 
8
    : ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat}
 
9
. ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs
 
10
fi
 
11
 
 
12
: ${OCF_RESKEY_scsi_reserve="/usr/sbin/scsi_reserve"}
 
13
: ${OCF_RESKEY_sharedisk="/dev/sdb"}
 
14
: ${OCF_RESKEY_start_loop=10}
 
15
 
 
16
scsi2reserve_meta_data() {
 
17
        cat <<END
 
18
<?xml version="1.0"?>
 
19
<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
 
20
<resource-agent name="scsi2reservation">
 
21
<version>1.0</version>
 
22
 
 
23
<longdesc lang="en">
 
24
The scsi-2-reserve resource agent is a place holder for SCSI-2 reservation.
 
25
A healthy instance of scsi-2-reserve resource, indicates the own of the specified SCSI device.
 
26
This resource agent depends on the scsi_reserve from scsires package, which is Linux specific.
 
27
</longdesc>
 
28
 
 
29
<shortdesc lang="en">
 
30
scsi-2 reservation
 
31
</shortdesc>
 
32
 
 
33
<parameters>
 
34
 
 
35
<parameter name="scsi_reserve" unique="0" required="0">
 
36
<longdesc lang="en">
 
37
The scsi_reserve is a command from scsires package. 
 
38
It helps to issue SCSI-2 reservation on SCSI devices.
 
39
</longdesc>
 
40
<shortdesc lang="en">Manages exclusive access to shared storage media thrugh SCSI-2 reservations</shortdesc>
 
41
<content type="string" default="/usr/sbin/scsi_reserve" />
 
42
</parameter>
 
43
 
 
44
 
 
45
<parameter name="sharedisk" unique="0" required="0">
 
46
<longdesc lang="en">
 
47
The shared disk that can be reserved.
 
48
</longdesc>
 
49
<shortdesc lang="en">
 
50
Shared disk.
 
51
</shortdesc>
 
52
<content type="string" default="/dev/sdb" />
 
53
</parameter>
 
54
 
 
55
<parameter name="start_loop" unique="0" required="0">
 
56
<longdesc lang="en">
 
57
We are going to try several times before giving up. Start_loop indicates how many times we are going to re-try.
 
58
</longdesc>
 
59
<shortdesc lang="en">
 
60
Times to re-try before giving up.
 
61
</shortdesc>
 
62
<content type="string" default="10" />
 
63
</parameter>
 
64
 
 
65
 
 
66
</parameters>
 
67
 
 
68
<actions>
 
69
<action name="start"   timeout="300" />
 
70
<action name="stop"    timeout="100" />
 
71
<action name="monitor" depth="0"  timeout="20" interval="20" />
 
72
<action name="meta-data"  timeout="5" />
 
73
<action name="validate-all"  timeout="30" />
 
74
</actions>
 
75
</resource-agent>
 
76
END
 
77
 
 
78
        return $OCF_SUCCESS
 
79
}
 
80
 
 
81
scsi2reserve_usage() {
 
82
        cat <<END
 
83
                usage: $0 {start|stop|monitor|validate-all|meta-data}
 
84
END
 
85
}
 
86
 
 
87
case $__OCF_ACTION in
 
88
        meta-data)  scsi2reserve_meta_data
 
89
                exit $OCF_SUCCESS
 
90
                ;;
 
91
        usage|help) scsi2reserve_usage
 
92
                exit $OCF_SUCCESS
 
93
                ;;
 
94
        *)
 
95
                ;;
 
96
esac            
 
97
        
 
98
 
 
99
scsi2reserve_validate ()
 
100
{
 
101
        if [ ! -x "${OCF_RESKEY_scsi_reserve}" ]; then
 
102
                exit $OCF_ERR_INSTALLED
 
103
        fi
 
104
        if [ -z "${OCF_RESKEY_sharedisk}" ]; then
 
105
                exit $OCF_ERR_GENERIC
 
106
        fi      
 
107
        if [ ! -b "${OCF_RESKEY_sharedisk}" ]; then
 
108
                exit $OCF_ERR_ARGS
 
109
        fi
 
110
}
 
111
 
 
112
scsi2reserve_validate
 
113
 
 
114
scsi2reserve_start ()
 
115
{
 
116
        ite=$OCF_RESKEY_start_loop
 
117
        while [ $ite -ge 0 ]; do        
 
118
                /sbin/startproc ${OCF_RESKEY_scsi_reserve} -d ${OCF_RESKEY_sharedisk} --preempt --hold --stonith
 
119
                sleep 15
 
120
                /sbin/checkproc ${OCF_RESKEY_scsi_reserve}
 
121
                rc=$?
 
122
                if [ $rc -eq 0 ]; then
 
123
                        exit $OCF_SUCCESS
 
124
                fi              
 
125
                ite=`expr $ite - 1`
 
126
        done    
 
127
        exit $OCF_ERR_GENERIC
 
128
}
 
129
 
 
130
scsi2reserve_monitor ()
 
131
{
 
132
        /sbin/checkproc ${OCF_RESKEY_scsi_reserve}
 
133
        rc=$?
 
134
        if [ $rc -eq 0 ]; then
 
135
                exit $OCF_SUCCESS
 
136
        else
 
137
                exit $OCF_NOT_RUNNING
 
138
        fi      
 
139
}
 
140
 
 
141
scsi2reserve_stop ()
 
142
{
 
143
        /sbin/killproc ${OCF_RESKEY_scsi_reserve}
 
144
        ${OCF_RESKEY_scsi_reserve} -d ${OCF_RESKEY_sharedisk} --release
 
145
        exit $OCF_SUCCESS
 
146
}
 
147
 
 
148
if [ $# -ne 1 ]; then
 
149
        scsi2reserve_usage
 
150
        exit $OCF_ERR_ARGS
 
151
fi
 
152
 
 
153
case $__OCF_ACTION in
 
154
        start)      scsi2reserve_start
 
155
                ;;
 
156
        stop)       scsi2reserve_stop
 
157
                ;;
 
158
        monitor)    scsi2reserve_monitor
 
159
                ;;
 
160
        validate-all)   scsi2reserve_validate
 
161
                        exit $OCF_SUCCESS
 
162
                ;;
 
163
        *)      scsi2reserve_usage
 
164
                exit $OCF_ERR_UNIMPLEMENTED
 
165
        ;;
 
166
esac
 
167
 
 
168
exit $?
 
169
 
 
170