README 1.96 KB
Newer Older
1 2
This directory contains the testbed event system. It is enabled with
--enable-events when you configure the testbed. But first ...
3 4 5 6

BUILDING THE EVENT SYSTEM

To build the event system, you first need to obtain the Elvin publish/
7
subscribe system.  You need both the Elvin client library (libelvin
8 9 10 11 12
version 4.0) and the Elvin server (elvind version 4.0). You can get
them directly from http://elvin.dstc.com/. Be sure to configure the
Elvin library with "--enable-threads" to build support for Elvin's
thread-safe "threaded" API.  Once the Elvin client library is built
and installed, you may build the event system by doing a "make".
13 14 15

USING THE EVENT SYSTEM

Ian Murdock's avatar
Ian Murdock committed
16 17 18 19
Before you may use the event system, you must configure the
Elvin server. The default Elvin configuration file should suffice. If
you want to use Elvin's server discovery protocol, you will need
to set "scope" and "default" accordingly (see the Elvin documentation).
20

21 22 23 24 25 26 27 28 29
Next, you need to start the Elvin server ("elvind") on your boss node
(We provide a sample startup file in ../rc.d).  The Elvin server is
responsible for routing event notifications from event producers to
event consumers.  Once the Elvin server is running, clients in the
system may use the event library to subscribe to and trigger events.
For an overview of how the system works, please see the DESIGN file.
(Note that an event scheduler must be running for the system to be
fully operational; for more information about the event scheduler,
please see the DESIGN file.)
30 31 32 33 34

Clients use the event library to interface with the event system; for
a description of the API, see the API file.  Clients that need
additional functionality may also use Elvin directly, though at some
point in the future we may adopt a different system for event
35 36 37
notification transport or write our own.  If you find that you can't
do something with the event library, then it very well could be a
limitation in the event library API; please contact
Jay Lepreau's avatar
Jay Lepreau committed
38
testbed-ops@flux.utah.edu to let us know about it.