summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAidan Skinner <aidan@apache.org>2008-06-02 18:07:05 +0000
committerAidan Skinner <aidan@apache.org>2008-06-02 18:07:05 +0000
commita9613a8b37da94a2ad0db8c500970ed09c46480b (patch)
tree5c76c4adf4c1426aa1bab489f12ff9d22abb3d6d
parent3697c08d5143787977c116a2861b0ec78c149c56 (diff)
downloadqpid-python-a9613a8b37da94a2ad0db8c500970ed09c46480b.tar.gz
Remove old doc
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/forrest-site@662503 13f79535-47bb-0310-9956-ffa450edef68
-rwxr-xr-xcontent/xdocs/SourceHandling.xml852
1 files changed, 0 insertions, 852 deletions
diff --git a/content/xdocs/SourceHandling.xml b/content/xdocs/SourceHandling.xml
deleted file mode 100755
index 75a445bd1a..0000000000
--- a/content/xdocs/SourceHandling.xml
+++ /dev/null
@@ -1,852 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
- "http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd">
-<article>
- <title>Source Handling Process</title>
- <section>
- <title>Source handling</title>
- <para>
- The JPMC Qpid project involves a lot of code spread across a number of repositories. To safely manage the
- code that we build internally we must take several steps to guarrantee its quality. This document details
- the processes and procedures we have put in place to guarrantee the code is accurately stored and the binary
- builds are repeatable.
- </para>
-
- <para>Currently our source tree is built using three source repositories:</para>
- <itemizedlist>
- <listitem>JPMC : http://subversion.ny.jpmorgan.com/svn/repos/IBTAMQ/</listitem>
- <listitem>Apache : https://svn.apache.org/repos/asf/incubator/qpid/</listitem>
- <listitem>JBoss : https://svn.jboss.org/repos/rhmessaging/store/</listitem>
- </itemizedlist>
- <para>
- To alleviate the headache of checking out the source from the correct branch of each repository we have
- created a number of svn-external structures on the JPMC reposititory that pull together all the code in a
- single svn checkout command. This simplicity doesn't come without pit falls. It is important to remember
- that the code is still from each of the individual repositories and that svn commands will only affect the
- repository of the current directory. For example if you are in the bdbstore directory an _svn commit_ will
- only commit the bdbdstore code. This is what you would expect as _svn commit_ does not progress up the
- directory tree. However, if you are qpid root and perform any svn command the bdbdstore and the
- JPMC-distribution directories will not be included as they are not part of the Apache repository. The only
- command that will affect all code is performing an _update_ in the top directory as checked out from the
- svn-external location. It would update all three repositories.
- </para>
-
- <para>
- What now follows is a number of sections that cover source control process through the various development
- phases. This docuement assumes that you are familar and have installed both a subversion client and maven.
- Further details for these products can be found here:
- Cygwin(LINK), Subversion(LINK), TortoiseSVN(LINK) and Maven(LINK)
- </para>
-
- <para>
- All Developers should have a local copy of all release performed by the team for support duties. This copy
- should be located on the root of your windows machine due to the extremely long path values that will cause
- svn to fail on a windows file system.
- </para>
-
- <note>
- <title>Checkout the release sources</title>
- <programlisting>
- <![CDATA[
-$cd /cygdrive/c/
-$svn co http://subversion.ny.jpmorgan.com/svn/repos/IBTAMQ/trunk/src
-]]>
- </programlisting>
- This will pull down the sources for all the releases we have performed. (Since 2.1.0.4) Prior to this point
- we
- did not store the full source code internaly.
- </note>
-
- </section>
-
- <section>
- <title>Getting the initial source checkout.</title>
-
- <para>
- The svn-external directories located in the JPMC NY subversion repsoitory:
- <emphasis>http://subversion.ny.jpmorgan.com/svn/repos/IBTAMQ/trunk/svn-external/</emphasis>
- </para>
- <note>
- <title>Available svn-external checkouts</title>
- <itemizedlist>
- <listitem>v2.1.x - Corresponds to the Apache M2 branch</listitem>
- <listitem>v2.2.x - Corresponds to the Apache M2.1 branch</listitem>
- <listitem>v3.x - Corresponds to the Apache trunk</listitem>
- </itemizedlist>
- </note>
-
- <note>
- <title>Perform the checkout</title>
- <programlisting>
- <![CDATA[
-$cd <your chosen development area>
-$svn co http://subversion.ny.jpmorgan.com/svn/repos/IBTAMQ/trunk/svn-external/v2.2.x
-]]>
- </programlisting>
- This will checkout the code from all three repositories with the cavet that you must login for the JBoss
- repository
- to get the BDBStore module.
- <emphasis>You will need to have a JBoss account that has the correct permissions for the bdbstore component.
- The rest of the code will still succeed if you don't.
- </emphasis>
- </note>
- </section>
-
- <section>
- <title>Building and developing the product.</title>
-
- <note>
- Further details on developing and build process can be found here (LINK). But to validate your checkout you
- should
- can follow these steps:
- <programlisting>
- <![CDATA[
-$cd <your chosen development area>
-$cd v2.2.x
-$cd qpid/java
-$mvn
-]]>
- </programlisting>
- This will build the Apache java code base. When complete a final mvn will build the bdbstore:
- <programlisting>
- <![CDATA[
-$cd bdbstore
-$mvn
-]]>
- </programlisting>
- </note>
- </section>
-
-
- <section>
- <title>Create UAT/Release repository</title>
-
- <para>
- The code
- <emphasis>must</emphasis>
- come from a clean source so the previous step for getting the source must be
- carried out as a pre-requisite to this step.
- </para>
-
- <para>
- This section explains the steps to bring the new release code into JPMC for UAT before release. If you are
- peforming
- a patch or additions to a previously released release then skip to the next section.
- </para>
-
- <para>
- AS: We shouldn't use tortoise for any of this, needs to be followable on Linux.
-
- I did:
- <programlisting>
- svn co http://subversion.ny.jpmorgan.com/svn/repos/IBTAMQ/trunk/svn-external/v2.2.x
- rm -rf `find -name .svn -type d`
- cd v2.2.x
- svn co -N http://subversion.ny.jpmorgan.com/svn/repos/IBTAMQ/trunk/src
- mv ApacheM2.1 src/2.2.1.0-rc1
- cd src
- svn add 2.2.1.0-rc1
- svn commit -m 'Import 2.2.1.0-rc1 Source'
- cd 2.2.1.0-rc1
- svn copy http://subversion.ny.jpmorgan.com/svn/repos/IBTAMQ/trunk/src/2.1.0.7/java/JPMC-distribution/repos/2.1.0.7/ http://subversion.ny.jpmorgan.com/svn/repos/IBTAMQ/trunk/src/2.2.1.0-rc1/qpid/java/JPMC-distribution/repos/2.2.1.0-rc1
- svn up
- cd qpid/java/JPMC-distribution/DAM
- ./build.sh 2.2.1.0-rc1
- cd ../DAM-client-slf4j/
- ./build.sh 2.2.1.0-rc1
- cd ../../../../
- svn commit -m # the POMS
- cd qpid/java/JPMC-distribution/DAM
- ./build.sh 2.2.1.0-rc1
- cd ../DAM-client-slf4j/
- ./build.sh 2.2.1.0-rc1
- </programlisting>
-
- </para>
-
-
- <orderedlist>
- <listitem>
- Check out current dev tree svn-external. :
- $svn co http://subversion.ny.jpmorgan.com/svn/repos/IBTAMQ/trunk/svn-external/v2.2.x
- </listitem>
- <listitem>Locate newly created checkout : $cd v2.2.x then $explorer .</listitem>
- <listitem>
- TortoiseSVN allows you to export this new repository so it can be added as a new source tree.
- </listitem>
- <listitem>
- Right click and drag folder (ApacheM2.1) to your release src checkout the folder choosing 'SVN Export
- All to
- here'
- This removes all .svn folders so it can be re-added to the NY SVN repository.
- </listitem>
- <listitem>Rename ApacheM2.1 to the next release number (2.2.1.0)</listitem>
- <listitem>Right click on the new 2.2.1.0 source tree and select TortoiseSVN -> Add. This will add all the
- new
- files to svn.
- </listitem>
- <listitem>
- Right click on the new 2.2.1.0 source tree and select Commit. Complete the commit log with the required
- JIRA
- ID.
- This will commit the new files to the repository.
- </listitem>
- <listitem>
- Open the repo directory src/2.2.1.0/qpid/java/JPMC-distribution/repos and the previous release
- repo directory src/2.1.0.7/qpid/java/JPMC-distribution/repos.
- </listitem>
- <listitem>
- Right click and drag the previous svn repository to the new release tree.
- Select 'SVN Copy and rename versioned file here'. Enter the new release name '2.2.1.0'
- </listitem>
- <listitem>
- Right click on the new 2.2.1.0 repo and select Commit. Complete the commit log with the required JIRA
- ID.
- This will commit the previous libraries to the repository. This ensures we can detect
- <empahsis>ANY</empahsis>
- library change between releases
- </listitem>
- <listitem>
- The final step is to record the revision number of both the Apache and JBoss repositories.
- </listitem>
- </orderedlist>
-
- <para>
- These steps ensure that we have an accurate snapshot of the external code base. Incuding monitoring to
- ensure
- our
- libraries have not changed. If you intend to create a build for testing you may skip the next section.
- </para>
- </section>
-
- <section>
- <title>Extending a release into a DEV stage.</title>
- <para>
- This section explains how to setup the source to perform a patch or addition on a previously released
- release.
- If you need to bring new code into JPMC for UAT before release then skip to the previous section.
- </para>
-
- <para>
- When performing this you must ensure that you have a clean local copy the simplist way to do this is to
- ensure the
- output from a status is clean:$svn status
- </para>
-
- <orderedlist>
- <listitem>
- Using the TortoiseSVN repo-browser navigate to:
- http://subversion.ny.jpmorgan.com/svn/repos/IBTAMQ/trunk/src
- </listitem>
- <listitem>Locate the source tree that will be used as the basis for this new release (2.1.0.7)</listitem>
- <listitem>Right click on the source that forms the basis and select 'Copy to...'.</listitem>
- <listitem>Enter the new revision number (2.1.0.8)</listitem>
- <listitem>Provide the correctly formatted commit log including JIRA ID.</listitem>
- <listitem>
- Using the repo-browser again navigate to the repo directory
- src/2.1.0.8/qpid/java/JPMC-distribution/repos
- </listitem>
- <listitem>
- Right click on the old repo 2.1.0.7 and select Rename. Enter the new release name '2.1.0.8'
- </listitem>
- <listitem>Provide the correctly formatted commit log including JIRA ID.</listitem>
- <listitem>
- You can now check out this dev tree using :
- $svn co http://subversion.ny.jpmorgan.com/svn/repos/IBTAMQ/trunk/src/2.1.0.8
- </listitem>
- </orderedlist>
-
- <para>
- These steps ensure that we have an accurate copy of a previously released code base. Incuding monitoring to
- ensure
- our
- libraries have not changed. This DEV stage code solely located on the internal repository so there are no
- concerns
- about external code reviews or commiting code to a variety of repositories.
- </para>
- </section>
-
- <section>
- <title>Create a build candidate</title>
- <para>
- <emphasis>Requires tidying up based on discussion with Chris Hardy from DEI.</emphasis>
- </para>
- <para>Each 'code line' contains the 'JPMC Distribution' which we use to create the required targets. As maven is
- used to perform these builds we must store all the jars that it uses to perform the build. This will ensure
- that we can accurately repeat the build process.
- </para>
-
- <orderedlist>
- <listitem>Use svn copy to copy take a copy of the previous svn-repository, ensure that the copy is has the
- correct name<emphasis>&lt;version&gt;-RC&lt;number&gt;</emphasis>, if this is a new RC simply rename the
- previous RC.
- </listitem>
- <listitem>Update the file
- <emphasis>VERSION</emphasis>
- in the 'JPMC Distribution' directory
- </listitem>
- <listitem>Run the build script ('build.sh') located in the required package.</listitem>
- <listitem>When the build successfuly completes check in the new RC build repository to ensure it can be
- recreated.
- </listitem>
- <listitem>Ensure your repository is up to date.</listitem>
- <listitem>Run the rebuild script ('rebuild.sh') to generate the final release artifacts.</listitem>
- </orderedlist>
-
- <para>Build outputs for use in JPMC</para>
- <variablelist>
- <varlistentry>
- <term>qpid-&lt;version&gt;.tgz</term>
- <listitem>Server DAM package</listitem>
- </varlistentry>
- <varlistentry>
- <term>qpid-&lt;version&gt;-client-slf4j.tgz</term>
- <listitem>Client DAM package</listitem>
- </varlistentry>
- </variablelist>
- </section>
-
-
- <section>
- <title>Validate the build candidate</title>
- <para>This is a vital step to ensure that valuable testing time is not lost. The newly built candiate should
- have the following tests performed to validate the artifact created by the build process. The validate steps
- vary depending on the artifact created.
- </para>
-
- <section>
- <title>Validating a Server DAM Artifact</title>
- <note>
- <title>Copy package to unix server</title>
- <programlisting>
- <![CDATA[
-$scp qpid-<version>.tgz <username>@noc-qpiddev01.jpmorganchase.com:.
-]]>
- </programlisting>
- </note>
- <note>
- <title>Move to unix server</title>
- <programlisting>
- <![CDATA[
-$ssh -l username noc-qpiddev01.jpmorganchase.com
-]]>
- </programlisting>
- </note>
- <note>
- <title>Unpack artifact</title>
- <programlisting>
- <![CDATA[
-$ tar xzf qpid-<version>.tgz
-]]>
- </programlisting>
- </note>
- <note>
- <title>Validate contents of bin directory</title>
-
- <para>
- <emphasis>Validate all files bin files in bin directory are executable.</emphasis>
- </para>
-
- <para>Ensure bin directory contains qpid_env.sh and qpid_env.csh</para>
- <programlisting>
- <![CDATA[
-$ ls qpid-<version>/bin
-msTool.sh qpid_env.sh qpid-run qpid-server.bat qpid.start qpid.stopall run.bat
-qpid_env.csh qpid-passwd qpid-server qpid-server-bdb.bat qpid.stop runAll run.sh
-]]>
- </programlisting>
-
- <para>
- <emphasis>Validate all files bin directory have unix line endings.</emphasis>
- </para>
-
- <para>A suitable grep will do the trick. Only .bat files should be listed.
- </para>
-
- <programlisting>
- <![CDATA[
-$ grep -Pl '\r\n' bin/*
-]]>
- </programlisting>
-
- </note>
-
- <note>
- <title>Validate the build location was clean.</title>
- <example>
- <title>Check contents of SVNREV.txt</title>
- <programlisting>
- <![CDATA[
-$ cat SVNREV.txt
-#Fri Nov 16 14:56:15 GMT 2007
-qpid.version=qpid-2.1.0.4
-qpid.svnversion=717
-qpid.builtby=E151839
-qpid.name=Qpid DAM
-]]>
- </programlisting>
- <para>Note that the svnversion number is a single number.</para>
- </example>
- <example>
- <title>Check contents of Qpid jars</title>
- <programlisting>
- <![CDATA[
-$ cd lib
-$ jar xf qpid-common-2.1.0.4.jar qpidversion.properties
-$ cat qpidversion.properties
-#Fri Nov 16 14:54:38 GMT 2007
-qpid.version=2.1.0.4
-qpid.svnversion=717
-qpid.name=Qpid Common Utilities
-]]>
- </programlisting>
- <para>Note again that the svnversion number is a single number. This should be repeated for all qpid
- jars.
- </para>
- </example>
- </note>
- <note>
- <title>Ensure the number of libs has not increased due to a dependency change.</title>
- <programlisting>
- <![CDATA[
-$ ls qpid-2.1.0.4/libs
-backport-util-concurrent-2.2.jar commons-logging-api-1.0.4.jar qpid-broker-2.1.0.4.jar
-berkeleydb-je-3.2.42.jar dom4j-1.4.jar qpid-common-2.1.0.4.jar
-commons-beanutils-1.6.jar isorelax-20020414.jar qpid-incubating.jar
-commons-beanutils-core-1.7.0.jar jaxen-1.0-FCS.jar relaxngDatatype-20020414.jar
-commons-cli-1.0.jar jmxremote_optional-1.0.1_04.jar saxpath-1.0-FCS.jar
-commons-codec-1.3.jar log4j-1.2.12.jar servlet-api-2.3.jar
-commons-collections-3.1.jar mina-core-1.0.0.jar slf4j-api-1.4.0.jar
-commons-configuration-1.2.jar mina-filter-ssl-1.0.0.jar slf4j-log4j12-1.4.0.jar
-commons-digester-1.6.jar mina-java5-1.0.0.jar xalan-2.7.0.jar
-commons-lang-2.1.jar msv-20020414.jar xercesImpl-2.2.1.jar
-commons-logging-1.0.jar qpid-bdbstore-2.1.0.4.jar xml-apis-1.0.b2.jar
-
-$ ls qpid-2.1.0.7/lib/
-backport-util-concurrent-2.2.jar commons-logging-api-1.0.4.jar qpid-mina-core-2.1.0.7.jar
-berkeleydb-je-3.2.42.jar jmxremote_optional-1.0.1_04.jar qpid-mina-filter-ssl-2.1.0.7.jar
-commons-cli-1.0.jar log4j-1.2.12.jar qpid-mina-java5-2.1.0.7.jar
-commons-codec-1.3.jar qpid-bdbstore-2.1.0.7.jar slf4j-api-1.4.0.jar
-commons-collections-3.1.jar qpid-broker-2.1.0.7.jar slf4j-log4j12-1.4.0.jar
-commons-configuration-1.2.jar qpid-common-2.1.0.7.jar xalan-2.7.0.jar
-commons-lang-2.1.jar qpid-incubating.jar
-]]>
- </programlisting>
- <para>If the number has changed then explain the change and update this document.</para>
- <para>Count 33. (Version:2.1.0.4).</para>
- <para>Count 20. (Version:2.1.0.7). Removed un-used transitive dependancies pulled in via maven.</para>
- </note>
-
- <note>
- <title>Add new artifact location to softdefs</title>
- <programlisting>
- <![CDATA[
-$ cat >> .softdefs
-qpid:~:qpid-<version>
-<ctrl-d>
-$ cat .softdefs
-jdk:/home/release/pyrsyrel/TechRefresh/opt/jdk:1.5.0.08
-qpid:/home/pyramid/e151839/releases/:qpid-2.1.0.4
-]]>
- </programlisting>
- <para>Ensure that you only have one line starting<emphasis>qpid</emphasis>. You may have more entries
- such as
- <emphasis>jdk</emphasis>
- here, these are not required.
- </para>
- </note>
-
- <note>
- <title>Attempt to load qpid</title>
- <programlisting>
- <![CDATA[
-$ load qpid
-$ echo $QPID_HOME
-<Path-To-Release-Dir>/qpid-<version>
-]]>
- </programlisting>
- <para>The echo should show the full path to the directory of the DAM artifact to test.</para>
- </note>
- <note>
- <title>Test qpid.start</title>
- <programlisting>
- <![CDATA[
-$ qpid.start
-Setting QPID_WORK to /cygdrive/c/ritchiem/home as default
-System Properties set to -Damqj.logging.level=info -DQPID_HOME=c:\dev\svn-co\JPMC-NY-IBTAMQ\trunk\src\2.1.0.4\
-qpid\java\JPMC-distribution\DAM\target\qpid-2.1.0.4 -DQPID_WORK=c:\ritchiem\home
-Using QPID_CLASSPATH /cygdrive/c/ritchiem/home/dev/svn-co/JPMC-NY-IBTAMQ/trunk/src/2.1.0.4/qpid/java/JPMC-dist
-ribution/DAM/target/qpid-2.1.0.4/lib/qpid-incubating.jar:/cygdrive/c/ritchiem/home/dev/svn-co/JPMC-NY-IBTAMQ/t
-runk/src/2.1.0.4/qpid/java/JPMC-distribution/DAM/target/qpid-2.1.0.4/lib/bdbstore-launch.jar
-Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:-UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError
-Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
-Using configuration file c:\dev\svn-co\JPMC-NY-IBTAMQ\trunk\src\2.1.0.4\qpid\java\JPMC-distribution\DAM\target\qpid-2.1.0.4\etc\config.xml
-Configuring logger using configuration file
- c:\dev\svn-co\JPMC-NY-IBTAMQ\trunk\src\2.1.0.4\qpid\java\JPMC-distribution\DAM\target\qpid-2.1.0.4\etc\log4j.xml
-2007-11-19 11:22:07,890 WARN [main] access.AMQUserManagementMBean (AMQUserManagementMBean.java:386) -
- Access rights contains user 'admin' but there is no authentication data for that user
-2007-11-19 11:22:07,890 WARN [main] access.AMQUserManagementMBean (AMQUserManagementMBean.java:386) -
- Access rights contains user 'user' but there is no authentication data for that user
-2007-11-19 11:22:08,078 WARN [main] management.JMXManagedObjectRegistry (JMXManagedObjectRegistry.java:153) -
- JMX: Started JMXConnector server on port '8999' with security disabled
-2007-11-19 11:22:08,250 WARN [main] manager.PrincipalDatabaseAuthenticationManager (PrincipalDatabaseAuthenticationManager.java:114) -
- Unable to set order of providers.
-2007-11-19 11:22:08,281 WARN [main] manager.PrincipalDatabaseAuthenticationManager (PrincipalDatabaseAuthenticationManager.java:87) -
- No authentication specified for 'virtualhosts.virtualhost.development'. Using Default authentication manager
-2007-11-19 11:22:08,281 WARN [main] access.AccessManagerImpl (AccessManagerImpl.java:51) - No access control specified.
- Using default access controls for VirtualHost:'development'
-2007-11-19 11:22:08,296 WARN [main] manager.PrincipalDatabaseAuthenticationManager (PrincipalDatabaseAuthenticationManager.java:87) -
- No authentication specified for 'virtualhosts.virtualhost.test'. Using Default authentication manager
-2007-11-19 11:22:08,296 WARN [main] access.AccessManagerImpl (AccessManagerImpl.java:51) - No access control specified.
- Using default access controls for VirtualHost:'test'
-2007-11-19 11:22:08,296 INFO [main] server.Main (Main.java:266) - Starting Qpid Broker 2.1.0.4 build: 717
-2007-11-19 11:22:08,593 INFO [main] server.Main (Main.java:419) - Qpid.AMQP listening on non-SSL address 0.0.0.0/0.0.0.0:5672
-2007-11-19 11:22:08,593 INFO [main] server.Main (Main.java:440) - Qpid Broker Ready :2.1.0.4 build: 717
-]]>
- </programlisting>
- <para>Background this process (ctrl-z, $ bg) and test the stop methods.</para>
- </note>
- <note>
- <title>Test qpid.stop</title>
- <programlisting>
- <![CDATA[
-$ qpid.stop
-Killing All Qpid Brokers for user: 'e151839'
-Attempting to kill: java -server -Xmx1024m -Damqj.logging.level=info -DQPID_HOME=/home/pyramid/pyrsyrel/qpid/qpid-2.0.4.1
- -DQPID_WORK=/home/pyramid/e151839 org.apache.qpid.server.Main
-Waiting 1 second for 30211 to exit
-Waiting 1 second for 30211 to exit
-Done
-All Qpid brokers successfully quit
-]]>
- </programlisting>
- <para>Restart the broker for the stopall test</para>
- </note>
- <note>
- <title>Test qpid.stopall</title>
- <programlisting>
- <![CDATA[
-$ qpid.stopall
-Attempting to kill: java -server -Xmx1024m -Damqj.logging.level=info -DQPID_HOME=/home/pyramid/pyrsyrel/qpid/qpid-2.0.4.1
- -DQPID_WORK=/home/pyramid/e151839 org.apache.qpid.server.Main
-Waiting 1 second for 30651 to exit
-2007-11-19 16:38:28,017 INFO [Thread-0] registry.ApplicationRegistry$ShutdownService (ApplicationRegistry.java:61) -
- Shutting down application registries...
-2007-11-19 16:38:28,017 INFO [Thread-0] registry.ApplicationRegistry$ShutdownService (ApplicationRegistry.java:61) -
- Shutting down application registries...
-Process quit
-All Qpid brokers successfully quit
-]]>
- </programlisting>
- </note>
-
-
- <note>
- <title>Test start broker directly works</title>
-
- <programlisting>
- <![CDATA[
-$ cd $QPID_HOME/bin
-$ ./qpid-server
-Setting QPID_WORK to /cygdrive/c/ritchiem/home as default
-System Properties set to -Damqj.logging.level=info -DQPID_HOME=c:\dev\svn-co\JPMC-NY-IBTAMQ\trunk\src\2.1.0.4\
-qpid\java\JPMC-distribution\DAM\target\qpid-2.1.0.4 -DQPID_WORK=c:\ritchiem\home
-Using QPID_CLASSPATH /cygdrive/c/ritchiem/home/dev/svn-co/JPMC-NY-IBTAMQ/trunk/src/2.1.0.4/qpid/java/JPMC-dist
-ribution/DAM/target/qpid-2.1.0.4/lib/qpid-incubating.jar:/cygdrive/c/ritchiem/home/dev/svn-co/JPMC-NY-IBTAMQ/t
-runk/src/2.1.0.4/qpid/java/JPMC-distribution/DAM/target/qpid-2.1.0.4/lib/bdbstore-launch.jar
-Info: QPID_JAVA_GC not set. Defaulting to JAVA_GC -XX:-UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError
-Info: QPID_JAVA_MEM not set. Defaulting to JAVA_MEM -Xmx1024m
-Using configuration file c:\dev\svn-co\JPMC-NY-IBTAMQ\trunk\src\2.1.0.4\qpid\java\JPMC-distribution\DAM\target\qpid-2.1.0.4\etc\config.xml
-Configuring logger using configuration file
- c:\dev\svn-co\JPMC-NY-IBTAMQ\trunk\src\2.1.0.4\qpid\java\JPMC-distribution\DAM\target\qpid-2.1.0.4\etc\log4j.xml
-2007-11-19 11:22:07,890 WARN [main] access.AMQUserManagementMBean (AMQUserManagementMBean.java:386) -
- Access rights contains user 'admin' but there is no authentication data for that user
-2007-11-19 11:22:07,890 WARN [main] access.AMQUserManagementMBean (AMQUserManagementMBean.java:386) -
- Access rights contains user 'user' but there is no authentication data for that user
-2007-11-19 11:22:08,078 WARN [main] management.JMXManagedObjectRegistry (JMXManagedObjectRegistry.java:153) -
- JMX: Started JMXConnector server on port '8999' with security disabled
-2007-11-19 11:22:08,250 WARN [main] manager.PrincipalDatabaseAuthenticationManager (PrincipalDatabaseAuthenticationManager.java:114) -
- Unable to set order of providers.
-2007-11-19 11:22:08,281 WARN [main] manager.PrincipalDatabaseAuthenticationManager (PrincipalDatabaseAuthenticationManager.java:87) -
- No authentication specified for 'virtualhosts.virtualhost.development'. Using Default authentication manager
-2007-11-19 11:22:08,281 WARN [main] access.AccessManagerImpl (AccessManagerImpl.java:51) - No access control specified.
- Using default access controls for VirtualHost:'development'
-2007-11-19 11:22:08,296 WARN [main] manager.PrincipalDatabaseAuthenticationManager (PrincipalDatabaseAuthenticationManager.java:87) -
- No authentication specified for 'virtualhosts.virtualhost.test'. Using Default authentication manager
-2007-11-19 11:22:08,296 WARN [main] access.AccessManagerImpl (AccessManagerImpl.java:51) - No access control specified.
- Using default access controls for VirtualHost:'test'
-2007-11-19 11:22:08,296 INFO [main] server.Main (Main.java:266) - Starting Qpid Broker 2.1.0.4 build: 717
-2007-11-19 11:22:08,593 INFO [main] server.Main (Main.java:419) - Qpid.AMQP listening on non-SSL address 0.0.0.0/0.0.0.0:5672
-2007-11-19 11:22:08,593 INFO [main] server.Main (Main.java:440) - Qpid Broker Ready :2.1.0.4 build: 717
-]]>
- </programlisting>
- <para>The broker should start up with no errors and report that it is ready.</para>
- </note>
-
- <note>
- <title>Ensure broker will start with delivered config files.</title>
- <itemizedlist>
- <listitem>$ ./qpid-server -c ../etc/transient_config.xml</listitem>
- <listitem>$ ./qpid-server -c ../etc/persistent_config.xml</listitem>
- </itemizedlist>
- <para>The output should not report any errors and as with the default config should report the broker is
- Ready.
- </para>
- </note>
-
- </section>
-
- <section>
- <title>Validate Management</title>
-
- <note>
- <title>Unpack JMX Management console</title>
- <para>On a local windows machine unpack qpid-management-&lt;version&gt;.zip</para>
- </note>
-
- <note>
- <title>Validate JMX management console connects</title>
- <itemizedlist>
- <listitem>Start remote broker with the default configuration (./qpid-server)</listitem>
- <listitem>Launch application qpidmc/bin/qpidmc.bat</listitem>
- <listitem>
- <para>Create a new connection. Click:</para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="add.gif" format="GIF"/>
- </imageobject>
- <textobject>
- <phrase>Green plus(+) symbol</phrase>
- </textobject>
- </mediaobject>
- </listitem>
- <listitem>Enter server details for remote linux broker from above tests, log in as guest(guest)
- </listitem>
- <listitem>
- <para>Ensure that the following items are available and browseable.</para>
- <orderedlist>
- <listitem>org.apache.qpid : UserManagement</listitem>
- <listitem>org.apache.qpid : Virtualhosts</listitem>
- </orderedlist>
- </listitem>
- </itemizedlist>
-
- </note>
-
- <note>
- <title>Validate Secure JMX management console connects</title>
- <itemizedlist>
- <listitem>Start remote broker with the persistent configuration (./qpid-server -
- ../etc/persistent-config.xml)
- </listitem>
- <listitem>Unpack qpid-management-&lt;version&gt;.zip</listitem>
- <listitem>Launch application qpidmc/bin/qpidmc-secure.bat</listitem>
- <listitem>
- <para>Create a new connection. Click:</para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="add.gif" format="GIF"/>
- </imageobject>
- <textobject>
- <phrase>Green plus(+) symbol</phrase>
- </textobject>
- </mediaobject>
- <para>or use reconnect :</para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="reconnect.gif" format="GIF"/>
- </imageobject>
- <textobject>
- <phrase>Yellow arrow(->) symbol</phrase>
- </textobject>
- </mediaobject>
- </listitem>
- <listitem>Enter server details for remote linux broker from above tests, log in as admin(admin)
- </listitem>
- <listitem>
- <para>Ensure that the following items are available and browseable.</para>
- <orderedlist>
- <listitem>org.apache.qpid : UserManagement</listitem>
- <listitem>org.apache.qpid : Virtualhosts</listitem>
- </orderedlist>
- </listitem>
- <listitem>Reconnect to the server with the linux broker from above tests, with log in as
- guest(guest)
- </listitem>
- <listitem>Ensure that 'org.apache.qpid : Virtualhosts' is available and browseable.</listitem>
- <listitem>Ensure that 'org.apache.qpid : UserManagement' is not accessable.</listitem>
- </itemizedlist>
- </note>
-
- <note>
- <title>Validate jconsole connects</title>
- <itemizedlist>
- <listitem>Start remote broker with the default configuration (./qpid-server)</listitem>
- <listitem>Launch Jconsole from your local JDK installation</listitem>
- <listitem>Use the remote host option and fill in details server as before and user guest(guest)
- </listitem>
- <listitem>
- <para>Ensure that the following MBeans are available and browseable.</para>
- <orderedlist>
- <listitem>org.apache.qpid : UserManagement</listitem>
- <listitem>org.apache.qpid : Virtualhost.Exchange</listitem>
- <listitem>org.apache.qpid : Virtualhost.Queue</listitem>
- <listitem>org.apache.qpid : Virtualhost.VirtualHostManger</listitem>
- </orderedlist>
- </listitem>
- </itemizedlist>
-
- </note>
-
- </section>
-
- <section>
- <title>Validate the client DAM candidate</title>
- <note>
- <title>Copy package to unix server</title>
- <programlisting>
- <![CDATA[
-$scp qpid-<version>-client-bin.tgz <username>@noc-qpiddev01.jpmorganchase.com:.
-]]>
- </programlisting>
- </note>
- <note>
- <title>Move to unix server</title>
- <programlisting>
- <![CDATA[
-$ssh -l username noc-qpiddev01.jpmorganchase.com
-]]>
- </programlisting>
- </note>
- <note>
- <title>Unpack artifact</title>
- <programlisting>
- <![CDATA[
-$ tar xzf qpid-<version>-client-bin.tgz
-]]>
- </programlisting>
- </note>
- <note>
- <title>Validate contents of bin directory</title>
-
- <para>
- <emphasis>Validate all files bin files in bin directory are executable.</emphasis>
- </para>
-
- <para>Ensure bin directory contains qpid_env.sh and qpid_env.csh</para>
- <programlisting>
- <![CDATA[
-$ ls qpid-<version>-client/bin
-qpid_env.csh qpid_env.sh
-]]>
- </programlisting>
-
- <para>
- <emphasis>Validate all files bin directory have unix line endings.</emphasis>
- </para>
-
- <para>A suitable grep will do the trick. Only .bat files should be listed.
- </para>
-
- <programlisting>
- <![CDATA[
-$ grep -Pl '\r\n' bin/*
-]]>
- </programlisting>
-
- </note>
-
- <note>
- <title>Validate the build location was clean.</title>
- <example>
- <title>Check contents of SVNREV.txt</title>
- <programlisting>
- <![CDATA[
-$ cat SVNREV.txt
-#Fri Jan 25 17:22:49 GMT 2008
-qpid.version=qpid-2.1.0.7-client-slf4j
-qpid.svnversion=762
-qpid.builtby=F065199
-qpid.name=Qpid DAM Client
-]]>
- </programlisting>
- <para>Note that the svnversion number is a single number.</para>
- </example>
- <example>
- <title>Check contents of Qpid jars</title>
- <programlisting>
- <![CDATA[
-$ cd lib
-$ jar xf qpid-common-2.1.0.7.jar qpidversion.properties
-$ cat qpidversion.properties
-#Fri Jan 25 17:21:18 GMT 2008
-qpid.version=2.1.0.7
-qpid.svnversion=762
-qpid.name=Qpid Common Utilities
-]]>
- </programlisting>
- <para>Note again that the svnversion number is a single number. This should be repeated for all qpid
- jars.
- </para>
- </example>
- </note>
- <note>
- <title>Ensure the number of libs has not increased due to a dependency change.</title>
- <programlisting>
- <![CDATA[
-$ ls qpid-2.1.0.7-client-slf4j/lib
-backport-util-concurrent-2.2.jar qpid-client-2.1.0.7.jar qpid-mina-filter-ssl-2.1.0.7.jar
-commons-collections-3.2.jar qpid-common-2.1.0.7.jar qpid-mina-java5-2.1.0.7.jar
-commons-lang-2.1.jar qpid-incubating.jar slf4j-api-1.4.0.jar
-geronimo-jms_1.1_spec-1.0.jar qpid-mina-core-2.1.0.7.jar
-]]>
- </programlisting>
- <para>If the number has changed then explain the change and update this document.</para>
- <para>Count 11. (Version:2.1.0.7).</para>
- </note>
- <note>
- <title>Run Pub / Sub example</title>
- <para>
- <emphasis>This should be updated with the 2.2.1.0 to use the simple examples. The example package
- should also ship with slf4j-simple.jar
- </emphasis>
- </para>
- <itemizedlist>
-
- <listitem>Start remote broker with the default configuration (./qpid-server)</listitem>
- <listitem>Run the Subscriber</listitem>
- <listitem>Run the Publisher</listitem>
- <listitem>The publisher should then send message numbers 0-99 and the subscriber should receive
- 0-99. Both clients quit when their task is complete.
- </listitem>
- </itemizedlist>
- <programlisting>
- <![CDATA[
-$ java -cp ../lib/qpid-incubating.jar:slf4j-simple-1.4.3.jar:examples.jar org.apache.qpid.example.pubsub.Subscriber
-$ java -cp ../lib/qpid-incubating.jar:slf4j-simple-1.4.3.jar:examples.jar org.apache.qpid.example.pubsub.Publisher
-]]>
- </programlisting>
- </note>
- <note>
- <title>Run Point to Point example</title>
- <itemizedlist>
-
- <listitem>Start remote broker with the default configuration (./qpid-server)</listitem>
- <listitem>Run the Simple Test</listitem>
- <listitem>The will send and receive a message.</listitem>
- </itemizedlist>
-
- <programlisting>
- <![CDATA[
-$ java -cp ../lib/qpid-incubating.jar:slf4j-simple-1.4.3.jar:examples.jar org.apache.qpid.example.simple.point2point.Simple
-Recieved message:Sample Message.
-]]>
-
- </programlisting>
- </note>
- </section>
-
- </section>
-</article>
-
-