X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/d6f58310e6e1e92f287ff0e720dabad7eda84e11..5ad68a231454a2112fb10352b1856467ef1d9b10:/test/ganeti.mcpu_unittest.py diff --git a/test/ganeti.mcpu_unittest.py b/test/ganeti.mcpu_unittest.py index 2b052e1..4285932 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 @@ -72,6 +85,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()