[sheepdog] [PATCH v7 0/6] shepherd: a new cluster manager specialized for sheepdog

Hitoshi Mitake mitake.hitoshi at lab.ntt.co.jp
Mon Mar 11 04:48:52 CET 2013


This patchset adds shepherd: a new cluster manager specialized for
sheepdog. The 5th and 6th patches actually adds shepherd and its
driver, 1 - 4th do trivial preparation for it.

Now shepherd can pass all tests.

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

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

v6
 * fix problems of coding style pointed by Liu Yuan

v7
 * all tests can be passed

Hitoshi Mitake (6):
  move node_to_str() and str_to_node() from sheep/cluster.h to
    include/sheep.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
  lib: add wrappers do_writev2() and writev2() for typical usage of
    writev()
  shepherd: a new cluster manager specialized for sheepdog
  sheep: add a cluster driver for shepherd

 .gitignore               |    1 +
 Makefile.am              |    2 +-
 configure.ac             |    3 +-
 include/Makefile.am      |    5 +-
 include/internal_proto.h |   10 +
 include/net.h            |    6 +
 include/sheep.h          |   38 +++
 include/shepherd.h       |  132 ++++++++
 lib/net.c                |   34 ++
 sheep/Makefile.am        |    3 +-
 sheep/cluster.h          |   47 ---
 sheep/cluster/shepherd.c |  654 ++++++++++++++++++++++++++++++++++++
 shepherd/Makefile.am     |   44 +++
 shepherd/shepherd.c      |  827 ++++++++++++++++++++++++++++++++++++++++++++++
 14 files changed, 1752 insertions(+), 54 deletions(-)
 create mode 100644 include/shepherd.h
 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