#!/bin/sh # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # bos720 src/bos/usr/lpp/bosinst/samples/AE/AS/updateWASProfile.sh 1.1 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 2008,2009 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # @(#)45 1.1 src/bos/usr/lpp/bosinst/samples/AE/AS/updateWASProfile.sh, bosinst, bos720 3/29/09 15:20:35 # # A utility for config WAS. # # usage: sh updateWASProfile # source include for debug output . /opt/IBM/AE/AS/debugWAS echodebug "Updating the WebSphere profile with new configuration values" WAS=/opt/IBM/WebSphere WAS_HOME=$WAS/AppServer WAS_PROFILES=$WAS/Profiles touch $CONFIGWAS7/.started if [ "$UNAME" = "AIX" ] then FULL_HOSTNAME=`hostname` else FULL_HOSTNAME=`cat /etc/HOSTNAME` fi #password=$WAS_PASSWORD #WAS_PASSWORD=`cat $WAS_PROFILES/.ibm/password` #WAS_USERNAME=`cat $WAS_PROFILES/.ibm/username` #set all profiles as default unless overridden SET_AS_DEFAULT=true updateProfile() { echodebug "Updating profile: $WAS_PROFILES/$PROF_NAME" if [ "$SET_AS_DEFAULT" = "true" ] ; then echodebug "Setting the $PROF_NAME profile as the default" COMMAND="$WAS_HOME/bin/manageprofiles.sh -setDefaultName -profileName $PROF_NAME" if [ "$UNAME" = "AIX" ] then su virtuser -c "$COMMAND" else sudo -u virtuser $COMMAND fi fi if [ "$NEW_NODE" = "" ] then NEW_NODE=$OLD_NODE fi if [ "$NEW_CELL" = "" ] then NEW_CELL=$OLD_CELL fi echodebug "Changing the cell, node, host name, and password" echodebug " Host name: $FULL_HOSTNAME Old node name: $OLD_NODE New node name: $NEW_NODE" COMMAND="$WAS_PROFILES/$PROF_NAME/bin/wsadmin.sh -conntype NONE \ -c \"\\\$AdminTask changeHostName {-nodeName $OLD_NODE -hostName $FULL_HOSTNAME}\" \ -c \"\\\$AdminTask changeFileRegistryAccountPassword {-userId virtuser -password $WAS_PASSWORD}\" \ -c \"\\\$AdminTask renameNode {-nodeName $OLD_NODE -newNodeName $NEW_NODE}\" \ -c \"\\\$AdminTask renameCell {-newCellName $NEW_CELL}\" \ -c \"\\\$AdminConfig save\"" if [ "$UNAME" = "AIX" ] then su virtuser -c "$COMMAND" else sudo -u virtuser $COMMAND fi #Need to reset setupCmdLine otherwise rename isn't complete echodebug "Updating setupCmdLine.sh" cp $WAS_PROFILES/$PROF_NAME/bin/setupCmdLine.sh $WAS_PROFILES/$PROF_NAME/bin/setupCmdLine.sh.orig sed -e s/WAS_NODE=$OLD_NODE/WAS_NODE=$NEW_NODE/g $WAS_PROFILES/$PROF_NAME/bin/setupCmdLine.sh | sed -e s/WAS_CELL=$OLD_CELL/WAS_CELL=$NEW_CELL/g > $WAS_PROFILES/$PROF_NAME/bin/setupCmdLine.sh.new mv $WAS_PROFILES/$PROF_NAME/bin/setupCmdLine.sh.new $WAS_PROFILES/$PROF_NAME/bin/setupCmdLine.sh chown virtuser $WAS_PROFILES/$PROF_NAME/bin/setupCmdLine.sh chgrp $WASGROUP $WAS_PROFILES/$PROF_NAME/bin/setupCmdLine.sh chmod +x $WAS_PROFILES/$PROF_NAME/bin/setupCmdLine.sh } while [ $# -ne 0 ] do case $1 in -type*) type=$2 ;; -cell_name*) cell_name=$2 ;; -node_name*) node_name=$2 ;; -dmgr_federate*) dmgr_federate=$2 ;; -dmgr_host*) dmgr_host=$2 ;; -dmgr_jmxport*) dmgr_jmxport=$2 ;; -dmgr_conntype*) dmgr_conntype=$2 ;; -dmgr_user*) dmgr_userid=$2 ;; -dmgr_pass*) dmgr_password=$2 ;; -profile_num*) profile_num=$2 ;; -jmgr_register*) jmgr_register=$2 ;; -jmgr_host*) jmgr_host=$2 ;; -jmgr_httpport*) jmgr_httpport=$2 ;; -jmgr_user*) jmgr_userid=$2 ;; -jmgr_pass*) jmgr_password=$2 ;; -password*) password=$2 ;; -autostart*) autostart=$2 ;; *) ;; esac shift 2 done #echo all parameters if [ $type ] ; then echodebug "type=$type" fi if [ $cell_name ] ; then echodebug "cell_name=$cell_name" fi if [ $node_name ] ; then echodebug "node_name=$node_name" fi if [ $dmgr_federate ] ; then echodebug "dmgr_federate=$dmgr_federate" fi if [ $dmgr_host ] ; then echodebug "dmgr_host=$dmgr_host" fi if [ $dmgr_conntype ] ; then echodebug "dmgr_conntype=$dmgr_conntype" fi if [ $dmgr_jmxport ] ; then echodebug "dmgr_jmxport=$dmgr_jmxport" fi if [ $dmgr_userid ] ; then echodebug "dmgr_userid=$dmgr_userid" fi if [ $dmgr_password ] ; then echodebug "dmgr_password=xxxxxx" fi if [ $profile_num ] ; then echodebug "profile_num=$profile_num" fi if [ $jmgr_register ] ; then echodebug "jmgr_register=$jmgr_register" fi if [ $jmgr_host ] ; then echodebug "jmgr_host=$jmgr_host" fi if [ $jmgr_httpport ] ; then echodebug "jmgr_httpport=$jmgr_httpport" fi if [ $jmgr_userid ] ; then echodebug "jmgr_userid=$jmgr_userid" fi if [ $jmgr_password ] ; then echodebug "jmgr_password=xxxxxx" fi if [ $autostart ] ; then echodebug "autostart=$autostart" fi cd $WAS_HOME if [ "$type" = "dmgr" ] ; then PROF_NAME=DefaultDmgr01 OLD_CELL=DefaultDmgrCell01 NEW_CELL=$cell_name OLD_NODE=DefaultDmgrNode01 NEW_NODE=$node_name updateProfile fi if [ "$type" = "default" ] ; then PROF_NAME=DefaultAppSrv01 OLD_CELL=DefaultAppSrvCell01 NEW_CELL=$cell_name OLD_NODE=DefaultAppSrvNode01 NEW_NODE=$node_name updateProfile if [ "$dmgr_federate" = "true" ] ; then echodebug "Starting the deployment manager federation" COMMAND="$WAS_PROFILES/DefaultAppSrv01/bin/addNode.sh $dmgr_host $dmgr_jmxport -conntype $dmgr_conntype -username $dmgr_userid -password $dmgr_password -trace" if [ "$UNAME" = "AIX" ] then su virtuser -c "$COMMAND" else sudo -u virtuser $COMMAND fi fi fi if [ "$type" = "custom" ] ; then PROF_NAME=DefaultCustom01 OLD_CELL=DefaultCustomCell01 NEW_CELL=$cell_name OLD_NODE=DefaultCustomNode01 NEW_NODE=$node_name updateProfile if [ "$dmgr_federate" = "true" ] ; then echodebug "Starting the deployment manager federation" COMMAND="$WAS_PROFILES/DefaultCustom01/bin/addNode.sh $dmgr_host $dmgr_jmxport -conntype $dmgr_conntype -username $dmgr_userid -password $dmgr_password -trace" if [ "$UNAME" = "AIX" ] then su virtuser -c "$COMMAND" else sudo -u virtuser $COMMAND fi fi fi if [ "$type" = "adminagent" ] ; then PROF_NAME=DefaultAdminAgent01 OLD_CELL=DefaultAdminAgentCell01 NEW_CELL=$cell_name OLD_NODE=DefaultAdminAgentNode01 NEW_NODE=$node_name updateProfile echodebug "Start the administrative agent so profiles can be registered" COMMAND="$WAS_PROFILES/DefaultAdminAgent01/bin/startServer.sh adminagent -trace &" if [ "$UNAME" = "AIX" ] then su virtuser -c "$COMMAND" else sudo -u virtuser $COMMAND fi # update any app servers defined SET_AS_DEFAULT=false profile_index=1 while [ $profile_index -le $profile_num ] do AA=AA0$profile_index PROF_NAME=DefaultAppSrv$AA OLD_CELL=DefaultAppSrvCell$AA NEW_CELL=$cell_name$AA OLD_NODE=DefaultAppSrvNode$AA NEW_NODE=$node_name$AA updateProfile echodebug "Registering DefaultAppSrv$AA" #Grab username / password from ENV COMMAND="$WAS_PROFILES/DefaultAdminAgent01/bin/registerNode.sh -conntype SOAP -host localhost -port 8877 -profilePath $WAS_PROFILES/DefaultAppSrv$AA -username $WAS_USERNAME -password $WAS_PASSWORD -trace" if [ "$UNAME" = "AIX" ] then su virtuser -c "$COMMAND" else sudo -u virtuser $COMMAND fi if [ "$jmgr_register" = "true" ] ; then echodebug "registering the node with the job manager" COMMAND="$WAS_PROFILES/DefaultAdminAgent01/bin/wsadmin.sh -conntype SOAP -port 8877 -user $WAS_USERNAME -password $WAS_PASSWORD -c \"\\\$AdminTask registerWithJobManager {-host $jmgr_host -port $jmgr_httpport -managedNodeName $NEW_NODE -user $jmgr_user -password $jmgr_password }\"" if [ "$UNAME" = "AIX" ] then su virtuser -c "$COMMAND" else sudo -u virtuser $COMMAND fi fi let profile_index=$profile_index+1 done if [ $profile_num != 4 ] ; then echodebug "Validating the profile registry" COMMAND="$WAS_HOME/bin/manageprofiles.sh -validateAndUpdateRegistry" if [ "$UNAME" = "AIX" ] then su virtuser -c "$COMMAND" else sudo -u virtuser $COMMAND fi fi if [ $autostart != 'true' ] ; then echodebug "Stop the administrative agent as user did not want it started" COMMAND="$WAS_PROFILES/DefaultAdminAgent01/bin/stopServer.sh adminagent -username $WAS_USERNAME -password $WAS_PASSWORD -trace &" if [ "$UNAME" = "AIX" ] then su virtuser -c "$COMMAND" else sudo -u virtuser $COMMAND fi fi fi if [ "$type" = "jmgr" ] ; then PROF_NAME=DefaultJobManager01 OLD_CELL=DefaultJobManagerCell01 NEW_CELL=$cell_name OLD_NODE=DefaultJobManagerNode01 NEW_NODE=$node_name updateProfile fi if [ "$type" = "cell" ] ; then #setup to update the cell dmgr profile PROF_NAME=DefaultCellDmgr01 OLD_CELL=DefaultCellDmgrCell01 NEW_CELL=$cell_name OLD_NODE=DefaultCellDmgrNode01 NEW_NODE=$node_name updateProfile #also need to change the app server node under the dmgr OLD_NODE=DefaultCellAppSrvNode01 APP_NODE_SUFFIX=AppSrvNode NEW_NODE=$node_name$APP_NODE_SUFFIX echodebug "Updating the application server node in the cell deployment manager profile" echodebug " Host name: $FULL_HOSTNAME Old node name: $OLD_NODE New node name: $NEW_NODE" COMMAND="$WAS_PROFILES/$PROF_NAME/bin/wsadmin.sh -conntype NONE \ -c \"\\\$AdminTask changeHostName {-nodeName $OLD_NODE -hostName $FULL_HOSTNAME}\" \ -c \"\\\$AdminTask renameNode {-nodeName $OLD_NODE -newNodeName $NEW_NODE}\"" if [ "$UNAME" = "AIX" ] then su virtuser -c "$COMMAND" else sudo -u virtuser $COMMAND fi #set up to update the cell appserver profile PROF_NAME=DefaultCellAppSrv01 OLD_CELL=DefaultCellDmgrCell01 NEW_CELL=$cell_name OLD_NODE=DefaultCellAppSrvNode01 NEW_NODE=$node_name$APP_NODE_SUFFIX SET_AS_DEFAULT=false updateProfile #also need to change the host name in the dmgr node in the appserver profile OLD_NODE=DefaultCellDmgrNode01 echodebug "Updating the deployment manager node in the cell application server profile" echodebug " Host name: $FULL_HOSTNAME Old node name: $OLD_NODE" COMMAND="$WAS_PROFILES/$PROF_NAME/bin/wsadmin.sh -conntype NONE \ -c \"\\\$AdminTask changeHostName {-nodeName $OLD_NODE -hostName $FULL_HOSTNAME}\"" if [ "$UNAME" = "AIX" ] then su virtuser -c "$COMMAND" else sudo -u virtuser $COMMAND fi fi echodebug "Done updating the WebSphere profile with new configuration values" echodebug "Creating Marker file: $CONFIGWAS7/.ok" touch $CONFIGWAS7/.ok