Revision: 7923
http://syscheck.svn.sourceforge.net/syscheck/?rev=7923&view=rev
Author: kinneh
Date: 2010-10-27 15:02:12 +0000 (Wed, 27 Oct 2010)
Log Message:
-----------
closes #42 - add new script to change master mysql node in jboss and ejbca
Added Paths:
-----------
trunk/syscheck/config/816.conf
trunk/syscheck/database-replication/816-change-master-to-nodeX-in-jboss-and-ejbca.sh
trunk/syscheck/lang/816.english
Added: trunk/syscheck/config/816.conf
===================================================================
--- trunk/syscheck/config/816.conf (rev 0)
+++ trunk/syscheck/config/816.conf 2010-10-27 15:02:12 UTC (rev 7923)
@@ -0,0 +1,2 @@
+# config for 816-change-master-to-nodeX-injboss-and-ejbca.sh
+# no config
Added: trunk/syscheck/database-replication/816-change-master-to-nodeX-in-jboss-and-ejbca.sh
===================================================================
--- trunk/syscheck/database-replication/816-change-master-to-nodeX-in-jboss-and-ejbca.sh (rev 0)
+++ trunk/syscheck/database-replication/816-change-master-to-nodeX-in-jboss-and-ejbca.sh 2010-10-27 15:02:12 UTC (rev 7923)
@@ -0,0 +1,87 @@
+#!/bin/sh
+
+# Set SYSCHECK_HOME if not already set.
+
+# 1. First check if SYSCHECK_HOME is set then use that
+if [ "x${SYSCHECK_HOME}" = "x" ] ; then
+# 2. Check if /etc/syscheck.conf exists then source that (put SYSCHECK_HOME=/path/to/syscheck in ther)
+ if [ -e /etc/syscheck.conf ] ; then
+ source /etc/syscheck.conf
+ else
+# 3. last resort use default path
+ SYSCHECK_HOME="/usr/local/syscheck"
+ fi
+fi
+
+if [ ! -f ${SYSCHECK_HOME}/syscheck.sh ] ; then echo "$0: Can't find syscheck.sh in SYSCHECK_HOME ($SYSCHECK_HOME)" ;exit ; fi
+
+
+
+
+## Import common definitions ##
+. $SYSCHECK_HOME/config/database-replication.conf
+
+
+# Fail over JBoss datasource
+if [ "$DO_DATASOURCE_FAILOVER" == "false" ] ; then
+ echo Info: Not failing over JBoss datasources because DO_DATASOURCE_FAILOVER=false.
+ exit
+
+fi
+
+
+if [ "x$1" = "xnode1" ] ; then
+ HOSTNAME_NODE=$HOSTNAME_NODE1
+elif [ "x$1" = "xnode2" ] ; then
+ HOSTNAME_NODE=$HOSTNAME_NODE2
+else
+ echo "arg1 must be the node to enter in the ds conf (node1 or node2)"
+ exit
+fi
+RET=0
+
+# <connection-url>jdbc:mysql://${HOSTNAME_NODE}:3306/${DB_NAME}</connection-url>
+perl -pi -e "s#connection-url>jdbc:mysql:.*connection-url#connection-url>jdbc:mysql://${HOSTNAME_NODE}:3306/${DB_NAME}</connection-url#gio" ${JBOSS_HOME}/server/default/deploy/ejbca-ds.xml
+grep ${HOSTNAME_NODE} ${JBOSS_HOME}/server/default/deploy/ejbca-ds.xml || RET=1
+
+# <user-name>${DB_USER}</user-name>
+perl -pi -e "s#user-name.*user-name#user-name>${DB_USER}</user-name#gio" ${JBOSS_HOME}/server/default/deploy/ejbca-ds.xml
+grep ${DB_USER} ${JBOSS_HOME}/server/default/deploy/ejbca-ds.xml || RET=2
+
+# <password>${DB_PASSWORD}</password>
+perl -pi -e "s#password.*password#password>${DB_PASSWORD}</password#gio" ${JBOSS_HOME}/server/default/deploy/ejbca-ds.xml
+grep ${DB_PASSWORD} ${JBOSS_HOME}/server/default/deploy/ejbca-ds.xml || RET=3
+
+if [ ! -x ${EJBCA_HOME}/conf/database.properties ] ; then
+ cp ${EJBCA_HOME}/conf/database.properties.sample ${EJBCA_HOME}/conf/database.properties
+else
+ RET=10
+fi
+
+perl -pi -e \"s/#database.name=mysql/database.name=mysql/\" ${EJBCA_HOME}/conf/database.properties
+grep "^database.name=mysql/$" ${EJBCA_HOME}/conf/database.properties || RET=4
+
+perl -pi -e \"s/#datasource.mapping=mySQL/datasource.mapping=mySQL/\" ${EJBCA_HOME}/conf/database.properties
+grep "^datasource.mapping=mySQL$" ${EJBCA_HOME}/conf/database.properties || RET=5
+
+
+perl -pi -e \"s/#database.url=jdbc:mysql:\/\/127.0.0.1:3306\/ejbca$/database.url=jdbc:mysql:\/\/${HOSTNAME_NODE}:3306\/${mysqlejbcadbname}/\" ${EJBCA_HOME}/conf/database.properties
+grep "database.url.*${HOSTNAME_NODE}" ${EJBCA_HOME}/conf/database.properties || RET=6
+
+perl -pi -e \"s/#database.driver=com.mysql.jdbc.Driver/database.driver=com.mysql.jdbc.Driver/\" ${EJBCA_HOME}/conf/database.properties
+grep "^database.driver=com.mysql.jdbc.Driver$" ${EJBCA_HOME}/conf/database.properties || RET=7
+
+perl -pi -e \"s/#database.username=ejbca/database.username=${mysqlejbcauser}/\" ${EJBCA_HOME}/conf/database.properties
+grep "database.username=${mysqlejbcauser}" ${EJBCA_HOME}/conf/database.properties || RET=8
+
+perl -pi -e \"s/#database.password=ejbca/database.password=${mysqlejbcapass}/\" ${EJBCA_HOME}/conf/database.properties
+grep "database.password=${mysqlejbcapass}" ${EJBCA_HOME}/conf/database.properties || RET=9
+
+
+if [ $RET -eq 0 ] ; then
+ echo "ejbca-ds.xml in jboss switched host to ${HOSTNAME_NODE}"
+ echo "remember to restart jboss when you want the change to take effect"
+else
+ echo "failed to change all settings for database node in ejbca-ds.xml and/or database.properties"
+ echo "returncode: ${RET}"
+fi
Property changes on: trunk/syscheck/database-replication/816-change-master-to-nodeX-in-jboss-and-ejbca.sh
___________________________________________________________________
Added: svn:mergeinfo
+
Added: trunk/syscheck/lang/816.english
===================================================================
--- trunk/syscheck/lang/816.english (rev 0)
+++ trunk/syscheck/lang/816.english 2010-10-27 15:02:12 UTC (rev 7923)
@@ -0,0 +1 @@
+HELP="changes datasource in both ejbca/conf/database.properties and jboss/server/default/deploy/ejbca-ds.xml"
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|