def test_10_operational(self): num_partitions = 5 num_replicas = 2 pt = PartitionTable(num_partitions, num_replicas) self.assertFalse(pt.filled()) self.assertFalse(pt.operational()) # adding a node in all partition uuid1 = self.getStorageUUID() server1 = ("127.0.0.1", 19001) sn1 = StorageNode(Mock(), server1, uuid1) for x in xrange(num_partitions): pt.setCell(x, sn1, CellStates.UP_TO_DATE) self.assertTrue(pt.filled()) # it's up to date and running, so operational sn1.setState(NodeStates.RUNNING) self.assertTrue(pt.operational()) # same with feeding state pt.clear() self.assertFalse(pt.filled()) self.assertFalse(pt.operational()) # adding a node in all partition uuid1 = self.getStorageUUID() server1 = ("127.0.0.1", 19001) sn1 = StorageNode(Mock(), server1, uuid1) for x in xrange(num_partitions): pt.setCell(x, sn1, CellStates.FEEDING) self.assertTrue(pt.filled()) # it's feeding and running, so operational sn1.setState(NodeStates.RUNNING) self.assertTrue(pt.operational()) # same with feeding state but non running node pt.clear() self.assertFalse(pt.filled()) self.assertFalse(pt.operational()) # adding a node in all partition uuid1 = self.getStorageUUID() server1 = ("127.0.0.1", 19001) sn1 = StorageNode(Mock(), server1, uuid1) sn1.setState(NodeStates.TEMPORARILY_DOWN) for x in xrange(num_partitions): pt.setCell(x, sn1, CellStates.FEEDING) self.assertTrue(pt.filled()) # it's up to date and not running, so not operational self.assertFalse(pt.operational()) # same with out of date state and running pt.clear() self.assertFalse(pt.filled()) self.assertFalse(pt.operational()) # adding a node in all partition uuid1 = self.getStorageUUID() server1 = ("127.0.0.1", 19001) sn1 = StorageNode(Mock(), server1, uuid1) for x in xrange(num_partitions): pt.setCell(x, sn1, CellStates.OUT_OF_DATE) self.assertTrue(pt.filled()) # it's not up to date and running, so not operational self.assertFalse(pt.operational())
def test_08_filled(self): num_partitions = 5 num_replicas = 2 pt = PartitionTable(num_partitions, num_replicas) self.assertEqual(pt.np, num_partitions) self.assertEqual(pt.num_filled_rows, 0) self.assertFalse(pt.filled()) # adding a node in all partition uuid1 = self.getStorageUUID() server1 = ("127.0.0.1", 19001) sn1 = self.createStorage(server1, uuid1) for x in xrange(num_partitions): pt._setCell(x, sn1, CellStates.UP_TO_DATE) self.assertEqual(pt.num_filled_rows, num_partitions) self.assertTrue(pt.filled())
def test_08_filled(self): num_partitions = 5 num_replicas = 2 pt = PartitionTable(num_partitions, num_replicas) self.assertEqual(pt.np, num_partitions) self.assertEqual(pt.num_filled_rows, 0) self.assertFalse(pt.filled()) # adding a node in all partition uuid1 = self.getStorageUUID() server1 = ("127.0.0.1", 19001) sn1 = StorageNode(Mock(), server1, uuid1) for x in xrange(num_partitions): pt.setCell(x, sn1, CellStates.UP_TO_DATE) self.assertEqual(pt.num_filled_rows, num_partitions) self.assertTrue(pt.filled())
def test_10_operational(self): def createStorage(): uuid = self.getStorageUUID() return self.createStorage(("127.0.0.1", uuid), uuid) num_partitions = 5 num_replicas = 2 pt = PartitionTable(num_partitions, num_replicas) self.assertFalse(pt.filled()) self.assertFalse(pt.operational()) # adding a node in all partition sn1 = createStorage() for x in xrange(num_partitions): pt._setCell(x, sn1, CellStates.UP_TO_DATE) self.assertTrue(pt.filled()) # it's up to date and running, so operational sn1.setState(NodeStates.RUNNING) self.assertTrue(pt.operational()) # same with feeding state pt.clear() self.assertFalse(pt.filled()) self.assertFalse(pt.operational()) # adding a node in all partition sn1 = createStorage() for x in xrange(num_partitions): pt._setCell(x, sn1, CellStates.FEEDING) self.assertTrue(pt.filled()) # it's feeding and running, so operational sn1.setState(NodeStates.RUNNING) self.assertTrue(pt.operational()) # same with feeding state but non running node pt.clear() self.assertFalse(pt.filled()) self.assertFalse(pt.operational()) # adding a node in all partition sn1 = createStorage() sn1.setState(NodeStates.DOWN) for x in xrange(num_partitions): pt._setCell(x, sn1, CellStates.FEEDING) self.assertTrue(pt.filled()) # it's up to date and not running, so not operational self.assertFalse(pt.operational()) # same with out of date state and running pt.clear() self.assertFalse(pt.filled()) self.assertFalse(pt.operational()) # adding a node in all partition sn1 = createStorage() for x in xrange(num_partitions): pt._setCell(x, sn1, CellStates.OUT_OF_DATE) self.assertTrue(pt.filled()) # it's not up to date and running, so not operational self.assertFalse(pt.operational())