VACM modules are the actual workhorses of VACM. IPC requests from clients are dispatched to the appropriate module via Nexxus. It is up to the module to actually take whatever action may be required to complete and satisfy the request. As management techniques, technologies, and protocols improve or evolve, it will be necessary to provide new or upgraded modules in order to provide services from within VACM. Also, there may be custom features that one installation may require that may not be desirable to another. In any event, a new module may need to be written.
VACM modules are stand alone programs which Nexxus starts upon initialization. The module connects to an AF_UNIX socket maintained by Nexxus for communication with the rest of the system. There is a utility library called libloose which makes communicating with Nexxus a lot easier, and it is reccommended that anyone writing a module use this library to maintain forward compatability with future versions of Nexxus. Once a module has connected and registered with Nexxus, it will receive IPC data relating to the nodes that are available for monitoring. The module will receive data for each node in the VACM nodelist, including any global variables set for that node. When in normal operating state, the module will also receive commands from clients over this Nexxus IPC pipe.
The libloose module API library is defined and described below. To use, simply include libloose.h and link against libloose.a. This library should be used by ALL modules to maintain future compatability.
|
|
|
|
|
|
|
|
|