Uploaded image for project: 'Geronimo'
  1. Geronimo
  2. GERONIMO-6174

Environment variables being set in bin/geronimo does not account for named server instances

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: 3.0.0
    • Fix Version/s: 3.0.0, 3.0-beta-2
    • Component/s: startup/shutdown
    • Security Level: public (Regular issues)
    • Labels:
    • Environment:

      Linux x86, Red Hat Enterprise Linux Server release 5.4 (Tikanga)

      Description

      I have been able to workaround these two issues by setting properties.

      Questions:
      1A) But should these properties be dynamically set relative to the named instance directory instead of GERONIMO_HOME?
      1B) Or do we require the user to explicitly set these in the environment in order to start a named instance?
      2) Does setting karaf.home in GERONIMO_OPTS as relative to the named instance directory instead of GERONIMO_HOME potentially cause any other issues?

      To produce these issues follow these steps:

      1. Unpack the latest Geronimo javaee6 bundle as /opt/geronimo3
      2. Create a Geronimo named instance directory as /opt/geronimo3/gserv1
      3. Move the directories var, etc, and repository into /opt/geronimo3/gserv1
      4. Use this start script

      #!/bin/bash
      GHOME=/opt/geronimo3
      GVIRT=gserv1
      
      # Must change to the server directory in order to work around ActiveMQ lock
      # file conflict issue reported in GERONIMO-5987.
      cd ${GHOME}/${GVIRT}
      
      # Uncomment for the Workaround of issue #1
      #export GERONIMO_TMPDIR=${GHOME}/${GVIRT}/var/temp
      #
      
      # Uncomment for the Workaround of issue #2
      #GERONIMO_OPTS="${GERONIMO_OPTS} -Dkaraf.home=${GHOME}/${GVIRT}"
      #
      
      GERONIMO_OPTS="${GERONIMO_OPTS} -Dorg.apache.geronimo.server.name=${GVIRT}"
      export GERONIMO_OPTS
      ${GHOME}/bin/geronimo run
      

      1) GERONIMO_TMPDIR
      On startup, the `bin/geronimo` startup script sets GERONIMO_TMPDIR explicitly as
      $GERONIMO_HOME/var/temp , but the actual temp directory is really

      {org.apache.geronimo.server.dir}

      /var/temp (or
      $GERONIMO_HOME/

      {org.apache.geronimo.server.name}

      /var/temp)
      It does not account for the cases where an instance is being started.

      [user@system gserv1]# ./start.sh 
      Using GERONIMO_HOME:   /opt/geronimo3
      Using GERONIMO_TMPDIR: /opt/geronimo3/var/temp
      Using JRE_HOME:        /usr/jdk1.6.0/jre
      Error launching framework: java.lang.IllegalArgumentException: Invalid temporary directory. The '/opt/geronimo3/var/temp' path does not exist.
      

      The workaround is to specifically specify GERONIMO_TMPDIR in your environment
      before starting the instance.

      2) karaf.home
      On startup, the `bin/geronimo` script sets karaf.home explicitly as
      $GERONIMO_HOME . Karaf expects to use

      {karaf.home}

      /etc/shell.init.script each
      time a shell session is started (See:
      geronimo/server/trunk/framework/configs/karaf-framework/src/main/distribution/text/etc/system.properties).
      The setting of the karaf.home property in `bin/geronimo` does not account for
      the cases where a Geronimo named instance is being started.

      [root@rglaue7 gserv1]# ./start.sh 
      Using GERONIMO_HOME:   /opt/geronimo3
      Using GERONIMO_TMPDIR: /opt/geronimo3/gserv1/var/temp
      Using JRE_HOME:        /usr/jdk1.6.0/jre
                                                                
           ______                       _                       
          / ____/___  _________  ____  (_)____ ___  ____        
         / / __ / _ \/ ___/ __ \/ __ \/ // __ `__ \/ __ \  
        / /_/ //  __/ /  / /_/ / / / / // / / / / / /_/ /       
        \____/ \___/_/   \____/_/ /_/_//_/ /_/ /_/\____/    
      
        Apache Geronimo (3.0-SNAPSHOT)
      
      Hit '<tab>' for a list of available commands
      and '[cmd] --help' for help on a specific command.
      Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown Geronimo.
      
      Error in initialization script: /opt/geronimo3/etc/shell.init.script (No such file or directory)
      ... snip ...
      

      The workaround is to set karaf.home in GERONIMO_OPTS before starting the instance.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rglaue Russell E Glaue
                Reporter:
                rglaue Russell E Glaue
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: