STABLE2 - [rgmanager] Fix resource agent metadata and un-break 'make check' target

Lon Hohberger lon@fedoraproject.org
Mon Aug 11 13:56:00 GMT 2008


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=7fd32c1fefa9fca0d8d76f6072787ab9abbf8c41
Commit:        7fd32c1fefa9fca0d8d76f6072787ab9abbf8c41
Parent:        65ce950ec30018a5d08fcb74ae8d933942ee9237
Author:        Lon Hohberger <lhh@redhat.com>
AuthorDate:    Thu Aug 7 17:12:57 2008 -0400
Committer:     Lon Hohberger <lhh@redhat.com>
CommitterDate: Mon Aug 11 09:54:47 2008 -0400

[rgmanager] Fix resource agent metadata and un-break 'make check' target

---
 rgmanager/src/resources/Makefile              |    4 +-
 rgmanager/src/resources/SAPDatabase           |    4 +-
 rgmanager/src/resources/SAPInstance           |    4 +-
 rgmanager/src/resources/apache.metadata       |    2 +-
 rgmanager/src/resources/lvm.metadata          |    2 +-
 rgmanager/src/resources/lvm.sh                |    2 +-
 rgmanager/src/resources/mysql.metadata        |    2 +-
 rgmanager/src/resources/named.metadata        |    2 +-
 rgmanager/src/resources/openldap.metadata     |    2 +-
 rgmanager/src/resources/oracledb.sh           |   67 +++++++++++++++++-------
 rgmanager/src/resources/postgres-8.metadata   |    2 +-
 rgmanager/src/resources/ra-api-1-modified.dtd |    7 ++-
 rgmanager/src/resources/samba.metadata        |    2 +-
 rgmanager/src/resources/service.sh            |    2 +-
 rgmanager/src/resources/tomcat-5.metadata     |    2 +-
 15 files changed, 69 insertions(+), 37 deletions(-)

diff --git a/rgmanager/src/resources/ASEHAagent.sh b/rgmanager/src/resources/ASEHAagent.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/Makefile b/rgmanager/src/resources/Makefile
index 8462c4a..a585e7e 100644
--- a/rgmanager/src/resources/Makefile
+++ b/rgmanager/src/resources/Makefile
@@ -8,7 +8,7 @@ include $(OBJDIR)/make/clean.mk
 RESOURCES=fs.sh service.sh ip.sh nfsclient.sh nfsexport.sh \
 	script.sh netfs.sh clusterfs.sh smb.sh \
 	apache.sh openldap.sh samba.sh mysql.sh \
-	postgres-8.sh tomcat-5.sh lvm.sh lvm_by_lv.sh lvm_by_vg.sh \
+	postgres-8.sh tomcat-5.sh lvm.sh \
 	vm.sh SAPInstance SAPDatabase named.sh \
 	oracledb.sh ASEHAagent.sh
 
@@ -16,7 +16,7 @@ METADATA=apache.metadata openldap.metadata samba.metadata \
 	mysql.metadata postgres-8.metadata tomcat-5.metadata \
 	named.metadata lvm.metadata default_event_script.sl
 
-GENERAL_TARGETS=ocf-shellfuncs svclib_nfslock
+GENERAL_TARGETS=ocf-shellfuncs svclib_nfslock lvm_by_lv.sh lvm_by_vg.sh
 
 UTIL_TARGETS= \
 	utils/ra-skelet.sh utils/messages.sh \
diff --git a/rgmanager/src/resources/SAPDatabase b/rgmanager/src/resources/SAPDatabase
old mode 100644
new mode 100755
index 5e2aa83..b38ad7c
--- a/rgmanager/src/resources/SAPDatabase
+++ b/rgmanager/src/resources/SAPDatabase
@@ -33,6 +33,8 @@ if [ -f /usr/lib/heartbeat/ocf-shellfuncs ]; then
 	. /usr/lib/heartbeat/ocf-shellfuncs
 elif [ -f /usr/share/cluster/ocf-shellfuncs ]; then
 	. /usr/share/cluster/ocf-shellfuncs
+elif [ -f `dirname $0`/ocf-shellfuncs ]; then
+	. `dirname $0`/ocf-shellfuncs
 else
 	echo Could not find ocf-shellfuncs!
 	exit 1
