Exemple #1
0
 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()
Exemple #2
0
 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()
Exemple #3
0
 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()
Exemple #4
0
 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()