RAVE Installation HOWTO

Introduction
------------

RAVE is a platform for staging analytics and providing services (such as
caching) to enhance the usefulness of those analyses. It is the backing
technology for the NetSA component of the ESP portal. Along with SiLK, NAF,
and the actual portal (implemented on top of the TWiki content management
system), it is a part of the NetSA analysis toolchain.

This document describes how to install RAVE and a set of RAVE analyses
that have been specialized for use in Einstein.

How RAVE Works
--------------

RAVE has two primary functions:

1. Centralizing automated analysis capabilities.
2. Caching the intermediate results of analyses for better performance.

When RAVE starts, it loads analysis operations from one or more directories.
(An "analysis operation" is a specially written Python function. The
functions are stored in normal Python packages and modules in these
directories.) Each of these directories is mapped to a namespace via a
configuration file.

Some operations return intermediate analysis data, which is cached for
internal use. Others write "visualization" files (although the data need not
be visual), which are stored in a different directory for access by external
processes. (Typically, the directory is monitored by a web server such as
Apache, which makes it available over the network.)


System Requirements
-------------------

Unless otherwise stated, the system should work with the software versions
specified and all later stable versions.

   * Python 2.4 [1]
   * R 2.2.1 [2]
   * RPy 0.4.6 [3]
   * Apache 2.0.52 [4]

Installation
------------

RAVE uses Python' distutils system to install itself. To install RAVE:

1. Extract the RAVE distutils archive:

    tar xzf rave-1.5.tar.gz

2. Run the install script:

    python setup.py install

If you have more than one version of Python installed on your system, you
may need to specify which version of Python you are using to install, e.g.:

    python2.4 setup.py install

If you wish to install RAVE somewhere besides Python's site-packages
directory, use the --prefix option:

    python setup.py install --prefix=/path/to/install/rave

RAVE comes with several sample configuration files. These will normally be
installed in the same directory as the RAVE libraries (i.e., site-packages
or the directory specified by --prefix). If you wish to install these
somewhere else, supply the alternate path with the --install-data option:

    python setup.py install --install-data=/path/to/install/rave/samples


Configuration
-------------

The init script that came with this package provides an easy way to start
and stop raved as a service. It will, however, be necessary to customize
it for your environment. It will also be necessary to produce some custom
configuration files; we have provided samples of these files for your
convenience.

Namespace Configuration
-----------------------
An example namespace configuration named namespace-config.example is shipped
with RAVE, and looks like this:

    [namespaces]
    portal = /path/to/portal # The path to the portal analysis files

The string '/path/to/portal' should be replaced with the path to the portal
analysis files you received with the RAVE package and other installation
materials.

Log Configuration
-----------------
An example log configuration file is shipped with RAVE, as well. The syntax
of this file is documented here.[5] Logging can be configured to go to any
given file or to syslog, but the defaults with which it is shipped should be
appropriate.


References:

[1] http://www.python.org/
[2] http://www.r-project.org/
[3] http://rpy.sourceforge.net/
[4] http://httpd.apache.org/
[5] http://docs.python.org/lib/module-logging.html
