The Copper Standard


As IceCube moves forward in its Java Application Server technology, this requires a new configuration to utilize the new components. A lot of what went into the older Mercury Standard has been outdated or included into the newer applications.

The following is how to setup and maintain the new DAQ developer's sandbox, otherwise known as 'The Copper Standard' configuration. This is opposed to the Gold (integration/test) or Platinum (deployment/production) configurations.

This is still done in 4 basic steps. Updating your configuration (from an existing installed configuration) will depend on which of these 4 components have changed. You will be told via the daq-dev email list if any of these components need to be updated. Assumed is general Unix shell knowledge and root access for the first step only (unless you decide to install JBoss and BFD someplace you need root).

Keep in mind that these instructions are RedHat Linux/bash-centric and are intended as a guide on how to install and update these components. They will need to be modified appropriately when working with another platform (Gentoo, Mac OSX, Cygwin, etc.) or a different user shell (tcsh), etc.

There are several suggested additions to your ~/.bashrc file in here. So it is suggested that you read through the instructions, understand them, make all the additions to your ~/.bashrc file, then in a new shell go though the configuration commands.

Discussions of the Mercury Standard are stored at the daq-dev archive. You do not need to be subscribed to the list to view the archive.

Deprecation disclaimers:
  • Due to the continually evolving nature of the JBoss user server environment. These instructions should always be referenced against the master document at: http://glacier.lbl.gov/DAQ/MercurySetup.html

  • Any print version of these instructions is considered outdated and incorrect.
  • Steps Convention
    1. Handling an existing install
    2. Install Java
    3. Install JBoss
    4. Install/Update BFD and IceCube tools
    5. Configure Jboss for IceCube development and deployment
    6. Advanced topics:
    7. Test it by deploying the DAQ-PROD meta-project
    8. Deploy the eXo Portlet framework
    To be stored in your .bashrc
    Environment variable first defined
    Required environment variable
    Special notes for Cygwin users

    1. Handling and existing install
    2. If you have already completed a Mercury Install, you may skip to
      Step 3 and start from there.
    1. Java
    2. We use Java version 1.4.2_05. Ensure that this version of java is installed, export the location where it is installed as $JAVA_HOME and add $JAVA_HOME/bin to your $PATH. Something similar to the following commands will do this:

      As root, install the JDK:

        # rpm -ivh http://glacier.lbl.gov/j2sdk-1_4_2_05-linux-i586.rpm

      This will install the JDK into /usr/java/j2sdk1.4.2_05. Add the following to your ~/.bashrc:

        export JAVA_HOME=/usr/java/j2sdk1.4.2_05
        export PATH=${JAVA_HOME}/bin:${PATH}

    3. JBoss
    4. We use JBoss version 3.2.5. Ensure that this version of JBoss is installed and export the location where it is installed as $JBOSS_ROOT (not $JBOSS_HOME because that means something else on the Gold and Platinum configurations). The following commands demonstrate how to install JBoss under your home directory. (If you wish to install it in a more system-like location (say for example /usr/local/jboss/) you will need to be root when doing so.) Again something similar to the following commands will install JBoss:

      Start in the parent dir of where you want all the JBoss environment to reside. In this case it is your $HOME dir:

        $ cd

      Download the JBoss tar file from glacier:

        $ wget http://glacier.lbl.gov/jboss-3.2.5.tar.gz

      Then untar it creating a jboss-3.2.5 directory:

        $ tar zxf jboss-3.2.5.tar.gz

      Create a link that points to the real JBoss directory.

        $ ln -s jboss-3.2.5 jboss

      Finaly define your $JBOSS_ROOT environment variable. In this case it is directly beneath your $HOME dir:

        export JBOSS_ROOT=${HOME}/jboss-3.2.5

      If you are in a Cygwin environment, this env var must start with the windows drive letter. This is easily accomplished with the cygpath program.
        export JBOSS_ROOT=`cygpath --mixed ${HOME}`/jboss-3.2.5
        export JBOSS_ROOT_CYGWIN=`cygpath --unix ${HOME}`/jboss-3.2.5

      This should be the absolute path to the pristine JBoss installation directory. Every attempt should be made to resolve any symlinks you have in your path to JBoss.

      Re-source your .bashrc to pickup the new env var. It is required later on.

    5. BFD and IceCube tools
    6. BFD and the related icecube tools are installed and kept up-to-date using rsync. Similarly to JBoss, the location where BFD is installed will be identified by the $ICECUBE_TOOLS directory. The following commands demonstrate how to installed BFD under your home directory. (Again if you wish to install it in a more system-like location (say for example /usr/local/icecube/) you will need to be root when doing so.) Again something similar to the following commands will install BFD:

      If you run into problems during this phase, take a look at the BFD FAQ. It probably has your problem listed there.

      With $ICECUBE_TOOLS exported (in your ~/.bashrc):
        export ICECUBE_TOOLS=${HOME}/icecube-tools

      Start in your $HOME dir and create the BFD IceCube tools tree:

        $ cd
        $ mkdir -p $ICECUBE_TOOLS

      Install (or update) directly from Rsync on Glacier:

        $ rsync --delete -rlpt rsync://glacier.lbl.gov/DAQ.Dev.Linux-i386/ $ICECUBE_TOOLS

      Now make the bfd command available to you on the command line (this could be done many ways, this is one possibiliy): add the following alias to your ~/.bashrc:

        alias bfd=${ICECUBE_TOOLS}/bfd

      Now initialize (or re-initialize) the bfd tools dir under the JBoss installation:

        $ cd $JBOSS_ROOT
        $ rm -rf tools
        $ bfd reinit -t $ICECUBE_TOOLS

    7. Configure JBoss for IceCube Development
    8. This step will configure JBoss for development and deployment of the DAQ by creating the iceboss deployment area identified by the $ICEBOSS_HOME environment variable. The details of setting this directory up are a bit involved so a script has been created to handle those details for you. The script lives in the daq-mercury project, so you need to checkout that script, run it and then set up your environment to start and stop jboss. Something similar to the folowing:

      First make sure that your environment is setup to run bfd/cvs commands. This means having an account on glacier, setting up your ssh keys and having exported the following variables (in your ~/.bashrc):

        export CVSROOT=:ext:${USER}@glacier.lbl.gov:/home/icecube/cvsroot
        export CVS_RSH=ssh

      Create a bfd workspace into which you can checkout the daq-mercury project from bfd:

        $ cd
        $ mkdir BFD_workspace
        $ cd BFD_workspace
        $ bfd init $ICECUBE_TOOLS
        $ source ./setup.sh
        $ bfd co -r V01-01-00 mercury-setup

      Now define the top level of the DAQ developer's (your) JBoss deployment tree by having $ICEBOSS_HOME exported in your ~/.bashrc. (This example puts it under your home dir but it could be anywhere you please.)

        export ICEBOSS_HOME=${HOME}/iceboss

      If you are in a Cygwin environment, you must use the cygpath shell command to correctly define this and an adjunct variable correct.
        export ICEBOSS_HOME=`cygpath --mixed ${HOME}`/iceboss
        export ICEBOSS_HOME_CYGWIN=`cygpath --unix ${HOME}`/iceboss

      Be sure that your .bashrc has been sourced at this point. You can logout/login again before proceeding.
      Run the script to set up the jboss delpoyment area(s):

        $ python2 ./mercury-setup/HgStandard.py --reset

      Consult the BFD FAQ if you get errors runing this script.

      Finally, the setup-iceboss.sh script defines a few commands for starting and stopping jboss. To have those commands available to you, source that script in your ~/.bashrc by adding the following to it:

        source ${ICEBOSS_HOME}/jboss/setup/setup-iceboss.sh

      Start jboss in the foreground (so you will want this in it's own window) Use the jboss command. To stop it use Ctrl-C in that same window, or the nojboss command from another.

        $ jboss

      Advanced Topics:

    9. Build and deploy the DAQ-PROD meta-project
    10. Deploy the IceAxe Portal

    This page maintained by Martin Stoufer
    Page last modified: