[sheepdog] [PATCH v10 0/7] shepherd: a new cluster manager specialized for sheepdog
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Mon Apr 8 18:12:46 CEST 2013
At Mon, 8 Apr 2013 10:47:00 +0900,
Hitoshi Mitake wrote:
>
> This patchset adds shepherd: a new cluster manager specialized for
> sheepdog. The 6th and 7th patches actually adds shepherd and its
> driver, 1 - 5th do preparations for it.
>
> Now shepherd can pass all tests. And valgrind doesn't report memory
> errors. 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
>
> v8
> * cleaning coding style and some removing some bugs
> * all tests can be passed with valgrind
> * add event prioritizing mechanism for shepherd
>
> v9
> * all tests can be passed with valgrind, take 2
> ** CAUTION: this patchset depends on the patch Yuan posted which is titled,
> sheep: don't panic on reading broken epoch file
>
> v10
> * rebase on latest master
>
> Hitoshi Mitake (7):
> include: move node_to_str() and str_to_node() from sheep/cluster.h to
> include/sheep.h
> include: 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()
> lib: add a mechanism for prioritizing events
> 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/event.h | 14 +-
> include/internal_proto.h | 20 +
> include/net.h | 6 +
> include/sheep.h | 38 ++
> include/shepherd.h | 132 +++++++
> lib/event.c | 61 +++-
> lib/net.c | 34 ++
> sheep/Makefile.am | 3 +-
> sheep/cluster.h | 53 ---
> sheep/cluster/shepherd.c | 689 ++++++++++++++++++++++++++++++++++++
> shepherd/Makefile.am | 44 +++
> shepherd/shepherd.c | 869 ++++++++++++++++++++++++++++++++++++++++++++++
> 16 files changed, 1907 insertions(+), 67 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
This sereis has had enough iterations. Let's switch to more
incremental development. :) I've applied to the master branch.
Thanks,
Kazutaka
More information about the sheepdog
mailing list