当前位置: 首页>>代码示例>>Python>>正文


Python DBInstance.find_all方法代码示例

本文整理汇总了Python中trove.instance.models.DBInstance.find_all方法的典型用法代码示例。如果您正苦于以下问题:Python DBInstance.find_all方法的具体用法?Python DBInstance.find_all怎么用?Python DBInstance.find_all使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在trove.instance.models.DBInstance的用法示例。


在下文中一共展示了DBInstance.find_all方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_show_deleted_mgmt_instances

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
    def test_show_deleted_mgmt_instances(self):
        args = {'deleted': 0, 'cluster_id': None}
        db_infos_active = DBInstance.find_all(**args)
        args = {'deleted': 1, 'cluster_id': None}
        db_infos_deleted = DBInstance.find_all(**args)
        args = {'cluster_id': None}
        # db_infos_all = DBInstance.find_all(**args)

        # TODO(SlickNik) Fix this assert to work reliably in the gate.
        # This fails intermittenly when the unit tests run in parallel.
        # self.assertTrue(db_infos_all.count() ==
        #                 db_infos_active.count() +
        #                 db_infos_deleted.count())

        with patch.object(self.context, 'is_admin', return_value=True):
            deleted_instance = db_infos_deleted.all()[0]
            active_instance = db_infos_active.all()[0]

            instance = DBInstance.find_by(context=self.context,
                                          id=active_instance.id)
            self.assertEqual(active_instance.id, instance.id)

            self.assertRaises(
                exception.ModelNotFoundError,
                DBInstance.find_by,
                context=self.context,
                id=deleted_instance.id,
                deleted=False)

            instance = DBInstance.find_by(context=self.context,
                                          id=deleted_instance.id,
                                          deleted=True)
            self.assertEqual(deleted_instance.id, instance.id)
开发者ID:ww102111,项目名称:trove,代码行数:35,代码来源:test_models.py

示例2: _add_shard_cluster

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
        def _add_shard_cluster():

            db_instances = DBInstance.find_all(cluster_id=cluster_id,
                                               shard_id=shard_id).all()
            instance_ids = [db_instance.id for db_instance in db_instances]
            LOG.debug("instances in shard %s: %s" % (shard_id,
                                                     instance_ids))
            if not self._all_instances_ready(instance_ids, cluster_id,
                                             shard_id):
                return

            members = [Instance.load(context, instance_id)
                       for instance_id in instance_ids]

            db_query_routers = DBInstance.find_all(cluster_id=cluster_id,
                                                   type='query_router',
                                                   deleted=False).all()
            query_routers = [Instance.load(context, db_query_router.id)
                             for db_query_router in db_query_routers]

            if not self._create_shard(query_routers[0], members):
                return

            for member in members:
                self.get_guest(member).cluster_complete()
开发者ID:Hopebaytech,项目名称:trove,代码行数:27,代码来源:taskmanager.py

示例3: update_statuses_on_failure

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
    def update_statuses_on_failure(self, cluster_id, shard_id=None):

        if CONF.update_status_on_fail:
            if shard_id:
                db_instances = DBInstance.find_all(cluster_id=cluster_id,
                                                   shard_id=shard_id).all()
            else:
                db_instances = DBInstance.find_all(
                    cluster_id=cluster_id).all()

            for db_instance in db_instances:
                db_instance.set_task_status(
                    InstanceTasks.BUILDING_ERROR_SERVER)
                db_instance.save()
开发者ID:ShaguftaMethwani,项目名称:trove,代码行数:16,代码来源:taskmanager.py

示例4: _grow_cluster

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
        def _grow_cluster():

            db_instances = DBInstance.find_all(cluster_id=cluster_id).all()
            cluster_head = next(Instance.load(context, db_inst.id)
                                for db_inst in db_instances
                                if db_inst.id not in new_instance_ids)
            if not cluster_head:
                raise TroveError("Unable to determine existing Redis cluster "
                                 "member")

            (cluster_head_ip, cluster_head_port) = (
                self.get_guest(cluster_head).get_node_ip())

            # Wait for cluster members to get to cluster-ready status.
            if not self._all_instances_ready(new_instance_ids, cluster_id):
                return

            LOG.debug("All members ready, proceeding for cluster setup.")
            new_insts = [Instance.load(context, instance_id)
                         for instance_id in new_instance_ids]
            new_guests = map(self.get_guest, new_insts)

            # Connect nodes to the cluster head
            for guest in new_guests:
                guest.cluster_meet(cluster_head_ip, cluster_head_port)

            for guest in new_guests:
                guest.cluster_complete()
