Example #1
0
 def setUp(self):
     super(ClusterTest, self).setUp()
     self.get_client_patch = patch.object(task_api.API, 'get_client')
     self.get_client_mock = self.get_client_patch.start()
     self.addCleanup(self.get_client_patch.stop)
     self.cluster_id = str(uuid.uuid4())
     self.cluster_name = "Cluster" + self.cluster_id
     self.tenant_id = "23423432"
     self.dv_id = "1"
     self.db_info = DBCluster(ClusterTasks.NONE,
                              id=self.cluster_id,
                              name=self.cluster_name,
                              tenant_id=self.tenant_id,
                              datastore_version_id=self.dv_id,
                              task_id=ClusterTasks.NONE._code)
     self.context = trove_testtools.TroveTestContext(self)
     self.datastore = Mock()
     self.dv = Mock()
     self.dv.manager = "vertica"
     self.datastore_version = self.dv
     self.cluster = vertica_api.VerticaCluster(self.context, self.db_info,
                                               self.datastore,
                                               self.datastore_version)
     self.instances = [{'volume_size': 1, 'flavor_id': '1234',
                        'instance_type': 'master'},
                       {'volume_size': 1, 'flavor_id': '1234',
                        'instance_type': 'member'},
                       {'volume_size': 1, 'flavor_id': '1234',
                        'instance_type': 'member'}]
     self.db_instances = [1, 2, 3]
Example #2
0
 def setUp(self):
     super(ClusterTest, self).setUp()
     task_api.API.get_client = Mock()
     self.cluster_id = str(uuid.uuid4())
     self.cluster_name = "Cluster" + self.cluster_id
     self.tenant_id = "23423432"
     self.dv_id = "1"
     self.db_info = DBCluster(ClusterTasks.NONE,
                              id=self.cluster_id,
                              name=self.cluster_name,
                              tenant_id=self.tenant_id,
                              datastore_version_id=self.dv_id,
                              task_id=ClusterTasks.NONE._code)
     self.context = Mock()
     self.datastore = Mock()
     self.dv = Mock()
     self.dv.manager = "mongodb"
     self.datastore_version = self.dv
     self.cluster = mongodb_api.MongoDbCluster(self.context, self.db_info,
                                               self.datastore,
                                               self.datastore_version)
     self.instances = [{
         'volume_size': 1,
         'flavor_id': '1234'
     }, {
         'volume_size': 1,
         'flavor_id': '1234'
     }, {
         'volume_size': 1,
         'flavor_id': '1234'
     }]
     self.volume_support = CONF.get(self.dv.manager).volume_support
     self.remote_nova = remote.create_nova_client
Example #3
0
 def setUp(self):
     super(ClusterTest, self).setUp()
     self.get_client_patch = patch.object(task_api.API, 'get_client')
     self.get_client_mock = self.get_client_patch.start()
     self.addCleanup(self.get_client_patch.stop)
     self.cluster_id = str(uuid.uuid4())
     self.cluster_name = "Cluster" + self.cluster_id
     self.tenant_id = "23423432"
     self.dv_id = "1"
     self.db_info = DBCluster(ClusterTasks.NONE,
                              id=self.cluster_id,
                              name=self.cluster_name,
                              tenant_id=self.tenant_id,
                              datastore_version_id=self.dv_id,
                              task_id=ClusterTasks.NONE._code)
     self.context = Mock()
     self.datastore = Mock()
     self.dv = Mock()
     self.dv.manager = "pxc"
     self.datastore_version = self.dv
     self.cluster = pxc_api.PXCCluster(self.context, self.db_info,
                                       self.datastore,
                                       self.datastore_version)
     self.instances = [{
         'volume_size': 1,
         'flavor_id': '1234'
     }, {
         'volume_size': 1,
         'flavor_id': '1234'
     }, {
         'volume_size': 1,
         'flavor_id': '1234'
     }]
