diff --git a/test/ganeti.mcpu_unittest.py b/test/ganeti.mcpu_unittest.py index 20707623ca3a5532ae20e704372e457fef8090b2..89d588a4bfbb2d81060c36ee355c9a52e85c0ae7 100755 --- a/test/ganeti.mcpu_unittest.py +++ b/test/ganeti.mcpu_unittest.py @@ -34,6 +34,19 @@ from ganeti.constants import \ import testutils +REQ_BGL_WHITELIST = frozenset([ + opcodes.OpClusterActivateMasterIp, + opcodes.OpClusterDeactivateMasterIp, + opcodes.OpClusterDestroy, + opcodes.OpClusterPostInit, + opcodes.OpClusterRename, + opcodes.OpInstanceRename, + opcodes.OpNodeAdd, + opcodes.OpNodeRemove, + opcodes.OpTestAllocator, + ]) + + class TestLockAttemptTimeoutStrategy(unittest.TestCase): def testConstants(self): tpa = mcpu.LockAttemptTimeoutStrategy._TIMEOUT_PER_ATTEMPT @@ -67,6 +80,16 @@ class TestDispatchTable(unittest.TestCase): self.assertTrue(opcls in mcpu.Processor.DISPATCH_TABLE, msg="%s missing handler class" % opcls) + # Check against BGL whitelist + lucls = mcpu.Processor.DISPATCH_TABLE[opcls] + if lucls.REQ_BGL: + self.assertTrue(opcls in REQ_BGL_WHITELIST, + msg=("%s not whitelisted for BGL" % opcls.OP_ID)) + else: + self.assertFalse(opcls in REQ_BGL_WHITELIST, + msg=("%s whitelisted for BGL, but doesn't use it" % + opcls.OP_ID)) + if __name__ == "__main__": testutils.GanetiTestProgram()