开发者ID:Hopebaytech,项目名称:trove,代码行数:30,代码来源:taskmanager.py

示例5: _shrink_cluster

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
        def _shrink_cluster():
            db_instances = DBInstance.find_all(cluster_id=cluster_id,
                                               deleted=False).all()

            all_instance_ids = [db_instance.id for db_instance in db_instances]

            remove_instances = [Instance.load(context, instance_id)
                                for instance_id in instance_ids]

            left_instances = [Instance.load(context, instance_id)
                              for instance_id
                              in all_instance_ids
                              if instance_id not in instance_ids]

            remove_member_ips = [self.get_ip(instance)
                                 for instance in remove_instances]

            k = VerticaCluster.k_safety(len(left_instances))

            for db_instance in db_instances:
                if db_instance['type'] == 'master':
                    master_instance = Instance.load(context,
                                                    db_instance.id)
                    if self.get_ip(master_instance) in remove_member_ips:
                        raise RuntimeError(_("Cannot remove master instance!"))
                    LOG.debug(_("Marking cluster k-safety: %s") % k)
                    self.get_guest(master_instance).mark_design_ksafe(k)
                    self.get_guest(master_instance).shrink_cluster(
                        remove_member_ips)
                    break

            for r in remove_instances:
                Instance.delete(r)
开发者ID:Hopebaytech,项目名称:trove,代码行数:35,代码来源:taskmanager.py

示例6: load

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
 def load(context, id):
     client = create_nova_client(context)
     account = client.accounts.get_instances(id)
     db_infos = DBInstance.find_all(tenant_id=id, deleted=False)
     servers = [Server(server) for server in account.servers]
     instances = MgmtInstances.load_status_from_existing(context, db_infos,
                                                         servers)
     return Account(id, instances)
开发者ID:abansal,项目名称:trove,代码行数:10,代码来源:models.py

示例7: all_instances_marked_deleted

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
 def all_instances_marked_deleted():
     non_deleted_instances = DBInstance.find_all(
         cluster_id=cluster_id, deleted=False).all()
     non_deleted_ids = [db_instance.id for db_instance
                        in non_deleted_instances]
     return not bool(
         set(instance_ids).intersection(set(non_deleted_ids))
     )
开发者ID:Hopebaytech,项目名称:trove,代码行数:10,代码来源:taskmanager.py

示例8: _create_cluster

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
        def _create_cluster():

            # fetch instances by cluster_id against instances table
            db_instances = DBInstance.find_all(cluster_id=cluster_id).all()
            instance_ids = [db_instance.id for db_instance in db_instances]
            LOG.debug("instances in cluster %s: %s" % (cluster_id,
                                                       instance_ids))

            if not self._all_instances_ready(instance_ids, cluster_id):
                return

            instances = [Instance.load(context, instance_id) for instance_id
                         in instance_ids]

            # filter query routers in instances into a new list: query_routers
            query_routers = [instance for instance in instances if
                             instance.type == 'query_router']
            LOG.debug("query routers: %s" %
                      [instance.id for instance in query_routers])
            # filter config servers in instances into new list: config_servers
            config_servers = [instance for instance in instances if
                              instance.type == 'config_server']
            LOG.debug("config servers: %s" %
                      [instance.id for instance in config_servers])
            # filter members (non router/configsvr) into a new list: members
            members = [instance for instance in instances if
                       instance.type == 'member']
            LOG.debug("members: %s" %
                      [instance.id for instance in members])

            # for config_server in config_servers, append ip/hostname to
            # "config_server_hosts", then
            # peel off the replica-set name and ip/hostname from 'x'
            config_server_ips = [self.get_ip(instance)
                                 for instance in config_servers]
            LOG.debug("config server ips: %s" % config_server_ips)

            LOG.debug("calling add_config_servers on query_routers")
            try:
                for query_router in query_routers:
                    (self.get_guest(query_router)
                     .add_config_servers(config_server_ips))
            except Exception:
                LOG.exception(_("error adding config servers"))
                self.update_statuses_on_failure(cluster_id)
                return

            if not self._create_replica_set(members, cluster_id):
                return

            replica_set_name = "rs1"
            if not self._create_shard(query_routers, replica_set_name,
                                      members, cluster_id):
                return
            # call to start checking status
            for instance in instances:
                self.get_guest(instance).cluster_complete()
