[Gluster-devel] Mechanisms for automatic management of Gluster
James
purpleidea at gmail.com
Wed Nov 27 15:42:09 UTC 2013
Hi,
This is along the lines of "tools for sysadmins". I plan on using
these algorithms for puppet-gluster, but will try to maintain them
separately as a standalone tool.
The problem: Given a set of bricks and servers, if they have a logical
naming convention, can an algorithm decide the ideal order. This could
allow parameters such as replica count, and
chained=true/false/offset#.
The second problem: Given a set of bricks in a volume, if someone adds
X bricks and removes Y bricks, is this valid, and what is the valid
sequence of add/remove brick commands.
I've written some code with test cases to try and figure this all out.
I've left out a lot of corner cases, but the boilerplate is there to
make it happen. Hopefully it's self explanatory. (gluster.py) Read and
run it.
Once this all works, the puppet-gluster use case is magic. It will be
able to take care of these operations for you (if you want).
For non puppet users, this will give admins the confidence to know
what commands they should _probably_ run in what order. I say probably
because we assume that if there's an error, they'll stop and inspect
first.
I haven't yet tried to implement the chained cases, or anything
involving striping. There are also some corner cases with some of the
current code. Once you add chaining and striping, etc, I realized it
was time to step back and ask for help :)
I hope this all makes sense. Comments, code, test cases are appreciated!
Cheers,
James
@purpleidea (irc/twitter)
https://ttboj.wordpress.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gluster.py
Type: text/x-python
Size: 16085 bytes
Desc: not available
URL: <http://supercolony.gluster.org/pipermail/gluster-devel/attachments/20131127/27311df2/attachment-0001.py>
More information about the Gluster-devel
mailing list