[rudder-users] rudder plugin

Francois Armand francois.armand at normation.com
Wed Nov 27 11:03:40 CET 2013

On 26/11/2013 15:43, Joachim.Setzer at t-systems.com wrote:
> Hi All,
> was anyone a hint (or a tutorial) to extend rudder ?
> We need to check that for example oracle client is installed in the
> right version
> For this fusion-inventory should check if it is installed in the right
> version
> For this we need to extend fusion-inventory, too
> We also want to have an addition collumn / section at the host in
> rudder gui where we see the information about
> Oracle client installation (path, version, installdate…..)
> Can anyone help ?
> Kind regards / Mit freundlichen Grüßen
> Joachim Setzer

Hello Joachim,

As I saw your ticket http://www.rudder-project.org/redmine/issues/4195,
you are already aware of the plugins in Rudder.  And you are right,
contrary to new Techniques, these plugins are intended to extends Rudder
web interface with new functionnality, or view.

For the record, the base plugin example to build new UI plugin is here:

Now, for you case: I f I understand correctly, you wand to:

 1. add some more inventory data (oracle client installed version),
      * that means extending Fusion Inventory
 2. store that data in Rudder,
      * that needs extending the stored inventory information and add
        the logic to know how to handle them
 3. be able to query it so that you can know what nodes have an oracle
    client installed, and in which version,
      * that means extendings the data model to know how to handle
        queries on Oracle client
 4. display that data on node details
      * that is an UI extension, using the precedent steps

Unfortunatly, as of today, the plugins possibility are only on UI
extension and displaying existing datas, not storing new datas along
with other inventory one. Or the data "provisionning" need to be also
handled by the plugin (for example, a plugin building it's own database
from API requests to other software, or whatever).

So you need implies some modification of Rudder internals, and may be
hard - or at least involves quite a bit of Scala coding, plus
understanding of Rudder internal architecture. If you want to go that
path, we will help you as much as we can, and also try to find way to
have your contributions integrated in Rudder.

As that may seems a little deceptive, I still have a workaround for your
use case. It seems that what you are after (in part, at least) is
checking Oracle client installation compliance with some company rules.
And that clearly looks like a job for Rudder!
So, I'm thinking that a first step, far easier and shorter than building
the full "oracle client installation plugin", could be to build a
Technique whose goal would be:

  * to check oracle client installation (perhaps configurable
    installation parameters, like path, etc)
  * to check oracle client version (configurable version)
  * optionnally, to correct bad installation or version with a new
    installation or update
  * optionnaly, well whatever is needed for your teams.

Given that Technique, you could create Rules to check that a certain
version of Oracle Client is correctly installed on a given group of
nodes. And the integrated Rudder reporting will display node with
uncorrect installation (and if you want handle the correction

Hope it helps and allows to see what alternatives are available!

*François ARMAND*
/Directeur de la R&D/
Normation <http://www.normation.com>
*87 rue de Turbigo, 75003 Paris, France*
Telephone: 	+33 (0)1 83 62 99 23
Mobile: 	+33 (0)6 63 37 60 55

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.rudder-project.org/pipermail/rudder-users/attachments/20131127/fddc2473/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sig-normation-logo-square.png
Type: image/png
Size: 3503 bytes
Desc: not available
URL: <http://www.rudder-project.org/pipermail/rudder-users/attachments/20131127/fddc2473/attachment.png>

More information about the rudder-users mailing list