Revision 1c3231aa test/py/ganeti.hooks_unittest.py

b/test/py/ganeti.hooks_unittest.py
51 51
    return {}
52 52

  
53 53
  def BuildHooksNodes(self):
54
    return ["localhost"], ["localhost"]
54
    return ["a"], ["a"]
55 55

  
56 56

  
57 57
class TestHooksRunner(unittest.TestCase):
......
290 290
    return self.hook_env
291 291

  
292 292
  def BuildHooksNodes(self):
293
    return (["localhost"], ["localhost"])
293
    return (["a"], ["a"])
294 294

  
295 295

  
296 296
class FakeNoHooksLU(cmdlib.NoHooksLU):
......
327 327
    hm.RunPhase(constants.HOOKS_PHASE_PRE)
328 328

  
329 329
    (node_list, hpath, phase, env) = self._rpcs.pop(0)
330
    self.assertEqual(node_list, set(["localhost"]))
330
    self.assertEqual(node_list, set(["node_a.example.com"]))
331 331
    self.assertEqual(hpath, self.lu.HPATH)
332 332
    self.assertEqual(phase, constants.HOOKS_PHASE_PRE)
333 333
    self._CheckEnv(env, constants.HOOKS_PHASE_PRE, self.lu.HPATH)
......
337 337
    hm.RunPhase(constants.HOOKS_PHASE_POST)
338 338

  
339 339
    (node_list, hpath, phase, env) = self._rpcs.pop(0)
340
    self.assertEqual(node_list, set(["localhost"]))
340
    self.assertEqual(node_list, set(["node_a.example.com"]))
341 341
    self.assertEqual(hpath, self.lu.HPATH)
342 342
    self.assertEqual(phase, constants.HOOKS_PHASE_POST)
343 343
    self._CheckEnv(env, constants.HOOKS_PHASE_POST, self.lu.HPATH)
......
353 353
    hm.RunPhase(constants.HOOKS_PHASE_PRE)
354 354

  
355 355
    (node_list, hpath, phase, env) = self._rpcs.pop(0)
356
    self.assertEqual(node_list, set(["localhost"]))
356
    self.assertEqual(node_list, set(["node_a.example.com"]))
357 357
    self.assertEqual(hpath, self.lu.HPATH)
358 358
    self.assertEqual(phase, constants.HOOKS_PHASE_PRE)
359 359
    self.assertEqual(env["GANETI_FOO"], "pre-foo-value")
......
368 368
    hm.RunPhase(constants.HOOKS_PHASE_POST)
369 369

  
370 370
    (node_list, hpath, phase, env) = self._rpcs.pop(0)
371
    self.assertEqual(node_list, set(["localhost"]))
371
    self.assertEqual(node_list, set(["node_a.example.com"]))
372 372
    self.assertEqual(hpath, self.lu.HPATH)
373 373
    self.assertEqual(phase, constants.HOOKS_PHASE_POST)
374 374
    self.assertEqual(env["GANETI_FOO"], "pre-foo-value")
......
382 382
    # Check configuration update hook
383 383
    hm.RunConfigUpdate()
384 384
    (node_list, hpath, phase, env) = self._rpcs.pop(0)
385
    self.assertEqual(set(node_list), set([self.lu.cfg.GetMasterNode()]))
385
    self.assertEqual(set(node_list), set([self.lu.cfg.GetMasterNodeName()]))
386 386
    self.assertEqual(hpath, constants.HOOKS_NAME_CFGUPDATE)
387 387
    self.assertEqual(phase, constants.HOOKS_PHASE_POST)
