From 7c6c1e10f3cc62acc919123d0067a8a9720aeffa Mon Sep 17 00:00:00 2001 From: Sol Jerome Date: Sun, 24 Jan 2010 18:47:00 +0000 Subject: doc: Add a lot more unsorted stuff from the wiki Signed-off-by: Sol Jerome git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5703 ce84e21b-d406-0410-9b95-82705330c041 --- doc/unsorted/development_writing_plugins.txt | 77 ++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 doc/unsorted/development_writing_plugins.txt (limited to 'doc/unsorted/development_writing_plugins.txt') diff --git a/doc/unsorted/development_writing_plugins.txt b/doc/unsorted/development_writing_plugins.txt new file mode 100644 index 000000000..89b1af28a --- /dev/null +++ b/doc/unsorted/development_writing_plugins.txt @@ -0,0 +1,77 @@ +.. -*- mode: rst -*- + +.. _unsorted-development_writing_plugins: + +=============== +Writing Plugins +=============== + +Server Plugin Types +=================== + +Generator +--------- + +Generator plugins contribute to literal client configurations + +Structure +--------- + +Structure Plugins contribute to abstract client configurations + +Metadata +-------- + +Signal metadata capabilities + +Connector +--------- + +Connector Plugins augment client metadata instances + +Probing +------- + +Signal probe capability + +Statistics +---------- + +Signal statistics handling capability + +Decision +-------- + +Signal decision handling capability + +Version +------- + +Interact with various version control systems + +Writing Server Plugins +====================== + +Metadata +-------- + +If you would like to define your own Metadata plugin (to extend/change functionality of the existing Metadata plugin), here are the steps to do so. We will call our new plugin `MyMetadata`. + +#. Add MyMetadata.py + + .. code-block:: python + + __revision__ = '$Revision$' + + import Bcfg2.Server.Plugins.Metadata + + class MyMetadata(Bcfg2.Server.Plugins.Metadata.Metadata): + '''This class contains data for bcfg2 server metadata''' + __version__ = '$Id$' + __author__ = 'bcfg-dev@mcs.anl.gov' + + def __init__(self, core, datastore, watch_clients=True): + Bcfg2.Server.Plugins.Metadata.Metadata.__init__(self, core, datastore, watch_clients) + +#. Add MyMetadata to `src/lib/Server/Plugins/__init__.py` +#. Replace Metadata with MyMetadata in the plugins line of bcfg2.conf -- cgit v1.2.3-1-g7c22