Fixed several bugs uncovered during writing the draft of the qa tests.
Also, now universal hooks are always executed at least on the master
node even if the master node is missing in the node list generated by
the opcode for the usual hooks.

Oleg Ponomarev (11):
  Add global hooks support to the HooksMaster
  Run global hooks in case of succesfull opcode execution
  Execute POST-phase global hooks in case of failure
  Always execute global hooks at least on the master node
  Make SafeLoadJobFromDisk a @staticmethod
  Divide forkJobProcess into several functions
  Implement forkPostHooksProcess function
  Implement python process ececuting global POST hooks
  Implement python process ececuting global POST hooks
  Execute global POST hooks for disappeared job processes
  Update design document for global hooks

 Makefile.am                                   |   3 +-
 doc/design-global-hooks.rst                   |  44 +++--
 lib/cmdlib/common.py                          |   2 +
 lib/hooksmaster.py                            |  47 ++++--
 lib/jqueue/__init__.py                        |  23 +--
 lib/jqueue/exec.py                            |   8 +-
 lib/jqueue/post_hooks_exec.py                 | 116 ++++++++++++++
 lib/mcpu.py                                   |  82 ++++++----
 src/Ganeti/Constants.hs                       |  14 ++
 src/Ganeti/JQScheduler.hs                     |  21 ++-
 src/Ganeti/Path.hs                            |   7 +
 src/Ganeti/Query/Exec.hs                      | 223 +++++++++++++++++---------
 test/py/cmdlib/cluster_unittest.py            |   6 +-
 test/py/cmdlib/testsupport/cmdlib_testcase.py |   3 +-
 14 files changed, 443 insertions(+), 156 deletions(-)
 create mode 100644 lib/jqueue/post_hooks_exec.py

-- 
2.6.0.rc2.230.g3dd15c0

Reply via email to