Bug 828165

Summary: Torquebox Installation section does not contain information on installing Torquebox on EAP
Product: [Retired] JBoss Enterprise WFK Platform 2 Reporter: Oliver Kišš <okiss>
Component: doc-TorqueBox-User-GuideAssignee: Isaac Rooskov <irooskov>
Status: CLOSED NEXTRELEASE QA Contact: Karel Piwko <kpiwko>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 2.0.0.ER7CC: bbrownin, kpiwko, mnovotny, myarboro, oskutka, yshao
Target Milestone: ---   
Target Release: 2.1.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-09-25 11:29:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Oliver Kišš 2012-06-04 11:43:36 UTC
Torquebox Installation section of the user guide does not contain information on installing Torquebox on EAP.

Comment 1 Ben Browning 2012-06-04 19:13:55 UTC
Here's the steps I was able to take today to install TorqueBox from WFK ER7 on top of EAP ER8. I can place the instructions below into some readme.txt if you let me know where that should go.


* WFK 2.0.0 ER7 TorqueBox Installation

** Download and unzip jboss-eap-6.0.0.ER8.zip
wget http://download.devel.redhat.com/devel/candidates/JBEAP/JBEAP-6.0.0-ER8/jboss-eap-6.0.0.ER8.zip
unzip jboss-eap-6.0.0.ER8.zip
export JBOSS_HOME=`pwd`/jboss-eap-6.0
export TORQUEBOX_HOME=$JBOSS_HOME

** Download and unzip jboss-wfk-2.0.0.ER7-torquebox-bin.zip
wget http://download.devel.redhat.com/devel/candidates/JBWFK/2.0.0.ER7/jboss-wfk-2.0.0.ER7-torquebox-bin.zip
unzip jboss-wfk-2.0.0.ER7-torquebox-bin.zip

** Install torquebox modules
cp -r jboss-wfk-2.0.0.ER7/torquebox-2.0.3.redhat.1/modules/org/torquebox jboss-eap-6.0/modules/org/

** Download polyglot-hasingleton-1.5.3-redhat-1-module.zip
wget http://download.devel.redhat.com/brewroot/repos/jb-wfk-2-rhel-6-build/latest/maven/org/projectodd/polyglot-hasingleton/1.5.3-redhat-1/polyglot-hasingleton-1.5.3-redhat-1-module.zip

** Install polyglot module
mkdir -p jboss-eap-6.0/modules/org/projectodd/polyglot/hasingleton/main
unzip polyglot-hasingleton-1.5.3-redhat-1-module.zip -d jboss-eap-6.0/modules/org/projectodd/polyglot/hasingleton/main/

** munge standalone-full.xml
Add the following new bits to jboss-eap-6.0/standalone/configuration/standalone-full.xml:

New extensions:
        <extension module='org.torquebox.bootstrap'/>
        <extension module='org.torquebox.core'/>
        <extension module='org.torquebox.cache'/>
        <extension module='org.torquebox.cdi'/>
        <extension module='org.torquebox.jobs'/>
        <extension module='org.torquebox.messaging'/>
        <extension module='org.torquebox.security'/>
        <extension module='org.torquebox.services'/>
        <extension module='org.torquebox.stomp'/>
        <extension module='org.torquebox.web'/>
        <extension module='org.projectodd.polyglot.hasingleton'/>

New subsystems:
        <subsystem xmlns='urn:jboss:domain:torquebox-bootstrap:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-core:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-cache:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-cdi:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-jobs:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-messaging:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-security:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-services:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-stomp:1.0' socket-binding='stomp'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-web:1.0'/>
        <subsystem xmlns='urn:jboss:domain:polyglot-hasingleton:1.0'/>

New socket-binding:
        <socket-binding name='stomp' port='8675'/>

** Download and unzip JRuby 1.6.7.2
wget http://jruby.org.s3.amazonaws.com/downloads/1.6.7.2/jruby-bin-1.6.7.2.zip
unzip jruby-bin-1.6.7.2.zip
export JRUBY_HOME=`pwd`/jruby-1.6.7.2
export PATH=$JRUBY_HOME/bin:$PATH