Example #4
0
 def setUp(self):
     super(ClusterTest, self).setUp()
     self.get_client_patch = patch.object(task_api.API, 'get_client')
     self.get_client_mock = self.get_client_patch.start()
     self.addCleanup(self.get_client_patch.stop)
     self.cluster_id = str(uuid.uuid4())
     self.cluster_name = "Cluster" + self.cluster_id
     self.tenant_id = "23423432"
     self.dv_id = "1"
     self.db_info = DBCluster(ClusterTasks.NONE,
                              id=self.cluster_id,
                              name=self.cluster_name,
                              tenant_id=self.tenant_id,
                              datastore_version_id=self.dv_id,
                              task_id=ClusterTasks.NONE._code)
     self.context = trove_testtools.TroveTestContext(self)
     self.datastore = Mock()
     self.dv = Mock()
     self.dv.manager = "mongodb"
     self.datastore_version = self.dv
     self.cluster = mongodb_api.MongoDbCluster(self.context, self.db_info,
                                               self.datastore,
                                               self.datastore_version)
     self.cluster._server_group_loaded = True
     self.instances = [{'volume_size': 1, 'flavor_id': '1234'},
                       {'volume_size': 1, 'flavor_id': '1234'},
                       {'volume_size': 1, 'flavor_id': '1234'}]
     self.volume_support = CONF.get(self.dv.manager).volume_support
     self.remote_nova = remote.create_nova_client
Example #5
0
    def setUp(self):
        super(ClusterTest, self).setUp()

        self.cluster_id = str(uuid.uuid4())
        self.cluster_name = "Cluster" + self.cluster_id
        self.tenant_id = "23423432"
        self.dv_id = "1"
        self.db_info = DBCluster(ClusterTasks.NONE,
                                 id=self.cluster_id,
                                 name=self.cluster_name,
                                 tenant_id=self.tenant_id,
                                 datastore_version_id=self.dv_id,
                                 task_id=ClusterTasks.NONE._code)

        self.get_client_patch = patch.object(task_api.API, 'get_client')
        self.get_client_mock = self.get_client_patch.start()
        self.addCleanup(self.get_client_patch.stop)
        self.dbcreate_patch = patch.object(DBCluster, 'create',
                                           return_value=self.db_info)
        self.dbcreate_mock = self.dbcreate_patch.start()
        self.addCleanup(self.dbcreate_patch.stop)

        self.context = Mock()
        self.datastore = Mock()
        self.dv = Mock()
        self.dv.manager = "redis"
        self.datastore_version = self.dv
        self.cluster = redis_api.RedisCluster(self.context, self.db_info,
                                              self.datastore,
                                              self.datastore_version)
        self.instances_w_volumes = [{'volume_size': 1,
                                     'flavor_id': '1234'}] * 3
        self.instances_no_volumes = [{'flavor_id': '1234'}] * 3
Example #6
0
 def setUp(self):
     super(ClusterTest, self).setUp()
     self.get_client_patch = patch.object(task_api.API, 'get_client')
     self.get_client_mock = self.get_client_patch.start()
     self.addCleanup(self.get_client_patch.stop)
     self.cluster_id = str(uuid.uuid4())
     self.cluster_name = "Cluster" + self.cluster_id
     self.tenant_id = "23423432"
     self.dv_id = "1"
     self.db_info = DBCluster(ClusterTasks.NONE,
                              id=self.cluster_id,
                              name=self.cluster_name,
                              tenant_id=self.tenant_id,
                              datastore_version_id=self.dv_id,
                              task_id=ClusterTasks.NONE._code)
     self.context = trove_testtools.TroveTestContext(self)
     self.datastore = Mock()
     self.dv = Mock()
     self.dv.manager = "pxc"
     self.datastore_version = self.dv
     self.cluster = galera_api.GaleraCommonCluster(
         self.context, self.db_info, self.datastore, self.datastore_version)
     self.cluster._server_group_loaded = True
     self.instances = [
         {'volume_size': 1, 'flavor_id': '1234',
          'nics': [{"net-id": "foo-bar"}]},
         {'volume_size': 1, 'flavor_id': '1234',
          'nics': [{"net-id": "foo-bar"}]},
         {'volume_size': 1, 'flavor_id': '1234',
          'nics': [{"net-id": "foo-bar"}]}]
