diff --git a/tools/ocft/Makefile.am b/tools/ocft/Makefile.am index 733e4877e..a4de3eac3 100644 --- a/tools/ocft/Makefile.am +++ b/tools/ocft/Makefile.am @@ -1,53 +1,54 @@ # Author: John Shi # jshi@suse.de # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # MAINTAINERCLEANFILES = Makefile.in EXTRA_DIST = $(ocftcfgs_DATA) $(ocft_DATA) sbin_SCRIPTS = ocft ocftcfgsdir = $(datadir)/$(PACKAGE_NAME)/ocft/configs ocftcfgs_DATA = apache \ IPaddr2 \ IPaddr2v4 \ IPaddr2v6 \ IPv6addr \ Filesystem \ LVM \ Raid1 \ IPsrcaddr \ MailTo \ mysql \ mysql-proxy \ pgsql \ db2 \ oracle \ drbd.linbit \ nfsserver \ portblock \ iscsi \ named \ postfix \ + tomcat \ Xinetd \ SendArp ocftdir = $(datadir)/$(PACKAGE_NAME)/ocft ocft_DATA = README \ README.zh_CN \ caselib diff --git a/tools/ocft/tomcat b/tools/ocft/tomcat new file mode 100644 index 000000000..56adf868b --- /dev/null +++ b/tools/ocft/tomcat @@ -0,0 +1,73 @@ +# tomcat +# +# NOTE: Clean up $catalina_home/logs before running this test +# otherwise creating the pid/log files may fail +# in the test case with a different user. + +CONFIG + Agent tomcat + AgentRoot /usr/lib/ocf/resource.d/heartbeat + HangTimeout 120 + +VARIABLE + # Adjust accrding to your configuration + catalina_home=/opt/tomcat7 + tomcat_user=tomcat7 + java_home=/usr/lib/jvm/java-1.6.0-openjdk.x86_64 + +CASE-BLOCK required_args_tomcat + Env OCF_RESKEY_catalina_home=${catalina_home} + Env OCF_RESKEY_tomcat_user=${tomcat_user} + Env OCF_RESKEY_java_home=${java_home} + +CASE-BLOCK args_clear + Unenv OCF_RESKEY_catalina_home + Unenv OCF_RESKEY_tomcat_user + Unenv OCF_RESKEY_java_home + +CASE-BLOCK default_status + AgentRun stop + +CASE-BLOCK prepare_tomcat + Include required_args_tomcat + Include default_status + +# Test CASE +# +CASE "normal start tomcat require_args (user:user)" + Include prepare_tomcat + AgentRun start OCF_SUCCESS + AgentRun monitor OCF_SUCCESS + AgentRun stop OCF_SUCCESS + AgentRun monitor OCF_NOT_RUNNING + Include args_clear + +CASE "normal start tomcat require_args (user:root)" + Include prepare_tomcat + Unenv OCF_RESKEY_tomcat_user + AgentRun start OCF_SUCCESS + AgentRun monitor OCF_SUCCESS + AgentRun stop OCF_SUCCESS + AgentRun monitor OCF_NOT_RUNNING + Include args_clear + +CASE "error start tomcat no catalina_home" + Include prepare_tomcat + Unenv OCF_RESKEY_catalina_home + AgentRun start OCF_ERR_INSTALLED + Include args_clear + +CASE "error start tomcat no java_home" + Include prepare_tomcat + Unenv OCF_RESKEY_java_home + AgentRun start OCF_ERR_INSTALLED + Include args_clear + +CASE "error start tomcat no java command" + Include prepare_tomcat + Env OCF_RESKEY_java_home=/var + AgentRun start OCF_ERR_INSTALLED + AgentRun stop OCF_SUCCESS + AgentRun monitor OCF_NOT_RUNNING + Include args_clear +