开发者ID:ShaguftaMethwani,项目名称:trove,代码行数:59,代码来源:taskmanager.py

示例9: _get_cluster_instance_id

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
 def _get_cluster_instance_id(self, tenant_id, cluster_id):
     args = {'tenant_id': tenant_id, 'cluster_id': cluster_id}
     cluster_instances = DBInstance.find_all(**args).all()
     instance_ids = [db_instance.id for db_instance in cluster_instances]
     args = {'tenant_id': tenant_id, 'cluster_id': cluster_id, 'type':
             'master'}
     master_instance = DBInstance.find_by(**args)
     master_instance_id = master_instance.id
     return master_instance_id, instance_ids
开发者ID:pombredanne,项目名称:trove,代码行数:11,代码来源:service.py

示例10: check_resize

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
def check_resize(group_id):
    resize = InstanceTasks.RESIZING
    instances = DBInstance.find_all(group_id=group_id,task_id=resize.code())
    insts = list()
    for inst in instances:
        insts.append(inst)
        check_server_status(inst.id)
    return insts
    
    
开发者ID:zhujzhuo,项目名称:trove-1.0.10.4,代码行数:10,代码来源:utils.py

示例11: update_statuses_on_failure

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
    def update_statuses_on_failure(self, cluster_id):

        if CONF.update_status_on_fail:
            db_instances = DBInstance.find_all(
                cluster_id=cluster_id, deleted=False).all()

            for db_instance in db_instances:
                db_instance.set_task_status(
                    InstanceTasks.BUILDING_ERROR_SERVER)
                db_instance.save()
开发者ID:CMSS-BCRDB,项目名称:RDSV1.0,代码行数:12,代码来源:taskmanager.py

示例12: load

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
 def load(cls):
     # TODO(pdmars): This should probably be changed to a more generic
     # database filter query if one is added, however, this should suffice
     # for now.
     db_infos = DBInstance.find_all(deleted=False)
     tenant_ids_for_instances = [db_info.tenant_id for db_info in db_infos]
     tenant_ids = set(tenant_ids_for_instances)
     LOG.debug("All tenants with instances: %s" % tenant_ids)
     accounts = []
     for tenant_id in tenant_ids:
         num_instances = tenant_ids_for_instances.count(tenant_id)
         accounts.append({'id': tenant_id, 'num_instances': num_instances})
     return cls(accounts)
开发者ID:AlexeyDeyneko,项目名称:trove,代码行数:15,代码来源:models.py