Example #7
0
 def setUp(self):
     super(MongoDbClusterTasksTest, self).setUp()
     self.cluster_id = "1232"
     self.cluster_name = "Cluster-1234"
     self.tenant_id = "6789"
     self.db_cluster = DBCluster(ClusterTaskStatus.NONE,
                                 id=self.cluster_id,
                                 created=str(datetime.date),
                                 updated=str(datetime.date),
                                 name=self.cluster_name,
                                 task_id=ClusterTaskStatus.NONE._code,
                                 tenant_id=self.tenant_id,
                                 datastore_version_id="1",
                                 deleted=False)
     self.dbinst1 = DBInstance(InstanceTasks.NONE, id="1", name="member1",
                               compute_instance_id="compute-1",
                               task_id=InstanceTasks.NONE._code,
                               task_description=InstanceTasks.NONE._db_text,
                               volume_id="volume-1",
                               datastore_version_id="1",
                               cluster_id=self.cluster_id,
                               shard_id="shard-1",
                               type="member")
     self.dbinst2 = DBInstance(InstanceTasks.NONE, id="2", name="member2",
                               compute_instance_id="compute-2",
                               task_id=InstanceTasks.NONE._code,
                               task_description=InstanceTasks.NONE._db_text,
                               volume_id="volume-2",
                               datastore_version_id="1",
                               cluster_id=self.cluster_id,
                               shard_id="shard-1",
                               type="member")
     self.dbinst3 = DBInstance(InstanceTasks.NONE, id="3", name="mongos",
                               compute_instance_id="compute-3",
                               task_id=InstanceTasks.NONE._code,
                               task_description=InstanceTasks.NONE._db_text,
                               volume_id="volume-3",
                               datastore_version_id="1",
                               cluster_id=self.cluster_id,
                               shard_id="shard-1",
                               type="query_router")
     self.dbinst4 = DBInstance(InstanceTasks.NONE, id="4",
                               name="configserver",
                               compute_instance_id="compute-4",
                               task_id=InstanceTasks.NONE._code,
                               task_description=InstanceTasks.NONE._db_text,
                               volume_id="volume-4",
                               datastore_version_id="1",
                               cluster_id=self.cluster_id,
                               shard_id="shard-1",
                               type="config_server")
     mock_ds1 = Mock()
     mock_ds1.name = 'mongodb'
     mock_dv1 = Mock()
     mock_dv1.name = '2.0.4'
     self.clustertasks = ClusterTasks(Mock(),
                                      self.db_cluster,
                                      datastore=mock_ds1,
                                      datastore_version=mock_dv1)
Example #8
0
 def setUp(self):
     super(PXCClusterTasksTest, self).setUp()
     util.init_db()
     self.cluster_id = "1232"
     self.cluster_name = "Cluster-1234"
     self.tenant_id = "6789"
     self.db_cluster = DBCluster(ClusterTaskStatus.NONE,
                                 id=self.cluster_id,
                                 created=str(datetime.date),
                                 updated=str(datetime.date),
                                 name=self.cluster_name,
                                 task_id=ClusterTaskStatus.NONE._code,
                                 tenant_id=self.tenant_id,
                                 datastore_version_id="1",
                                 deleted=False)
     self.dbinst1 = DBInstance(InstanceTasks.NONE,
                               id="1",
                               name="member1",
                               compute_instance_id="compute-1",
                               task_id=InstanceTasks.NONE._code,
                               task_description=InstanceTasks.NONE._db_text,
                               volume_id="volume-1",
                               datastore_version_id="1",
                               cluster_id=self.cluster_id,
                               type="member")
     self.dbinst2 = DBInstance(InstanceTasks.NONE,
                               id="2",
                               name="member2",
                               compute_instance_id="compute-2",
                               task_id=InstanceTasks.NONE._code,
                               task_description=InstanceTasks.NONE._db_text,
                               volume_id="volume-2",
                               datastore_version_id="1",
                               cluster_id=self.cluster_id,
                               type="member")
     self.dbinst3 = DBInstance(InstanceTasks.NONE,
                               id="3",
                               name="member3",
                               compute_instance_id="compute-3",
                               task_id=InstanceTasks.NONE._code,
                               task_description=InstanceTasks.NONE._db_text,
                               volume_id="volume-3",
                               datastore_version_id="1",
                               cluster_id=self.cluster_id,
                               type="member")
     mock_ds1 = Mock()
     mock_ds1.name = 'pxc'
     mock_dv1 = Mock()
     mock_dv1.name = '7.1'
     self.clustertasks = ClusterTasks(Mock(),
                                      self.db_cluster,
                                      datastore=mock_ds1,
                                      datastore_version=mock_dv1)
Example #9
0
    def get_manager(self, tenant_id, target_id):
        args = {'id': target_id, 'tenant_id': tenant_id}
        is_cluster = False
        try:
            db_info = DBInstance.find_by(**args)
        except exception.ModelNotFoundError:
            is_cluster = True
            db_info = DBCluster.find_by(**args)

        ds_version = (datastore_models.DatastoreVersion.
                      load_by_uuid(db_info.datastore_version_id))
        ds_manager = ds_version.manager
        return (ds_manager, is_cluster)
