Differences between revisions 16 and 17
Revision 16 as of 2008-08-11 20:34:31
Size: 12406
Comment:
Revision 17 as of 2009-09-20 23:01:09
Size: 12408
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 137: Line 137:
* Prepare data for input ([http://maven.apache.org/continuum/docs/1.1/installation/upgrade.html]): * Prepare data for input ([[http://maven.apache.org/continuum/docs/1.1/installation/upgrade.html]]):

This page attempts to document the organization of the automatic build processes run by Continuum on the host myfaces.zones.apache.org.

Access to the zone is restricted to certain comitters at this time. If you are a comitter, and would like to help out with zone maintenance, please contact the Myfaces PMC.

Here are some salient points about the installation:

1. In order for Continuum to be able to email it's build results to the mailing list, sendmail has to be running. I have found in the past that sendmail does not automatically start when the zone boots. To check the status of sendmail, use:

svcs -xv svc:/network/smtp:sendmail

If the service is not in the "online" state, you can enable it with:

svcadm enable svc:/network/smtp:sendmail

2. The Continuum process itself is currently not maintained by svcadm, ie does not restart when the machine is rebooted. This will be rectified in the future, but for now follow this procedure, logged into the zone under the mrmaven ID:

/local/continuum-1.1-beta-2/bin/solaris-x86-32/run.sh start


General Admin Tips

  • If you add a new project group, add the "Project Group User" role to the guest user so that build results are visible to guests

Build Definitions


Some projects have more the one Build Definition. In some cased, like Tomahawk Core, the additional build is to test the artifact against an additional JSF implementation. This is done by adding the argument -Djsf=xx. As of Tomahawk 1.1.6, the supported implementation are:

-Djsf=ri

Sun Reference implementation, 1.1_02


Troubleshooting


Problem: Build Error due to a problem with the working copy

****************************************************************************
Build Error:
****************************************************************************
Provider message: The svn command failed.
Command output:
-------------------------------------------------------------------------------
svn: Working copy '.' locked
svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
Type 'svn help' for usage.
-------------------------------------------------------------------------------

Solution:

The working directory is in /usr/local/continuum-1.1-beta-2/working-directory/<projectId>

the projectId for Apache Incubator Trinidad Podling, for example is 146. Just execute :

cd /usr/local/continuum-1.1-beta-2/working-directory/146
svn cleanup .


Problem: Wrong IP address in /etc/hosts

One problem was the host lookup for myfaces.zones.apache.org which wasn't working on the zone box. I was not able to modify /etc/hosts (the cause of the problem is the wrong ip address for myfaces.zones.apache.org) but I found a workaround and defined in maven settings.xml for mrmaven user (the user is used for the continuum builds) a mirror to localhost for myfaces.zones.apache.org.

Still need to find someone with root to fix it in /etc/hosts


Problem: Continuum 1.1 fails to start and reports a connection problem with the database

A possible cause is a previous shutdown of continuum failed and the process was killed.

The embedded database (derby) maintains some lck files in /local/continuum-1.1-SNAPSHOT/data/continuum/database If the continuum process is stopped and these *.lck files are still in that directory it is not possible to start continuum again.

The solution is to remove the *.lck files:

rm /local/continuum-1.1-SNAPSHOT/data/continuum/database/*.lck

and (re)start continuum.

Current System State

The host myfaces.zones.apache.org is a Solaris Zone, ie a virtual machine running Sun Solaris on x86-32.

There are half-a-dozen myfaces PMC members with root access to this virtual machine; ask on the list if you need an account.

The "mrmaven" user account is used to run Continuum itself, and to build nightly assemblies which then get transferred to people.apache.org.

Currently the continuum instance is not automatically restarted on machine reboot; this is a manual process (but doesn't happen very often). See above for instructions on restarting the instance.

Continuum runs on its default port of 8080, using its built-in webserver (jetty).

The currently installed version is continuum-1.1-beta-2. Attempts are in progress at the moment to upgrade to 1.1 final release.

Applications (continuum, maven, etc) are installed in /local (and /usr/local is a symlink to /local).

The "work" directory for continuum is in a subdir under the continuum installation. This is where svn checkouts occur, and where the actual compilation takes place.

Continuum configuration data is stored as derby database files inside the continuum instance (one database for the project, one for the user-accounts).

The current version of java on this machine is 1.5.0.

How to Upgrade Continuum

The best source of info is of course the continuum website.

Manfred made an attempt in february to upgrade continuum. Simon (me) is currently trying again.

Here are Manfred's notes from Feb:

Export old data:

   cd some-working-directory
   java -Xmx512m -jar data-management-cli-1.1-beta-2-app.jar -buildsJdbcUrl jdbc:derby:/local/continuum-1.1-beta-2/data/continuum/database -mode EXPORT -directory backups
   java -Xmx512m -jar data-management-cli-1.1-beta-2-app.jar -usersJdbcUrl jdbc:derby:/local/continuum-1.1-beta-2/data/users/database -mode EXPORT -directory backups -overwrite

Start, stop new instance to create a blank database

* Prepare data for input (http://maven.apache.org/continuum/docs/1.1/installation/upgrade.html):

cd /export/home/mrmaven/continuum-upgrade-1.1-final/backups-projects
xsltproc copy.xsl builds.xml > fixed-builds.xml
mv builds.xml builds.xml.orig
mv fixed-builds.xml builds.xml

* Started import:

java -Xmx512m -jar data-management-cli-1.1-app.jar -buildsJdbcUrl jdbc:derby:/local/continuum-1.1/data/continuum/database -mode IMPORT -directory backups-projects
java -Xmx512m -jar data-management-cli-1.1-app.jar -usersJdbcUrl jdbc:derby:/local/continuum-1.1/data/users/database -mode IMPORT -directory backups-users
  • Failed! :-(

-bash-3.00$ java -Xmx512m -jar data-management-cli-1.1-app.jar -buildsJdbcUrl jdbc:derby:/local/continuum-1.1/data/continuum/database -mode IMPORT -directory backups-projects
0 [main] INFO org.apache.maven.continuum.management.DataManagementCli  - Processing Continuum database...
Exception in thread "main" java.lang.NullPointerException
        at org.apache.maven.continuum.management.DataManagementCli.downloadArtifact(DataManagementCli.java:364)
        at org.apache.maven.continuum.management.DataManagementCli.processDatabase(DataManagementCli.java:198)
        at org.apache.maven.continuum.management.DataManagementCli.main(DataManagementCli.java:170)
  • Disabling (renaming) .m2/settings.xml fixed the problem, BUT when doing the users import I got

7623 [main] INFO JPOX.RDBMS.Schema  - Managing Persistence of Class : org.codehaus.plexus.redback.users.jdo.UsersManagementModelloMetadata [Table : USERSMANAGEMENTMODELLOMETADATA, InheritanceStrategy : new-table]
7630 [main] INFO JPOX.RDBMS  - Creating table USERSMANAGEMENTMODELLOMETADATA
7704 [main] INFO JPOX.RDBMS  - Validated 1 unique key(s) for table USERSMANAGEMENTMODELLOMETADATA
7772 [main] INFO JPOX.RDBMS  - Validated 1 index(es) for table USERSMANAGEMENTMODELLOMETADATA
Exception in thread "main" java.lang.NullPointerException
        at org.codehaus.plexus.redback.management.JdoDataManagementTool.restoreRBACDatabase(JdoDataManagementTool.java:186)
        at org.apache.maven.continuum.management.redback.JdoDataManagementTool.restoreDatabase(JdoDataManagementTool.java:93)
        at org.apache.maven.continuum.management.DataManagementCli.processDatabase(DataManagementCli.java:270)
        at org.apache.maven.continuum.management.DataManagementCli.main(DataManagementCli.java:177)
  • Nevertheless starting new continuum version

/local/continuum/bin/solaris-x86-32/run.sh start
  • gives

INFO   | jvm 1    | 2008/02/25 15:11:41 | Caused by: org.codehaus.plexus.jetty.ServletContainerException: Error while starting the context /continuum
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.jetty.AbstractJettyServletContainer.startApplication(AbstractJettyServletContainer.java:213)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.service.jetty.JettyPlexusService.afterApplicationStart(JettyPlexusService.java:248)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       ... 34 more
INFO   | jvm 1    | 2008/02/25 15:11:41 | Caused by: java.lang.NullPointerException
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.jpox.state.StateManagerImpl.internalMakePersistent(StateManagerImpl.java:3667)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.jpox.state.StateManagerImpl.makePersistent(StateManagerImpl.java:3646)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.jpox.AbstractPersistenceManager.internalMakePersistent(AbstractPersistenceManager.java:1202)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.jpox.AbstractPersistenceManager.makePersistent(AbstractPersistenceManager.java:1261)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.jdo.PlexusJdoUtils.updateObject(PlexusJdoUtils.java:160)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.store.JdoContinuumStore.updateObject(JdoContinuumStore.java:1080)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.store.JdoContinuumStore.updateObject(JdoContinuumStore.java:1072)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.store.JdoContinuumStore.updateBuildDefinitionTemplate(JdoContinuumStore.java:935)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.builddefinition.DefaultBuildDefinitionService.addBuildDefinitionInTemplate(DefaultBuildDefinitionService.java:504)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.builddefinition.DefaultBuildDefinitionService.getDefaultMavenOneBuildDefinitionTemplate(DefaultBuildDefinitionService.java:323)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.builddefinition.DefaultBuildDefinitionService.initializeDefaultContinuumBuildDefintions(DefaultBuildDefinitionService.java:116)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.apache.maven.continuum.builddefinition.DefaultBuildDefinitionService.initialize(DefaultBuildDefinitionService.java:104)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializePhase.execute(InitializePhase.java:33)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.lifecycle.AbstractLifecycleHandler.start(AbstractLifecycleHandler.java:128)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.component.manager.AbstractComponentManager.startComponentLifecycle(AbstractComponentManager.java:142)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.component.manager.AbstractComponentManager.createComponentInstance(AbstractComponentManager.java:132)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.component.manager.ClassicSingletonComponentManager.getComponent(ClassicSingletonComponentManager.java:90)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.DefaultComponentLookupManager.lookup(DefaultComponentLookupManager.java:147)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:333)
INFO   | jvm 1    | 2008/02/25 15:11:41 |       at org.codehaus.plexus.component.composition.AbstractComponentComposer.findRequirement(AbstractComponentComposer.java:232)
...

:-( THIS REALLY SUCKS!!! I'm giving up

  • Started old version

/local/continuum-1.1-beta-2/bin/solaris-x86-32/run.sh start

Continuum_Build (last edited 2009-09-20 23:01:09 by localhost)