def test_vbuckets_master_replicas(self): self.assertTrue(self.num_servers >= self.num_replicas + 1, 'This test requires more servers') self._load_by_vbuckets(self.buckets[0]) bucket = RestConnection(self.master).get_bucket(self.buckets[0]) shell = RemoteMachineShellConnection(self.master) try: prefix = 'curl -g http://localhost:%s/pools/default/buckets/%s |' % ( self.master.port or '8091', bucket.name) for vb, items in self.keys_per_vbuckets_dict.items(): o, _ = shell.execute_vbuckettool(items, prefix) result = self._parse_vbuckets(o) for item in items: self.assertTrue( result[item][1].startswith(bucket.vbuckets[vb].master), 'Key: %s. Vbucket master expected is %s. Actual: %s' % (item, bucket.vbuckets[vb].master, result[item])) self.assertFalse( { replica[:replica.index(':')] for replica in result[item][2] } - set(bucket.vbuckets[vb].replica), 'Key: %s. Vbucket master expected is %s. Actual: %s' % (item, bucket.vbuckets[vb].replica, result[item])) finally: shell.disconnect()
def test_vbuckets_ids(self): self._load_by_vbuckets(self.buckets[0]) shell = RemoteMachineShellConnection(self.master) try: prefix = 'curl http://localhost:%s/pools/default/buckets/%s |' % ( self.master.port or '8091', self.buckets[0].name) for vb, items in self.keys_per_vbuckets_dict.iteritems(): o, _ = shell.execute_vbuckettool(items, prefix) result = self._parse_vbuckets(o) for item in items: self.assertEqual(str(result[item][0]), str(vb.id), 'Key: %s. Vbucket expected is %s. Actual: %s' % ( item, vb.id, result[item])) finally: shell.disconnect()
def test_vbuckets_ids(self): self._load_by_vbuckets(self.buckets[0]) shell = RemoteMachineShellConnection(self.master) try: prefix = 'curl -g http://localhost:%s/pools/default/buckets/%s |' % ( self.master.port or '8091', self.buckets[0].name) for vb, items in self.keys_per_vbuckets_dict.iteritems(): o, _ = shell.execute_vbuckettool(items, prefix) result = self._parse_vbuckets(o) for item in items: self.assertEqual(str(result[item][0]), str(vb.id), 'Key: %s. Vbucket expected is %s. Actual: %s' % ( item, vb.id, result[item])) finally: shell.disconnect()
def test_vbuckets_master_replicas(self): self.assertTrue(self.num_servers >= self.num_replicas + 1, 'This test requires more servers') self._load_by_vbuckets(self.buckets[0]) bucket = RestConnection(self.master).get_bucket(self.buckets[0]) shell = RemoteMachineShellConnection(self.master) try: prefix = 'curl http://localhost:%s/pools/default/buckets/%s |' % ( self.master.port or '8091', bucket.name) for vb, items in self.keys_per_vbuckets_dict.iteritems(): o, _ = shell.execute_vbuckettool(items, prefix) result = self._parse_vbuckets(o) for item in items: self.assertTrue(result[item][1].startswith(bucket.vbuckets[vb.id].master), 'Key: %s. Vbucket master expected is %s. Actual: %s' % ( item, bucket.vbuckets[vb.id].master, result[item])) self.assertFalse(set([replica[:replica.index(':')] for replica in result[item][2]]) - set(bucket.vbuckets[vb.id].replica), 'Key: %s. Vbucket master expected is %s. Actual: %s' % ( item, bucket.vbuckets[vb.id].replica, result[item])) finally: shell.disconnect()