** Install torquebox gems
pushd jboss-wfk-2.0.0.ER7/torquebox-2.0.3.redhat.1/torquebox-rubygems-repo/gems/
jruby -S gem install torquebox-2.0.3.redhat.1.gem
popd

** Boot EAP 6 w/ standalone-full profile
$JBOSS_HOME/bin/standalone.sh --server-config=standalone-full.xml

A few key lines to look for in the logs to ensure everything booted
correctly:

15:08:44,800 INFO  [org.torquebox.core.as] Welcome to TorqueBox AS - http://torquebox.org/
15:08:44,802 INFO  [org.torquebox.core.as]   version........... 2.0.3.redhat.1
15:08:44,803 INFO  [org.torquebox.core.as]   build............. official
15:08:44,803 INFO  [org.torquebox.core.as]   revision.......... da4bf2efc7aa34b0bb67d01fc6cb6f0a8ad296f9
15:08:44,803 INFO  [org.torquebox.core.as]   built with:
15:08:44,807 INFO  [org.torquebox.core.as]     HornetQ......... 2.2.16.Final (HQ_2_2_16_FINAL, 122)
15:08:44,808 INFO  [org.torquebox.core.as]     JBossAS......... 7.1.2.Final-redhat-1
15:08:44,808 INFO  [org.torquebox.core.as]     Infinispan...... 5.1.4.FINAL
15:08:44,808 INFO  [org.torquebox.core.as]     Quartz.......... 1.8.5
15:08:44,808 INFO  [org.torquebox.core.as]     JRuby........... 1.6.7.2

....


15:08:47,582 INFO  [org.torquebox.core.runtime] (MSC service thread 1-8) Created ruby runtime (ruby_version: RUBY1_8, compile_mode: JIT, context: global) in 1.94s

Comment 2 Karel Piwko 2012-06-05 08:12:42 UTC
According to the PM call, it would be sufficient to include a readme.txt/md file in the distribution.

Comment 3 Oliver Kišš 2012-06-05 11:39:21 UTC
> unzip jboss-eap-6.0.0.ER8.zip
> export JBOSS_HOME=`pwd`/jboss-eap-6.0
> export TORQUEBOX_HOME=$JBOSS_HOME

