This page describes how to checkout, build and deploy the DAQ-PROD meta-project onto the SPLTS cluster. You will be able to view deployed MBeans via their JMX consoles. A tidy Table of Consoles is available for you to reach the nodes directly. Your SSH Tunnels must be setup before hand.
Since the SPLTS cluster is designed for development and testing, the
odds are good that someone else is mucking around with DAQ compononents. It has
been decided that whenever something major is planned for the SPLTS cluster, it
be announced on the SPLTS Skype chat room.
ad
Contact Martin Stoufer and he will invite you into the room.
A simple note telling other users of your intentions and time frame for deployment will suffice. It is understood that during this time, the cluster is "Hands Off" to other users and any jboss-centric processes will be stopped as needed.
To make debugging and monitoring easier, you need to start multiple terminal
windows on your local workstation, one per SSH connection. You may automate
this step as needed. One ssh command per new terminal window:
$ ssh splts-access
$ ssh splts-dbs
$ ssh splts-evbuilder
$ ssh splts-ichubXX (all hubs)
$ ssh splts-stringprocXX (all stringprocs)
$ ssh splts-expcont
You will notice that when you logon to the access node, an ssh-agent is started for you. This will facilitate the deployment of files to the remote nodes.
Create a new dir for the DAQ-PROD workspace (so it doesn't conflict with other bfd/cvs projects you may be working on)
jboss@sptls-access[icecube] mkdir DAQ-PROD_WEASEL-00-01_ws
jboss@sptls-access[icecube] cd DAQ-PROD_WEASEL-00-01_ws
jboss@sptls-access[DAQ-PROD_WEASEL-00-01_ws] bfd co -r VWEASEL-00-01 DAQ-PROD
jboss@sptls-access[DAQ-PROD_WEASEL-00-01_ws] bfd init $ICECUBE_TOOLS
jboss@sptls-access[DAQ-PROD_WEASEL-00-01_ws] source
setup.sh
jboss@sptls-access[DAQ-PROD_WEASEL-00-01_ws] ant -q clean.ws lib.all
The order here may look a bit backwards, but this allows the intended build state of DAQ-PROD to be preserved in new BFD workspaces.
Before a deployment can occur, we must bring all the nodes to a common
starting execution point. This involves stopping jboss on each node, removing
old DAQ-PROD deployments, and deploying the new version.
jboss@sptls-expcont[icecube] anvil
Anvil@splts-expcont** nojboss
Anvil@splts-expcont** exit
This will take 20 seconds on each node. Any critical errors will be displayed to the terminal window. Shutting down a jboss server that was not running is OK.
jboss@sptls-access[DAQ-PROD_WEASEL-00-01_ws] cd
cluster-config/bin
jboss@sptls-access[bin] ./deploy-daq.sh -utq
jboss@sptls-access[bin] ./deploy-daq.sh -utqe
jboss@sptls-expcont[bin] anvil
Anvil@splts-expcont** jboss
Anvil@splts-expcont** exit
With JBoss running (so the Postgres DB is visible to JBoss) run the daq-db-init.sh program.
jboss@sptls-access[bin] cd ../../daq-db-init
jboss@sptls-access[daq-db-init] ./daq_db_init.sh
This is necessary after running daq-db-init. From the top of the new workspace:
jboss@sptls-access[daq-db-init] cd ../domhub-prod-conf/resources
jboss@splts-access[resources] ./load_steering.sh -t
jboss@sptls-access[SPLTS] cd ../../../cluster-config/bin/
jboss@sptls-access[bin] ./componentsInConfig.sh
If you see SQLExceptions, try running the command again, it should run without any errors.
Strictly speaking, this is only needed if one of the *.sql files have been modified since the last time you initialized the DB. It doesn't hurt to re-initialize it, so feel free to do it if you have any doubt.
Now deploy the new DAQ-PROD from splts-access.
jboss@sptls-access[bin] ./deploy-daq.sh -btq
jboss@sptls-access[bin] ./deploy-daq.sh -dtqe
jboss@sptls-access[bin] ./deploy-daq.sh -dtq
At this point you have now deployed a new DAQ-PROD onto the SPLTS cluster. You should see deployment info scroll by on each terminal window for the cluster nodes. Any errors should be noted and passed onto the responsible developer. Being an announced DAQ-PROD release, the amount of errors should be either ignorable, or non-existent!
Assuming the anvil commands worked above, the jboss server is running on the expcont node. The Portal should be running and available at http://localhost:14200/IceAxe. If you cannot reach it, please refer to the IceAxe documentation.