[sheepdog] [PATCH v5 0/4] shepherd: a new cluster manager specialized for sheepdog

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Wed Jan 9 08:09:02 CET 2013


This patchset adds shepherd: a new cluster manager specialized for
sheepdog. The 3rd patch actually adds shepherd, the 1st, 2nd, and 3rd
do trivial preparation for it.

It can pass most of the tests. But sometimes dies with undeterministic
bugs. The unpassed tests are: 008 (long), 015, 043, and 044 (long).
# long means the test takes more than 30 seconds.

I believe current version can satisfy least quality for applying. I'm
grad if I can hear your opinions.

changelog:

v2
 * lots of cleaning and bug fix
 * sane command line option handling
 * a little bit improvement of leave handling
 * not call sd_join_handler() in sheepkeeper_join()
 * add new option --enable-sheepkeeper to configure script for
   enable/disable building sheepkeeper

v3
 * lots of cleaning and bug fix
 * suppress some compiler warnings
 * handle leave of sheeps in saner way. this also reduces the problem
   of odd handling of return values from xread/xwrite
 * default log of sheepkeeper is /var/log/sheepkeeper.c, and users can
   specify custom location with -l option

v4
 * tons of cleaning and bug fix
 * documentation: https://github.com/mitake/sheepdog/wiki/sheepkeeper-design-note
 * stabilizing. The unpassed tests are: 008 (long), 015, 043, and 044 (long).

v5
 * rename sheepkeeper -> shepherd
 * a little bit cleaning
 * new document: https://github.com/mitake/sheepdog/wiki/shepherd-design-note

Hitoshi Mitake (4):
  move node_to_str() and str_to_node() from sheep/cluster.h to
    include/internal_proto.h
  move enum cluster_join_result from sheep/cluster.h to
    include/internal_proto.h
  lib: sockaddr_in_to_str(), convert sockaddr_in to string
    representation
  shepherd: a new cluster manager specialized for sheepdog

 .gitignore               |    1 +
 Makefile.am              |    2 +-
 configure.ac             |    3 +-
 include/Makefile.am      |    3 +-
 include/internal_proto.h |   51 +++
 include/net.h            |    1 +
 include/shepherd.h       |   78 ++++
 include/shepherd_msg.def |   17 +
 lib/net.c                |   17 +
 sheep/Makefile.am        |    3 +-
 sheep/cluster.h          |   50 ---
 sheep/cluster/shepherd.c |  713 +++++++++++++++++++++++++++++++++++++
 shepherd/Makefile.am     |   44 +++
 shepherd/shepherd.c      |  884 ++++++++++++++++++++++++++++++++++++++++++++++
 14 files changed, 1813 insertions(+), 54 deletions(-)
 create mode 100644 include/shepherd.h
 create mode 100644 include/shepherd_msg.def
 create mode 100644 sheep/cluster/shepherd.c
 create mode 100644 shepherd/Makefile.am
 create mode 100644 shepherd/shepherd.c

-- 
1.7.2.5




More information about the sheepdog mailing list