Is this correct? Documentation for the community version says that TORQUEBOX_HOME is parent directory of JBOSS_HOME, not the same directory (http://torquebox.org/documentation/2.0.3/installation.html#unzip-the-package).

Comment 4 Marek Novotny 2012-06-05 20:08:58 UTC
(In reply to comment #3)
> > unzip jboss-eap-6.0.0.ER8.zip
> > export JBOSS_HOME=`pwd`/jboss-eap-6.0
> > export TORQUEBOX_HOME=$JBOSS_HOME
> 
> Is this correct? Documentation for the community version says that
> TORQUEBOX_HOME is parent directory of JBOSS_HOME, not the same directory
> (http://torquebox.org/documentation/2.0.3/installation.html#unzip-the-
> package).

we don't bundle jboss AS in torquebox distribution so that is different from community distribution and that env. variable is correct

Comment 5 Rebecca Newton 2012-06-12 05:01:06 UTC
I can probably slip this into the guide itself easily enough and I think it's important to have in an easy-to-access place. The readme can still ship with the distro though.

Some guidance on how to incorporate this bug would be greatly appreciated though: https://bugzilla.redhat.com/show_bug.cgi?id=817641

Thanks a million!

Comment 6 Karel Piwko 2012-06-12 10:52:02 UTC
Bec, I guess that content should look like:

* WFK 2.0.0 GA TorqueBox Installation

** Download and unzip jboss-eap-6.0.0.GA.zip from CSP
unzip jboss-eap-6.0.0.GA.zip
export JBOSS_HOME=`pwd`/jboss-eap-6.0
export TORQUEBOX_HOME=$JBOSS_HOME

** Download and unzip jboss-wfk-2.0.0.GA-torquebox-bin.zip from CSP
unzip jboss-wfk-2.0.0.GA-torquebox-bin.zip

** Install torquebox and polyglot-hasingleton modules
cp -r jboss-wfk-2.0.0.GA/torquebox-2.0.3.redhat.1/modules/org/torquebox jboss-eap-6.0/modules/org/

** Download polyglot-hasingleton-1.5.3-redhat-1-module.zip
mkdir -p jboss-eap-6.0/modules/org/projectodd/polyglot/hasingleton/main
unzip polyglot-hasingleton-1.5.3-redhat-1-module.zip -d jboss-eap-6.0/modules/org/projectodd/polyglot/hasingleton/main/

** munge standalone-full.xml
Add the following new bits to jboss-eap-6.0/standalone/configuration/standalone-full.xml:

New extensions:
        <extension module='org.torquebox.bootstrap'/>
        <extension module='org.torquebox.core'/>
        <extension module='org.torquebox.cache'/>
        <extension module='org.torquebox.cdi'/>
        <extension module='org.torquebox.jobs'/>
        <extension module='org.torquebox.messaging'/>
        <extension module='org.torquebox.security'/>
        <extension module='org.torquebox.services'/>
        <extension module='org.torquebox.stomp'/>
        <extension module='org.torquebox.web'/>
        <extension module='org.projectodd.polyglot.hasingleton'/>

New subsystems:
        <subsystem xmlns='urn:jboss:domain:torquebox-bootstrap:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-core:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-cache:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-cdi:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-jobs:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-messaging:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-security:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-services:1.0'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-stomp:1.0' socket-binding='stomp'/>
        <subsystem xmlns='urn:jboss:domain:torquebox-web:1.0'/>
        <subsystem xmlns='urn:jboss:domain:polyglot-hasingleton:1.0'/>

New socket-binding:
        <socket-binding name='stomp' port='8675'/>

** Download and unzip JRuby 1.6.7.2
wget http://jruby.org.s3.amazonaws.com/downloads/1.6.7.2/jruby-bin-1.6.7.2.zip
unzip jruby-bin-1.6.7.2.zip
export JRUBY_HOME=`pwd`/jruby-1.6.7.2
export PATH=$JRUBY_HOME/bin:$PATH

** Install torquebox gems

JBoss WFK comes with a distribution of Ruby gems located in jboss-wfk-2.0.0.GA/torquebox-2.0.3.redhat.1/torquebox-rubygems-repo/gems directory.

The user who installs gems manually can use a command involving the --pre flag with a generic name:

  jruby -S gem install --pre torquebox-messaging

It is also possible to skip the --pre flag and specify just a distinct -v for version:

  jruby -S gem install torquebox-messaging -v 2.0.3.redhat.1

Without these steps, assuming the user includes RubyGems.org (akin to Maven central), the community versions will be grabbed, as RubyGems.org hosts them, and they are considered non-pre.

For users using Gemfiles, they can add the appropriate source URL, and version specifier.  The "spermy" operator may be used to selectively grab the latest 2.0.2.redhat.WHATEVER version:

# Source to user-hosted repository
source 'http://internal-rubygems-repo.mycorp.com"

# Regular RubyGems.org central repository
source :rubygems

# Grab a very specific version of 2.0.2.redhat.1
gem "torquebox-messaging", '2.0.2.redhat.1'

# Grab the "latest" 2.0.2.redhat series 
gem "torquebox-capistrano-support", '~> 2.0.0.redhat'

# Use rails from RubyGems.org
gem "rails", '3.1.1'

Before continuing with next step, you need to install torquebox-2.0.3.redhat.1.gem:

pushd jboss-wfk-2.0.0.ER7/torquebox-2.0.3.redhat.1/torquebox-rubygems-repo/gems/
jruby -S gem install torquebox-2.0.3.redhat.1.gem
popd

** Boot EAP 6 w/ standalone-full profile
$JBOSS_HOME/bin/standalone.sh --server-config=standalone-full.xml

A few key lines to look for in the logs to ensure everything booted
correctly:

15:08:44,800 INFO  [org.torquebox.core.as] Welcome to TorqueBox AS - http://torquebox.org/
15:08:44,802 INFO  [org.torquebox.core.as]   version........... 2.0.3.redhat.1
15:08:44,803 INFO  [org.torquebox.core.as]   build............. official
15:08:44,803 INFO  [org.torquebox.core.as]   revision.......... da4bf2efc7aa34b0bb67d01fc6cb6f0a8ad296f9
15:08:44,803 INFO  [org.torquebox.core.as]   built with:
15:08:44,807 INFO  [org.torquebox.core.as]     HornetQ......... 2.2.16.Final (HQ_2_2_16_FINAL, 122)
15:08:44,808 INFO  [org.torquebox.core.as]     JBossAS......... 7.1.2.Final-redhat-1
15:08:44,808 INFO  [org.torquebox.core.as]     Infinispan...... 5.1.4.FINAL
15:08:44,808 INFO  [org.torquebox.core.as]     Quartz.......... 1.8.5
15:08:44,808 INFO  [org.torquebox.core.as]     JRuby........... 1.6.7.2

....


15:08:47,582 INFO  [org.torquebox.core.runtime] (MSC service thread 1-8) Created ruby runtime (ruby_version: RUBY1_8, compile_mode: JIT, context: global) in 1.94s

Comment 10 Oliver Kišš 2012-06-14 11:25:26 UTC
Yes, you can replace that.

Comment 11 Rebecca Newton 2012-06-20 03:57:50 UTC
Hey guys, I have made this update. It'll be on stage soon, here: http://documentation-stage.bne.redhat.com/docs/en-US/JBoss_Web_Framework_Kit/2/html/TorqueBox_User_Guide/index.html 

Please read over it and let me know if it makes sense! Thanks!

Comment 12 Marek Novotny 2012-06-20 08:20:12 UTC
All looks fine, except my original edited and Karel's copy of text has got GA in file name zips and directory name. Please remove them and use instead only jboss-wfk-2.0.0-torquebox-bin.zip 
or
cp -r jboss-wfk-2.0.0/torquebox-2.0.3.redhat.1/modules/org/torquebox jboss-eap-6.0/modules/org/

Thanks and sorry for confusion.

Comment 13 Ben Browning 2012-06-20 15:17:55 UTC
The heading "Procedure 2.3. Install TorqueBox and polyglot modules" should just be "Procedure 2.3. Install TorqueBox modules" and the #2 command under that heading should be removed since the polyglot module is now shipped inside the TorqueBox modules. The command for #1 is now just 'cp -r jboss-wfk-2.0.0/torquebox-2.0.3.redhat.1/modules/org jboss-eap-6.0/modules/' as taken directly from torquebox-installation.txt in the TorqueBox WFK binary zip.

There's also a place later down where it shows WFK ER7 when installing TorqueBox gems that should instead show wfk 2.0.0.

Comment 14 Rebecca Newton 2012-06-24 23:48:03 UTC
Right, I think I've got all this. The new version will be available on stage by the time you get this.

Comment 15 Karel Piwko 2012-07-02 06:29:44 UTC
(In reply to comment #14)
> Right, I think I've got all this. The new version will be available on stage
> by the time you get this.

Procedure 2.2: 

Correct WFK Torquebox zip name is:

    jboss-wfk-2.0.0-torquebox-tech-preview-bin.zip

Procedure 2.3:

Correct copy command (needs to copy both torquebox and projectodd modules) is:

    cp -r jboss-wfk-2.0.0/torquebox-2.0.3.redhat.1/modules jboss-eap-6.0/

For the sake of sanity, all single quotes (') should be replaced with double quotes ("). XML does not care, but all double quotes are the default in standalone-full.xml

Procedure 2.5:

Step 4: Please replace '2.0.2' with '2.0.3' for every occurrence to reflect that 2.0.3 is the latest stream (e.g. 2.0.2.redhat.1 should be replaced with 2.0.3.redhat.1)

Comment 16 Karel Piwko 2012-07-02 08:49:36 UTC
Thanks Bec, the content is fine now, moving to VERIFIED state.

Comment 17 Karel Piwko 2012-09-24 14:50:36 UTC
Rescheduled to WFK 2.1.0. The content was VERIFIED after 2.0.0.GA.

Comment 19 Karel Piwko 2012-09-25 11:29:54 UTC
Verified content was fixed on http://documentation-devel.engineering.redhat.com/docs/en-US/JBoss_Web_Framework_Kit/2/html/TorqueBox_User_Guide/installation.html.

Closing as NEXTRELEASE.