@@ -65,7 +67,7 @@ usage() {
 meta_data() {
 	cat <<END
 <?xml version="1.0"?>
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
+<!DOCTYPE resource-agent SYSTEM "ra-api-1-modified.dtd">
 <resource-agent name="SAPDatabase">
 <version>1.2</version>
 
diff --git a/rgmanager/src/resources/SAPInstance b/rgmanager/src/resources/SAPInstance
old mode 100644
new mode 100755
index b84a967..0ef2fd3
--- a/rgmanager/src/resources/SAPInstance
+++ b/rgmanager/src/resources/SAPInstance
@@ -29,6 +29,8 @@ if [ -f /usr/lib/heartbeat/ocf-shellfuncs ]; then
 	. /usr/lib/heartbeat/ocf-shellfuncs
 elif [ -f /usr/share/cluster/ocf-shellfuncs ]; then
 	. /usr/share/cluster/ocf-shellfuncs
+elif [ -f `dirname $0`/ocf-shellfuncs ]; then
+	. `dirname $0`/ocf-shellfuncs
 else
 	echo Could not find ocf-shellfuncs!
 	exit 1
@@ -59,7 +61,7 @@ usage() {
 meta_data() {
 	cat <<END
 <?xml version="1.0"?>
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
+<!DOCTYPE resource-agent SYSTEM "ra-api-1-modified.dtd">
 <resource-agent name="SAPInstance">
 <version>1.6</version>
 
diff --git a/rgmanager/src/resources/apache.metadata b/rgmanager/src/resources/apache.metadata
index d219fdd..727d138 100644
--- a/rgmanager/src/resources/apache.metadata
+++ b/rgmanager/src/resources/apache.metadata
@@ -57,7 +57,7 @@
 	    <shortdesc lang="en">
 		Wait X seconds for correct end of service shutdown
 	    </shortdesc>
-	    <content type="number" />
+	    <content type="integer" />
 	</parameter>
 
         <parameter name="service_name" inherit="service%name">
diff --git a/rgmanager/src/resources/apache.sh b/rgmanager/src/resources/apache.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/clusterfs.sh b/rgmanager/src/resources/clusterfs.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/fs.sh b/rgmanager/src/resources/fs.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/ip.sh b/rgmanager/src/resources/ip.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/lvm.metadata b/rgmanager/src/resources/lvm.metadata
index fdf2621..3759063 100644
--- a/rgmanager/src/resources/lvm.metadata
+++ b/rgmanager/src/resources/lvm.metadata
@@ -76,7 +76,7 @@
 	<action name="monitor" timeout="5" interval="1h"/>
 
 	<action name="meta-data" timeout="5"/>
-	<action name="verify-all" timeout="30"/>
+	<action name="validate-all" timeout="30"/>
     </actions>
 
     <special tag="rgmanager">
diff --git a/rgmanager/src/resources/lvm.sh b/rgmanager/src/resources/lvm.sh
old mode 100644
new mode 100755
index 29e3687..b19a8ac
--- a/rgmanager/src/resources/lvm.sh
+++ b/rgmanager/src/resources/lvm.sh
@@ -166,7 +166,7 @@ validate-all|verify-all)
 	rv=0
 	;;
 *)
-	echo "usage: $0 {start|status|monitor|stop|restart|meta-data|verify-all}"
+	echo "usage: $0 {start|status|monitor|stop|restart|meta-data|validate-all}"
 	exit $OCF_ERR_UNIMPLEMENTED
 	;;
 esac
diff --git a/rgmanager/src/resources/mysql.metadata b/rgmanager/src/resources/mysql.metadata
index 9bd1341..edb3744 100644
--- a/rgmanager/src/resources/mysql.metadata
+++ b/rgmanager/src/resources/mysql.metadata
@@ -58,7 +58,7 @@
 		<shortdesc lang="en">
 			Wait X seconds for correct end of service shutdown
 		</shortdesc>
-		<content type="number" />
+		<content type="integer" />
 	</parameter>
 
         <parameter name="service_name" inherit="service%name">
diff --git a/rgmanager/src/resources/mysql.sh b/rgmanager/src/resources/mysql.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/named.metadata b/rgmanager/src/resources/named.metadata
index 3cd96fa..64442b1 100644
--- a/rgmanager/src/resources/named.metadata
+++ b/rgmanager/src/resources/named.metadata
@@ -67,7 +67,7 @@
 		<shortdesc lang="en">
 			Wait X seconds for correct end of service shutdown
 		</shortdesc>
-		<content type="number" default="5" />
+		<content type="integer" default="5" />
 	</parameter>
 
         <parameter name="service_name" inherit="service%name">
diff --git a/rgmanager/src/resources/named.sh b/rgmanager/src/resources/named.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/netfs.sh b/rgmanager/src/resources/netfs.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/nfsclient.sh b/rgmanager/src/resources/nfsclient.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/nfsexport.sh b/rgmanager/src/resources/nfsexport.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/nfsserver.sh b/rgmanager/src/resources/nfsserver.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/openldap.metadata b/rgmanager/src/resources/openldap.metadata
index 40d03be..9bd7193 100644
--- a/rgmanager/src/resources/openldap.metadata
+++ b/rgmanager/src/resources/openldap.metadata
@@ -61,7 +61,7 @@
 		<shortdesc lang="en">
 			Wait X seconds for correct end of service shutdown
 		</shortdesc>
-		<content type="number" />
+		<content type="integer" />
 	</parameter>
 
         <parameter name="service_name" inherit="service%name">
diff --git a/rgmanager/src/resources/openldap.sh b/rgmanager/src/resources/openldap.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/oracledb.sh b/rgmanager/src/resources/oracledb.sh
old mode 100644
new mode 100755
index d018267..5a72700
--- a/rgmanager/src/resources/oracledb.sh
+++ b/rgmanager/src/resources/oracledb.sh
@@ -43,6 +43,7 @@ declare SCRIPTDIR="`dirname $0`"
 [ -n "$OCF_RESKEY_user" ] && ORACLE_USER=$OCF_RESKEY_user
 [ -n "$OCF_RESKEY_home" ] && ORACLE_HOME=$OCF_RESKEY_home
 [ -n "$OCF_RESKEY_name" ] && ORACLE_SID=$OCF_RESKEY_name
+[ -n "$OCF_RESKEY_listener_name" ] && ORACLE_LISTENER=$OCF_RESKEY_listener_name
 [ -n "$OCF_RESKEY_lockfile" ] && LOCKFILE=$OCF_RESKEY_lockfile
 [ -n "$OCF_RESKEY_type" ] && ORACLE_TYPE=$OCF_RESKEY_type
 [ -n "$OCF_RESKEY_vhost" ] && ORACLE_HOSTNAME=$OCF_RESKEY_vhost
@@ -82,7 +83,7 @@ declare SCRIPTDIR="`dirname $0`"
 #
 # 5. Type of Oracle Database.  Currently supported: 10g 10g-iAS(untested!)
 #
-[ -n "$ORACLE_TYPE" ] || ORACLE_TYPE=10g
+[ -n "$ORACLE_TYPE" ] || ORACLE_TYPE="base-em"
 
 #
 # 6. Oracle virtual hostname.  This is the hostname you gave Oracle during
@@ -142,7 +143,21 @@ meta_data()
 	    <content type="string"/>
         </parameter>
 
-        <parameter name="user" unique="1" required="1">
+        <parameter name="listener_name" unique="1">
+	    <longdesc lang="en">
+		Oracle Listener Instance Name.  If you have multiple 
+		instances of Oracle running, it may be necessary to 
+		have multiple listeners on the same machine with
+		different names.
+	    </longdesc>
+            <shortdesc lang="en">
+		Oracle Listener Instance Name
+            </shortdesc>
+	    <content type="string"/>
+        </parameter>
+
+
+        <parameter name="user" required="1">
 	    <longdesc lang="en">
 		Oracle user name.  This is the user name of the Oracle
 		user which the Oracle AS instance runs as.
@@ -153,7 +168,7 @@ meta_data()
 	    <content type="string"/>
         </parameter>
 
-        <parameter name="home" unique="1" required="1">
+        <parameter name="home" required="1">
 	    <longdesc lang="en">
 		This is the Oracle (application, not user) home directory.
 		This is configured when you install Oracle.
@@ -164,11 +179,13 @@ meta_data()
 	    <content type="string"/>
         </parameter>
 
-        <parameter name="type" required="1">
+        <parameter name="type" required="0">
 	    <longdesc lang="en">
-		This is the Oracle installation type.
-		Only "10g" and "10g-ias" are supported, and 10g-ias is
-		untested.
+		This is the Oracle installation type:
+		base - Database Instance and Listener only
+		base-em (or 10g) - Database, Listener, Enterprise Manager,
+				   and iSQL*Plus
+		ias (or 10g-ias) - Internet Application Server (Infrastructure)
 	    </longdesc>
             <shortdesc lang="en">
 		Oracle Installation Type
@@ -210,7 +227,7 @@ meta_data()
 	<action name="monitor" depth="20" timeout="90" interval="10m"/>
 
 	<action name="meta-data" timeout="5"/>
-	<action name="verify-all" timeout="5"/>
+	<action name="validate-all" timeout="5"/>
     </actions>
 
     <special tag="rgmanager">
@@ -282,7 +299,7 @@ start_db()
 	grep -q "failure" $logfile
 	if [ $? -eq 0 ]; then
 		rm -f $tmpfile
-		echo "ORACLE_SID Incorrectly set?"
+	echo "ORACLE_SID Incorrectly set?"
 		echo "See $logfile for more information."
 		return 1
 	fi
@@ -464,8 +481,9 @@ get_lsnr_status()
 	#
 	for (( i=$RESTART_RETRIES ; i; i-- )) ; do
 
-		action "Restarting Oracle listener:" lsnrctl start
-		lsnrctl status >& /dev/null
+		action "Restarting Oracle listener:" lsnrctl start \
+					$ORACLE_LISTENER
+		lsnrctl status $ORACLE_LISTENER >& /dev/null
 		if [ $? == 0 ] ; then
 			break # Listener was (re)started and is running fine
 		fi
@@ -667,7 +685,16 @@ validation_checks()
 	#
 	# If we don't know the type, we're done
 	#
-	[ "$ORACLE_TYPE" = "10g" ] || [ "$ORACLE_TYPE" = "10g-ias" ] || oops ORACLE_TYPE
+	if [ "$ORACLE_TYPE" = "base" ]; then
+		# Other names for base
+		ORACLE_TYPE="base"
+	elif [ "$ORACLE_TYPE" = "10g" ] || [ "$ORACLE_TYPE" = "base-em" ]; then
+		ORACLE_TYPE="base-em"
+	elif [ "$ORACLE_TYPE" = "10g-ias" ] || [ "$ORACLE_TYPE" = "ias" ]; then
+		ORACLE_TYPE="ias"
+	else
+		oops ORACLE_TYPE
+	fi
 
 	#
 	# If the hostname is zero-length, fix it
@@ -709,12 +736,12 @@ validation_checks()
 start_oracle()
 {
 	faction "Starting Oracle Database:" start_db || return 1
-	action "Starting Oracle Listener:" lsnrctl start || return 1
+	action "Starting Oracle Listener:" lsnrctl start $ORACLE_LISTENER || return 1
 
-	if [ "$ORACLE_TYPE" = "10g" ]; then
+	if [ "$ORACLE_TYPE" = "base-em" ]; then
 		action "Starting iSQL*Plus:" isqlplusctl start || return 1
 		action "Starting Oracle EM DB Console:" emctl start dbconsole || return 1
-	elif [ "$ORACLE_TYPE" = "10g-ias" ]; then
+	elif [ "$ORACLE_TYPE" = "ias" ]; then
 		action "Starting Oracle EM:" emctl start em || return 1
 		action "Starting iAS Infrastructure:" opmnctl startall || return 1
 	fi
@@ -737,16 +764,16 @@ stop_oracle()
 		return 0
 	fi
 
-	if [ "$ORACLE_TYPE" = "10g" ]; then
+	if [ "$ORACLE_TYPE" = "base-em" ]; then
 		action "Stopping Oracle EM DB Console:" emctl stop dbconsole || return 1
 		action "Stopping iSQL*Plus:" isqlplusctl stop || return 1
-	elif [ "$ORACLE_TYPE" = "10g-ias" ]; then
+	elif [ "$ORACLE_TYPE" = "ias" ]; then
 		action "Stopping iAS Infrastructure:" opmnctl stopall || return 1
 		action "Stopping Oracle EM:" emctl stop em || return 1
 	fi
 
 	faction "Stopping Oracle Database:" stop_db || return 1
-	action "Stopping Oracle Listener:" lsnrctl stop
+	action "Stopping Oracle Listener:" lsnrctl stop $ORACLE_LISTENER
 	faction "Waiting for all Oracle processes to exit:" exit_idle 
 
 	if [ $? -ne 0 ]; then
@@ -801,12 +828,12 @@ status_oracle()
 	update_status $? $last
 	last=$?
 	
-	if [ "$ORACLE_TYPE" = "10g" ]; then
+	if [ "$ORACLE_TYPE" = "base-em" ]; then
 		# XXX Add isqlplus status check?!
 		emctl status dbconsole 2>&1 | grep "is running"
 		update_status $? $last
 		last=$?
-	elif [ "$ORACLE_TYPE" = "10g-ias" ]; then
+	elif [ "$ORACLE_TYPE" = "ias" ]; then
 		# Check & report opmn / opmn-managed process status
 		get_opmn_status $subsys_lock $depth
 		update_status $? $last
diff --git a/rgmanager/src/resources/postgres-8.metadata b/rgmanager/src/resources/postgres-8.metadata
index 1dfb6f7..e243dd9 100644
--- a/rgmanager/src/resources/postgres-8.metadata
+++ b/rgmanager/src/resources/postgres-8.metadata
@@ -58,7 +58,7 @@
 		<shortdesc lang="en">
 			Wait X seconds for correct end of service shutdown
 		</shortdesc>
-		<content type="number" />
+		<content type="integer" />
 	</parameter>
 
         <parameter name="service_name" inherit="service%name">
diff --git a/rgmanager/src/resources/postgres-8.sh b/rgmanager/src/resources/postgres-8.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/ra-api-1-modified.dtd b/rgmanager/src/resources/ra-api-1-modified.dtd
index 66cf307..51354d6 100644
--- a/rgmanager/src/resources/ra-api-1-modified.dtd
+++ b/rgmanager/src/resources/ra-api-1-modified.dtd
@@ -24,7 +24,6 @@
 	name	CDATA	#REQUIRED
 	primary (1|0)   "0"
 	required (1|0)	"0"
-	reconfig (1|0)	"0"
 	inherit CDATA	""
 	unique	(1|0)	"0"
 	reconfig (1|0)  "0">
@@ -44,7 +43,7 @@
 
 <!ELEMENT action EMPTY>
 <!ATTLIST action
-	name	(start|stop|recover|status|reconfig|monitor|reload|meta-data|verify-all|migrate|reconfig)	#REQUIRED
+	name	(start|stop|recover|status|reconfig|monitor|reload|meta-data|validate-all|migrate|reconfig|methods)	#REQUIRED
 	timeout		CDATA	#REQUIRED
 	interval 	CDATA	#IMPLIED
 	start-delay 	CDATA	#IMPLIED
@@ -57,7 +56,9 @@
 
 <!ELEMENT attributes EMPTY>
 <!ATTLIST attributes
-	maxinstances CDATA "0">
+	maxinstances CDATA "0"
+	init_on_add CDATA "0"
+	destroy_on_delete CDATA "0">
 
 <!ELEMENT child EMPTY>
 <!ATTLIST child
diff --git a/rgmanager/src/resources/samba.metadata b/rgmanager/src/resources/samba.metadata
index b67d076..1e03fcd 100644
--- a/rgmanager/src/resources/samba.metadata
+++ b/rgmanager/src/resources/samba.metadata
@@ -57,7 +57,7 @@
 		<shortdesc lang="en">
 			Wait X seconds for correct end of service shutdown
 		</shortdesc>
-		<content type="number" />
+		<content type="integer" />
 	</parameter>
 
         <parameter name="service_name" inherit="service%name">
diff --git a/rgmanager/src/resources/samba.sh b/rgmanager/src/resources/samba.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/script.sh b/rgmanager/src/resources/script.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/service.sh b/rgmanager/src/resources/service.sh
old mode 100644
new mode 100755
index 06438b7..3a3e3a8
--- a/rgmanager/src/resources/service.sh
+++ b/rgmanager/src/resources/service.sh
@@ -194,7 +194,7 @@ meta_data()
     </actions>
     
     <special tag="rgmanager">
-        <attributes root="1" maxinstances="1"/>
+        <attributes maxinstances="1"/>
         <child type="lvm" start="1" stop="9"/>
         <child type="fs" start="2" stop="8"/>
         <child type="clusterfs" start="3" stop="7"/>
diff --git a/rgmanager/src/resources/smb.sh b/rgmanager/src/resources/smb.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/tomcat-5.metadata b/rgmanager/src/resources/tomcat-5.metadata
index 3fdd35e..021bef7 100644
--- a/rgmanager/src/resources/tomcat-5.metadata
+++ b/rgmanager/src/resources/tomcat-5.metadata
@@ -67,7 +67,7 @@
 		<shortdesc lang="en">
 			Wait X seconds for correct end of service shutdown
 		</shortdesc>
-		<content type="number" default="30" />
+		<content type="integer" default="30" />
 	</parameter>
 
         <parameter name="service_name" inherit="service%name">
diff --git a/rgmanager/src/resources/tomcat-5.sh b/rgmanager/src/resources/tomcat-5.sh
old mode 100644
new mode 100755
diff --git a/rgmanager/src/resources/vm.sh b/rgmanager/src/resources/vm.sh
old mode 100644
new mode 100755



More information about the Cluster-cvs mailing list