Compared to the previous patch set, there are several improvals:
- fixed the global post hooks results processing function
(and qa tests work thanks to the fix)
- python tests adaptated to the existance of global hooks
(and py-tests work)
- update the design document gor global hooks in order to make it
consistent with the global hooks implementation.
Overall, this patchset should be ready for master just after the review.
Oleg Ponomarev (10):
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
Execute global hooks even for NoHooksLU opcodes
Make SafeLoadJobFromDisk a @staticmethod
Divide forkJobProcess into several functions
Implement forkPostHooksProcess function
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 | 43 +++--
lib/cmdlib/common.py | 2 +
lib/hooksmaster.py | 28 +++-
lib/jqueue/__init__.py | 23 +--
lib/jqueue/exec.py | 8 +-
lib/jqueue/post_hooks_exec.py | 116 ++++++++++++++
lib/mcpu.py | 92 +++++++----
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, 439 insertions(+), 150 deletions(-)
create mode 100644 lib/jqueue/post_hooks_exec.py
--
2.6.0.rc2.230.g3dd15c0