==========================
Quick installation ZEORaid
==========================

Note: For real deployments please investigate the deployment documentation in
the `doc` directory.

Quick installation
==================

This installation procedure will install two ZEORaid servers connected to 2
local ZEO servers using the default `zc.buildout` defined in the ZEORaid
package.

1. Check out the ZEORaid code and buildout:

  $ svn co svn://svn.zope.org/repos/main/gocept.zeoraid/tags/1.0b1 gocept.zeoraid

2. Copy the `buildout.cfg.example` file to `buildout.cfg`:

  $ cp buildout.cfg.example buildout.cfg

3. Bootstrap and run the buildout with Python 2.4:

  $ python2.4 bootstrap.py
  $ bin/buildout

4. Start the servers:

  $ bin/zeo1 start
  $ bin/zeo2 start
  $ bin/zeoraid1 start
  $ bin/zeoraid2 start

You then can connect any ZODB client (e.g. Zope starting from 2.8) with *both*
ZEORaid servers. An excerpt from zope.conf might look like:

  <zeoclient>
    server localhost:8200
    server localhost:8201
    storage main
  </zeoclient>

You can now disable any single of the four components (zeo1, zeo2, zeoraid1,
zeoraid2) and your application will stay alive. When shutting down zeo1 or zeo2
you have to trigger the corresponding recovery using the `zeoraid1-main-manage`
or `zeoraid2-main-manage` script before killing the other ZEO server.

Run the tests
=============

You might want to run the test suite to make sure that ZEORaid works as
expected on your platform:

  $ bin/test

If you see *any* test failures please report them as bugs.


Reporting bugs
==============

The bug tracker lives at http://bugs.launchpad.net/gocept.zeoraid

Please file bugs there and provide tracebacks if possible.


Customizing your configuration
==============================

The `parts` directory contains the configuration for the two ZEORaid servers
and the two ZEO servers. Those appear like normal ZEO server configurations
and can be tweaked by you to experiment with different settings.

Note that those settings are overridden when re-running buildout.

If you want to connect ZEORaid to existing ZEO servers, please remember:

 - ZEORaid needs the `gocept-iteration` branch to run on both the ZEORaid
   server and the backend ZEO servers. This branch will be merged to the trunk
   after completion and review and should be available in the final ZODB 3.9
   release.

 - Keep backups of your data. ZEORaid has good unit test coverage but hasn't
   seen too much action yet, so keep this in mind.


Accessing the management script
===============================

For each ZEORaid server a management script is generated that you can call:

  $ bin/zeoraid1-main-manage

They support the --help long option to find out what they can do:

  $ bin/zeoraid1-main-manage --help