388 388
    self._CheckEnv(env, constants.HOOKS_PHASE_POST,
......
405 405
  def testNoNodes(self):
406 406
    self.lu.hook_env = {}
407 407
    hm = hooksmaster.HooksMaster.BuildFromLu(self._HooksRpc, self.lu)
408
    hm.RunPhase(constants.HOOKS_PHASE_PRE, nodes=[])
408
    hm.RunPhase(constants.HOOKS_PHASE_PRE, node_names=[])
409 409
    self.assertRaises(IndexError, self._rpcs.pop)
410 410

  
411 411
  def testSpecificNodes(self):
......
419 419
    hm = hooksmaster.HooksMaster.BuildFromLu(self._HooksRpc, self.lu)
420 420

  
421 421
    for phase in [constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST]:
422
      hm.RunPhase(phase, nodes=nodes)
422
      hm.RunPhase(phase, node_names=nodes)
423 423

  
424 424
      (node_list, hpath, rpc_phase, env) = self._rpcs.pop(0)
425 425
      self.assertEqual(set(node_list), set(nodes))
......
438 438
    hm.RunConfigUpdate()
439 439

  
440 440
    (node_list, hpath, phase, env) = self._rpcs.pop(0)
441
    self.assertEqual(set(node_list), set([self.lu.cfg.GetMasterNode()]))
441
    self.assertEqual(set(node_list), set([self.lu.cfg.GetMasterNodeName()]))
442 442
    self.assertEqual(hpath, constants.HOOKS_NAME_CFGUPDATE)
443 443
    self.assertEqual(phase, constants.HOOKS_PHASE_POST)
444 444
    self.assertEqual(env["GANETI_FOO"], "value")
......
457 457
    hm.RunPhase(constants.HOOKS_PHASE_POST)
458 458

  
459 459
    (node_list, hpath, phase, env) = self._rpcs.pop(0)
460
    self.assertEqual(node_list, set(["localhost"]))
460
    self.assertEqual(node_list, set(["node_a.example.com"]))
461 461
    self.assertEqual(hpath, self.lu.HPATH)
462 462
    self.assertEqual(phase, constants.HOOKS_PHASE_POST)
463 463
    self.assertEqual(env["GANETI_FOO"], "value")
......
484 484
    hm.RunConfigUpdate()
485 485

  
486 486
    (node_list, hpath, phase, env) = self._rpcs.pop(0)
487
    self.assertEqual(set(node_list), set([self.lu.cfg.GetMasterNode()]))
487
    self.assertEqual(set(node_list), set([self.lu.cfg.GetMasterNodeName()]))
488 488
    self.assertEqual(hpath, constants.HOOKS_NAME_CFGUPDATE)
489 489
    self.assertEqual(phase, constants.HOOKS_PHASE_POST)
490 490
    self.assertFalse(compat.any(key.startswith("GANETI_POST") for key in env))
......
495 495
    assert isinstance(self.lu, FakeNoHooksLU), "LU was replaced"
496 496

  
497 497

  
498
class FakeEnvWithNodeNameLU(cmdlib.LogicalUnit):
499
  HPATH = "env_test_lu"
500
  HTYPE = constants.HTYPE_GROUP
501

  
502
  def __init__(self, *args):
503
    cmdlib.LogicalUnit.__init__(self, *args)
504

  
505
  def BuildHooksEnv(self):
506
    return {}
507

  
508
  def BuildHooksNodes(self):
509
    return (["a"], ["a"], ["explicit.node1.com", "explicit.node2.com"])
510

  
511

  
512
class TestHooksRunnerEnv(unittest.TestCase):
513
  def setUp(self):
514
    self._rpcs = []
515

  
516
    self.op = opcodes.OpTestDummy(result=False, messages=[], fail=False)
517
    self.lu = FakeEnvWithNodeNameLU(FakeProc(), self.op, FakeContext(), None)
518

  
519
  def _HooksRpc(self, *args):
520
    self._rpcs.append(args)
521
    return FakeHooksRpcSuccess(*args)
522

  
523
  def testEmptyEnv(self):
524
    # Check pre-phase hook
525
    hm = hooksmaster.HooksMaster.BuildFromLu(self._HooksRpc, self.lu)
526
    hm.RunPhase(constants.HOOKS_PHASE_PRE)
527

  
528
    (node_list, hpath, phase, env) = self._rpcs.pop(0)
529
    self.assertEqual(node_list, set(["node_a.example.com"]))
530

  
531
    # Check post-phase hook
532
    hm.RunPhase(constants.HOOKS_PHASE_POST)
533

  
534
    (node_list, hpath, phase, env) = self._rpcs.pop(0)
535
    self.assertEqual(node_list, set(["node_a.example.com",
536
                                     "explicit.node1.com",
537
                                     "explicit.node2.com"]))
538

  
539
    self.assertRaises(IndexError, self._rpcs.pop)
540

  
541

  
498 542
if __name__ == "__main__":
499 543
  testutils.GanetiTestProgram()

Also available in: Unified diff