Sunday, April 10, 2011

Peoplesoft PIA silent deployment

Whether the silent Weblogic installation is documented in the Peopletools Installation Guide (Task 2-1-5: Installing Oracle WebLogic on Linux or UNIX in Silent Mode), the silent PIA deployment is not. Is that because it does not exists ? Is that because there’s no use of that ? Well, it exists and in few cases it can help. Especially if you are applying Peopletools patch on regular basis. As you may know, it is most often required to redeploy the domain.

Last month I replied to a resurrected thread on Peoplesoft OTN Forum regarding a silent deployment of the PIA. I was initially – last year - thinking that was not possible. But working a lot with the PSOVM since then, I saw the PIA deployment on “fly” during the OVM template installation.

Going through the PSOVM App/Batch/PIA server once deployed, there’s a script which is called to deploy the PIA : /opt/oracle/psft/vm/installpia.sh
The script is relatively easy to understand :
PT_HOME=/opt/oracle/psft/pt
TOOLS_HOME=$PT_HOME/tools
BEA_HOME=$PT_HOME/bea
SILENT_INSTALL_FILE=install.properties
 
echo "Doing PIA silent install"
if [ ! -d $TOOLS_HOME/tmp ]; then
    mkdir $TOOLS_HOME/tmp
fi
 
cd $TOOLS_HOME/tmp
 
 
# If there is a pre-existing silent response file we
# remove it
if [ -f $SILENT_INSTALL_FILE ]; then
    rm -f $SILENT_INSTALL_FILE
fi
 
echo PS_HOME=$TOOLS_HOME >> $SILENT_INSTALL_FILE
echo DOMAIN_NAME=peoplesoft >> $SILENT_INSTALL_FILE
echo SERVER_TYPE=weblogic >> $SILENT_INSTALL_FILE
echo BEA_HOME=$BEA_HOME >> $SILENT_INSTALL_FILE
echo USER_ID=system >> $SILENT_INSTALL_FILE
echo USER_PWD=password >> $SILENT_INSTALL_FILE
echo INSTALL_ACTION=CREATE_NEW_DOMAIN >> $SILENT_INSTALL_FILE
echo DOMAIN_TYPE=NEW_DOMAIN >> $SILENT_INSTALL_FILE
echo INSTALL_TYPE=SINGLE_SERVER_INSTALLATION >> $SILENT_INSTALL_FILE
echo WEBSITE_NAME=$PIA_SITENAME >> $SILENT_INSTALL_FILE
echo APPSERVER_NAME=localhost >> $SILENT_INSTALL_FILE
echo JSL_PORT=$JOLT_PORT >> $SILENT_INSTALL_FILE
echo HTTP_PORT=$PIA_HTTP_PORT >> $SILENT_INSTALL_FILE
echo HTTPS_PORT=$PIA_HTTPS_PORT >> $SILENT_INSTALL_FILE
echo AUTH_DOMAIN= >> $SILENT_INSTALL_FILE
echo WEB_PROF_NAME=DEV >> $SILENT_INSTALL_FILE
echo WEB_PROF_USERID=PTWEBSERVER >> $SILENT_INSTALL_FILE
echo WEB_PROF_PWD=PTWEBSERVER >> $SILENT_INSTALL_FILE
echo REPORTS_DIR=/var/tmp/psreports >> $SILENT_INSTALL_FILE
 
cd $TOOLS_HOME/setup/PsMpPIAInstall
sh setup.sh -javahome $TOOLS_HOME/jre -i silent \
-DRES_FILE_PATH=$TOOLS_HOME/tmp/$SILENT_INSTALL_FILE -tempdir $TOOLS_HOME/tmp

So, first build your own response file with all the required fields according to your environment and action you are doing (deployment, re-deployment), and call it within DRES_FILE_PATH. That parameter was unknown for me. It is rather a nice learn. Of course, it might require a lot of testing, but it could be helpful if you have a high number of environments to re-build time to time, especially useful after a Peopletools (patch) upgrade which can be done on regular basis.

Save the response file in a secure place, and eventually you’ll see the advantages of silent PIA deployment. Run the installer with the silent option avoids some painful time to remember what ports are used, what webprofile, what reports directory…
I was initially not convinced about the usefulness of that, but try it. Use it.

Nicolas.

2 comments:

Unknown said...

Do you happen to know if there is a list of the possible parameters? We're applying PeopleTools patches regularly and we have 50+ PIAs to redeploy.

For example, what would the DOMAIN_TYPE be equal to for a redeploy? I would also assume there to be another parameter for specifying which PIA you want to redeploy.

I've sifted through the temporary files, logs, xml files, etc. and can't seem to find those values.

Thanks
-Geoff

Nicolas Gasparotto said...

Geoff, that's a good one.
Here we go :
http://docs.oracle.com/cd/E26530_01/psft/acrobat/PeopleTools_8.52_Installation_Oracle.pdf
Task9B-4 (page 307)
...
INSTALL_ACTION = [CREATE_NEW_DOMAIN|REDEPLOY_PSAPP|REBUILD_DOMAIN|ADD_SITE]
DOMAIN_TYPE=[NEW_DOMAIN|EXISTING_DOMAIN]
INSTALL_TYPE=[SINGLE_SERVER_INSTALLATION|MULTI_SERVER_INSTALLATION]
...

Hope that helps,

Nicolas.