def load(context): if context is None: raise TypeError(_("Argument context not defined.")) elif id is None: raise TypeError(_("Argument is not defined.")) if context.is_admin: db_info = DBConfiguration.find_all(deleted=False) if db_info.count() == 0: LOG.debug("No configurations found for admin user") else: db_info = DBConfiguration.find_all(tenant_id=context.project_id, deleted=False) if db_info.count() == 0: LOG.debug("No configurations found for tenant %s", context.project_id) limit = utils.pagination_limit(context.limit, Configurations.DEFAULT_LIMIT) data_view = DBConfiguration.find_by_pagination('configurations', db_info, "foo", limit=limit, marker=context.marker) next_marker = data_view.next_page_marker return data_view.collection, next_marker
def load(context, include_clustered): def load_simple_instance(context, db, status, **kwargs): return SimpleInstance(context, db, status) if context is None: raise TypeError("Argument context not defined.") client = create_nova_client(context) servers = client.servers.list() if include_clustered: db_infos = DBInstance.find_all(tenant_id=context.tenant, deleted=False) else: db_infos = DBInstance.find_all(tenant_id=context.tenant, cluster_id=None, deleted=False) limit = utils.pagination_limit(context.limit, Instances.DEFAULT_LIMIT) data_view = DBInstance.find_by_pagination("instances", db_infos, "foo", limit=limit, marker=context.marker) next_marker = data_view.next_page_marker find_server = create_server_list_matcher(servers) for db in db_infos: LOG.debug( "Checking for db [id=%(db_id)s, " "compute_instance_id=%(instance_id)s].", {"db_id": db.id, "instance_id": db.compute_instance_id}, ) ret = Instances._load_servers_status(load_simple_instance, context, data_view.collection, find_server) return ret, next_marker
def load(context): if context is None: raise TypeError("Argument context not defined.") elif id is None: raise TypeError("Argument is not defined.") if context.is_admin: db_info = DBConfiguration.find_all(deleted=False) if db_info.count() == 0: LOG.debug("No configurations found for admin user") else: db_info = DBConfiguration.find_all(tenant_id=context.tenant, deleted=False) if db_info.count() == 0: LOG.debug("No configurations found for tenant %s" % context.tenant) limit = utils.pagination_limit(context.limit, Configurations.DEFAULT_LIMIT) data_view = DBConfiguration.find_by_pagination('configurations', db_info, "foo", limit=limit, marker=context.marker) next_marker = data_view.next_page_marker return data_view.collection, next_marker
def load_all(cls, context, tenant_id): db_infos = DBCluster.find_all(tenant_id=tenant_id, deleted=False) limit = utils.pagination_limit(context.limit, Cluster.DEFAULT_LIMIT) data_view = DBCluster.find_by_pagination("clusters", db_infos, "foo", limit=limit, marker=context.marker) next_marker = data_view.next_page_marker ret = [cls(context, db_info) for db_info in data_view.collection] return ret, next_marker
def load_via_context(cls, context, instance_id): """Creates guest and fetches pagination arguments from the context.""" load_and_verify(context, instance_id) limit = utils.pagination_limit(context.limit, cls.DEFAULT_LIMIT) client = create_guest_client(context, instance_id) # The REST API standard dictates that we *NEVER* include the marker. return cls.load_with_client(client=client, limit=limit, marker=context.marker, include_marker=False)
def load_all(cls, context, tenant_id): db_infos = DBCluster.find_all(tenant_id=tenant_id, deleted=False) limit = utils.pagination_limit(context.limit, Cluster.DEFAULT_LIMIT) data_view = DBCluster.find_by_pagination('clusters', db_infos, "foo", limit=limit, marker=context.marker) next_marker = data_view.next_page_marker ret = [cls(context, db_info) for db_info in data_view.collection] return ret, next_marker
def load(context, instance_id=None, module_id=None, md5=None): db_info = InstanceModules.load_all( context, instance_id=instance_id, module_id=module_id, md5=md5) if db_info.count() == 0: LOG.debug("No instance module records found") limit = utils.pagination_limit( context.limit, Modules.DEFAULT_LIMIT) data_view = DBInstanceModule.find_by_pagination( 'modules', db_info, 'foo', limit=limit, marker=context.marker) next_marker = data_view.next_page_marker return data_view.collection, next_marker
def load(context, instance_id=None, module_id=None, md5=None): selection = {'deleted': False} if instance_id: selection['instance_id'] = instance_id if module_id: selection['module_id'] = module_id if md5: selection['md5'] = md5 db_info = DBInstanceModule.find_all(**selection) if db_info.count() == 0: LOG.debug("No instance module records found") limit = utils.pagination_limit( context.limit, Modules.DEFAULT_LIMIT) data_view = DBInstanceModule.find_by_pagination( 'modules', db_info, 'foo', limit=limit, marker=context.marker) next_marker = data_view.next_page_marker return data_view.collection, next_marker
def test_pagination_limit(self): self.assertEqual(5, utils.pagination_limit(5, 9)) self.assertEqual(5, utils.pagination_limit(9, 5))
def list_databases(self, context, instance_id): client = self.create_guest_client(context, instance_id) limit = utils.pagination_limit(context.limit, CONF.databases_page_size) data, next_marker = client.list_databases( limit=limit, marker=context.marker, include_marker=False) return self.parse_databases_from_response(data), next_marker