from ganeti import cmdlib
from ganeti import rpc
from ganeti import compat
+from ganeti import pathutils
from ganeti.constants import HKR_SUCCESS, HKR_FAIL, HKR_SKIP
from mocks import FakeConfig, FakeProc, FakeContext
"""
rr = rpc.RpcResult
- return dict([(node, rr(True, [("utest", constants.HKR_SUCCESS, "ok")],
+ return dict([(node, rr((True, [("utest", constants.HKR_SUCCESS, "ok")]),
node=node, call='FakeScriptOk'))
for node in node_list])
def testTotalFalse(self):
"""Test complete rpc failure"""
- hm = mcpu.HooksMaster(self._call_false, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(self._call_false, self.lu)
self.failUnlessRaises(errors.HooksFailure,
hm.RunPhase, constants.HOOKS_PHASE_PRE)
hm.RunPhase(constants.HOOKS_PHASE_POST)
def testIndividualFalse(self):
"""Test individual node failure"""
- hm = mcpu.HooksMaster(self._call_nodes_false, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(self._call_nodes_false, self.lu)
hm.RunPhase(constants.HOOKS_PHASE_PRE)
#self.failUnlessRaises(errors.HooksFailure,
# hm.RunPhase, constants.HOOKS_PHASE_PRE)
def testScriptFalse(self):
"""Test individual rpc failure"""
- hm = mcpu.HooksMaster(self._call_script_fail, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(self._call_script_fail, self.lu)
self.failUnlessRaises(errors.HooksAbort,
hm.RunPhase, constants.HOOKS_PHASE_PRE)
hm.RunPhase(constants.HOOKS_PHASE_POST)
def testScriptSucceed(self):
"""Test individual rpc failure"""
- hm = mcpu.HooksMaster(FakeHooksRpcSuccess, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(FakeHooksRpcSuccess, self.lu)
for phase in (constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST):
hm.RunPhase(phase)
self.assertEqual(env["GANETI_HOOKS_PATH"], hpath)
self.assertEqual(env["GANETI_OP_CODE"], self.op.OP_ID)
self.assertEqual(env["GANETI_HOOKS_VERSION"], str(constants.HOOKS_VERSION))
- self.assertEqual(env["GANETI_DATA_DIR"], constants.DATA_DIR)
+ self.assertEqual(env["GANETI_DATA_DIR"], pathutils.DATA_DIR)
if "GANETI_OBJECT_TYPE" in env:
self.assertEqual(env["GANETI_OBJECT_TYPE"], constants.HTYPE_GROUP)
else:
def testEmptyEnv(self):
# Check pre-phase hook
self.lu.hook_env = {}
- hm = mcpu.HooksMaster(self._HooksRpc, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(self._HooksRpc, self.lu)
hm.RunPhase(constants.HOOKS_PHASE_PRE)
(node_list, hpath, phase, env) = self._rpcs.pop(0)
self.lu.hook_env = {
"FOO": "pre-foo-value",
}
- hm = mcpu.HooksMaster(self._HooksRpc, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(self._HooksRpc, self.lu)
hm.RunPhase(constants.HOOKS_PHASE_PRE)
(node_list, hpath, phase, env) = self._rpcs.pop(0)
self.lu.hook_env = { name: "value" }
# Test using a clean HooksMaster instance
- hm = mcpu.HooksMaster(self._HooksRpc, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(self._HooksRpc, self.lu)
for phase in [constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST]:
self.assertRaises(AssertionError, hm.RunPhase, phase)
def testNoNodes(self):
self.lu.hook_env = {}
- hm = mcpu.HooksMaster(self._HooksRpc, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(self._HooksRpc, self.lu)
hm.RunPhase(constants.HOOKS_PHASE_PRE, nodes=[])
self.assertRaises(IndexError, self._rpcs.pop)
"node93782.example.net",
]
- hm = mcpu.HooksMaster(self._HooksRpc, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(self._HooksRpc, self.lu)
for phase in [constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST]:
hm.RunPhase(phase, nodes=nodes)
"FOO": "value",
}
- hm = mcpu.HooksMaster(self._HooksRpc, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(self._HooksRpc, self.lu)
hm.RunConfigUpdate()
(node_list, hpath, phase, env) = self._rpcs.pop(0)
"FOO": "value",
}
- hm = mcpu.HooksMaster(self._HooksRpc, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(self._HooksRpc, self.lu)
hm.RunPhase(constants.HOOKS_PHASE_POST)
(node_list, hpath, phase, env) = self._rpcs.pop(0)
self.assertRaises(AssertionError, self.lu.BuildHooksEnv)
self.assertRaises(AssertionError, self.lu.BuildHooksNodes)
- hm = mcpu.HooksMaster(self._HooksRpc, self.lu)
+ hm = mcpu.HooksMaster.BuildFromLu(self._HooksRpc, self.lu)
self.assertEqual(hm.pre_env, {})
self.assertRaises(IndexError, self._rpcs.pop)