Example #10
0
    def _get_datastore(self, tenant_id, instance_or_cluster_id):
        """
        Returns datastore manager and a boolean
        showing if instance_or_cluster_id is a cluster id
        """
        args = {'id': instance_or_cluster_id, 'tenant_id': tenant_id}
        is_cluster = False
        try:
            db_info = DBInstance.find_by(**args)
        except exception.ModelNotFoundError:
            is_cluster = True
            db_info = DBCluster.find_by(**args)

        ds_version = (datastore_models.DatastoreVersion.load_by_uuid(
            db_info.datastore_version_id))
        ds_manager = ds_version.manager
        return (ds_manager, is_cluster)
Example #11
0
    def _get_datastore(self, tenant_id, instance_or_cluster_id):
        """
        Returns datastore manager and a boolean
        showing if instance_or_cluster_id is a cluster id
        """
        args = {'id': instance_or_cluster_id, 'tenant_id': tenant_id}
        is_cluster = False
        try:
            db_info = DBInstance.find_by(**args)
        except exception.ModelNotFoundError:
            is_cluster = True
            db_info = DBCluster.find_by(**args)

        ds_version = (datastore_models.DatastoreVersion.
                      load_by_uuid(db_info.datastore_version_id))
        ds_manager = ds_version.manager
        return (ds_manager, is_cluster)
    def test_controller_action_no_strategy(self,
                                           mock_cluster_load):

        body = {'do_stuff2': {}}
        tenant_id = Mock()
        context = trove_testtools.TroveTestContext(self)
        cluster_id = Mock()

        req = Mock()
        req.environ = MagicMock()
        req.environ.get = Mock(return_value=context)

        db_info = DBCluster(ClusterTasks.NONE, id=cluster_id,
                            tenant_id=tenant_id)
        cluster = Cluster(context, db_info, datastore='test_ds',
                          datastore_version='test_dsv')
        mock_cluster_load.return_value = cluster

        self.assertRaisesRegexp(exception.TroveError,
                                'Action do_stuff2 not supported',
                                self.controller.action, req,
                                body, tenant_id, cluster_id)
 def setUp(self):
     super(GaleraClusterTasksTest, self).setUp()
     util.init_db()
     self.cluster_id = "1232"
     self.cluster_name = "Cluster-1234"
     self.tenant_id = "6789"
     self.db_cluster = DBCluster(ClusterTaskStatus.NONE,
                                 id=self.cluster_id,
                                 created=str(datetime.date),
                                 updated=str(datetime.date),
                                 name=self.cluster_name,
                                 task_id=ClusterTaskStatus.NONE._code,
                                 tenant_id=self.tenant_id,
                                 datastore_version_id="1",
                                 deleted=False)
     self.dbinst1 = DBInstance(InstanceTasks.NONE,
                               id="1",
                               name="member1",
                               compute_instance_id="compute-1",
                               task_id=InstanceTasks.NONE._code,
                               task_description=InstanceTasks.NONE._db_text,
                               volume_id="volume-1",
                               datastore_version_id="1",
                               cluster_id=self.cluster_id,
                               type="member")
     self.dbinst2 = DBInstance(InstanceTasks.NONE,
                               id="2",
                               name="member2",
                               compute_instance_id="compute-2",
                               task_id=InstanceTasks.NONE._code,
                               task_description=InstanceTasks.NONE._db_text,
                               volume_id="volume-2",
                               datastore_version_id="1",
                               cluster_id=self.cluster_id,
                               type="member")
     self.dbinst3 = DBInstance(InstanceTasks.NONE,
                               id="3",
                               name="member3",
                               compute_instance_id="compute-3",
                               task_id=InstanceTasks.NONE._code,
                               task_description=InstanceTasks.NONE._db_text,
                               volume_id="volume-3",
                               datastore_version_id="1",
                               cluster_id=self.cluster_id,
                               type="member")
     mock_ds1 = Mock()
     mock_ds1.name = 'pxc'
     mock_dv1 = Mock()
     mock_dv1.name = '7.1'
     self.clustertasks = GaleraCommonClusterTasks(
         Mock(),
         self.db_cluster,
         datastore=mock_ds1,
         datastore_version=mock_dv1)
     self.cluster_context = {
         'replication_user': {
             'name': "name",
             'password': "******",
         },
         'cluster_name': self.cluster_name,
         'admin_password': "******"
     }