For 3.5, I'd like to propose we add a way for people to easily add custom
translators they've written. (using C, or Glupy, or whatever)
I'm not actually sure (yet) how we'd go about doing it, so would like to
discuss it first before writing things up. :)
As a first thought, maybe we could provide some CLI tooling to enable this:
eg: To add a native server side translator written using Glupy, after the
marker translator:
$ sudo gluster volume $VOLNAME add-translator $TRANSLATOR_NAME \
$TRANSLATOR_TYPE $FOLLOWING_TRANSLATOR $PATH
Which could be:
$ sudo gluster volume examplevolume add-translator mycustomone server marker
/home/jc/mycustomone.py
The CLI would see it's a .py file (therefore Glupy), so it would: * Copy the
.py file to the Glupy sub-dir * Distribute the .py file to the other servers
of the volume * Ensure the translator is incorporated into the native
server .vol file after the "marker" translator
It would also need a matching "remove-translator" command.
The downside though... this approach seems like a fairly complicated way of
doing things. Not really in line with the concept of keeping Gluster simple
for admins.
Maybe we should just have a new install Gluster sub-dir instead, which takes
a .so/.py translator file, and an XML fragment to say what to do with it.
No CLI. (would suite deployment via packaging instead)
Thoughts?