示例13: _create_cluster

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
        def _create_cluster():

            # fetch instances by cluster_id against instances table
            db_instances = DBInstance.find_all(cluster_id=cluster_id).all()
            instance_ids = [db_instance.id for db_instance in db_instances]
            LOG.debug("instances in cluster %s: %s" % (cluster_id,
                                                       instance_ids))

            if not self._all_instances_ready(instance_ids, cluster_id):
                return

            LOG.debug("all instances in cluster %s ready." % cluster_id)

            instances = [Instance.load(context, instance_id) for instance_id
                         in instance_ids]

            # filter query routers in instances into a new list: query_routers
            query_routers = [instance for instance in instances if
                             instance.type == 'query_router']
            LOG.debug("query routers: %s" %
                      [instance.id for instance in query_routers])
            # filter config servers in instances into new list: config_servers
            config_servers = [instance for instance in instances if
                              instance.type == 'config_server']
            LOG.debug("config servers: %s" %
                      [instance.id for instance in config_servers])
            # filter members (non router/configsvr) into a new list: members
            members = [instance for instance in instances if
                       instance.type == 'member']
            LOG.debug("members: %s" %
                      [instance.id for instance in members])

            # for config_server in config_servers, append ip/hostname to
            # "config_server_hosts", then
            # peel off the replica-set name and ip/hostname from 'x'
            config_server_ips = [self.get_ip(instance)
                                 for instance in config_servers]
            LOG.debug("config server ips: %s" % config_server_ips)

            if not self._add_query_routers(query_routers,
                                           config_server_ips):
                return

            if not self._create_shard(query_routers[0], members):
                return

            # call to start checking status
            for instance in instances:
                self.get_guest(instance).cluster_complete()
开发者ID:Hopebaytech,项目名称:trove,代码行数:51,代码来源:taskmanager.py

示例14: _shrink_cluster

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
        def _shrink_cluster():
            removal_instances = [Instance.load(context, instance_id)
                                 for instance_id in removal_instance_ids]
            for instance in removal_instances:
                Instance.delete(instance)

            # wait for instances to be deleted
            def all_instances_marked_deleted():
                non_deleted_instances = DBInstance.find_all(
                    cluster_id=cluster_id, deleted=False).all()
                non_deleted_ids = [db_instance.id for db_instance
                                   in non_deleted_instances]
                return not bool(
                    set(removal_instance_ids).intersection(
                        set(non_deleted_ids))
                )
            try:
                LOG.info(_("Deleting instances (%s)") % removal_instance_ids)
                utils.poll_until(all_instances_marked_deleted,
                                 sleep_time=2,
                                 time_out=CONF.cluster_delete_time_out)
            except PollTimeOut:
                LOG.error(_("timeout for instances to be marked as deleted."))
                return

            db_instances = DBInstance.find_all(cluster_id=cluster_id).all()
            leftover_instances = [Instance.load(context, db_inst.id)
                                  for db_inst in db_instances
                                  if db_inst.id not in removal_instance_ids]
            leftover_cluster_ips = [self.get_ip(instance) for instance in
                                    leftover_instances]

            # Get config changes for left over instances
            rnd_cluster_guest = self.get_guest(leftover_instances[0])
            cluster_context = rnd_cluster_guest.get_cluster_context()

            # apply the new config to all leftover instances
            for instance in leftover_instances:
                guest = self.get_guest(instance)
                # render the conf.d/cluster.cnf configuration
                cluster_configuration = self._render_cluster_config(
                    context,
                    instance,
                    ",".join(leftover_cluster_ips),
                    cluster_context['cluster_name'],
                    cluster_context['replication_user'])
                guest.write_cluster_configuration_overrides(
                    cluster_configuration)
开发者ID:Tesora,项目名称:tesora-trove,代码行数:50,代码来源:taskmanager.py

示例15: shrink

# 需要导入模块: from trove.instance.models import DBInstance [as 别名]
# 或者: from trove.instance.models.DBInstance import find_all [as 别名]
    def shrink(self, instances):
        """Removes instances from a cluster."""
        LOG.debug("Shrinking cluster %s." % self.id)

        self.validate_cluster_available()
        removal_instances = [Instance.load(self.context, inst_id) for inst_id in instances]
        db_instances = DBInstance.find_all(cluster_id=self.db_info.id).all()
        if len(db_instances) - len(removal_instances) < 1:
            raise exception.ClusterShrinkMustNotLeaveClusterEmpty()

        self.db_info.update(task_status=ClusterTasks.SHRINKING_CLUSTER)
        task_api.load(self.context, self.ds_version.manager).shrink_cluster(
            self.db_info.id, [instance.id for instance in removal_instances]
        )

        return PXCCluster(self.context, self.db_info, self.ds, self.ds_version)
开发者ID:vmazur,项目名称:trove,代码行数:18,代码来源:api.py


注:本文中的trove.instance.models.DBInstance.find_all方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。