Esempio n. 1
0
    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
Esempio n. 2
0
    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
Esempio n. 3
0
    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
Esempio n. 4
0
 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
Esempio n. 5
0
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)
Esempio n. 6
0
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)
Esempio n. 7
0
 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
Esempio n. 8
0
    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
Esempio n. 9
0
    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
Esempio n. 10
0
    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
Esempio n. 11
0
 def test_pagination_limit(self):
     self.assertEqual(5, utils.pagination_limit(5, 9))
     self.assertEqual(5, utils.pagination_limit(9, 5))
Esempio n. 12
0
 def test_pagination_limit(self):
     self.assertEqual(5, utils.pagination_limit(5, 9))
     self.assertEqual(5, utils.pagination_limit(9, 5))
Esempio n. 13
0
 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