Ejemplo n.º 1
0
    def instances(self, req, tenant_id, id):
        LOG.info("Getting instances for module %s.", id)

        context = req.environ[wsgi.CONTEXT_KEY]

        module = models.Module.load(context, id)
        self.authorize_module_action(context, 'instances', module)

        count_only = req.GET.get('count_only', '').lower() == 'true'
        include_clustered = (req.GET.get('include_clustered',
                                         '').lower() == 'true')
        if count_only:
            instance_count = instance_models.module_instance_count(
                context, id, include_clustered=include_clustered)
            result_list = {
                'instances':
                instance_views.convert_instance_count_to_list(instance_count)
            }
        else:
            instance_modules, marker = models.InstanceModules.load(
                context, module_id=id)
            if instance_modules:
                instance_ids = [
                    inst_mod.instance_id for inst_mod in instance_modules
                ]
                instances, marker = instance_models.Instances.load(
                    context, include_clustered, instance_ids=instance_ids)
            else:
                instances = []
                marker = None
            view = instance_views.InstancesView(instances, req=req)
            result_list = pagination.SimplePaginatedDataView(
                req.url, 'instances', view, marker).data()
        return wsgi.Result(result_list, 200)
Ejemplo n.º 2
0
    def instances(self, req, tenant_id, id):
        LOG.info(_("Getting instances for module %s") % id)

        context = req.environ[wsgi.CONTEXT_KEY]

        module = models.Module.load(context, id)
        self.authorize_module_action(context, 'update', module)

        instance_modules, marker = models.InstanceModules.load(context,
                                                               module_id=id)
        if instance_modules:
            instance_ids = [
                inst_mod.instance_id for inst_mod in instance_modules
            ]
            include_clustered = (req.GET.get('include_clustered',
                                             '').lower() == 'true')
            instances, marker = instance_models.Instances.load(
                context, include_clustered, instance_ids=instance_ids)
        else:
            instances = []
            marker = None
        view = instance_views.InstancesView(instances, req=req)
        paged = pagination.SimplePaginatedDataView(req.url, 'instances', view,
                                                   marker)
        return wsgi.Result(paged.data(), 200)
Ejemplo n.º 3
0
 def _get_instances(self, req, instance_view):
     context = req.environ[wsgi.CONTEXT_KEY]
     clustered_q = req.GET.get('include_clustered', '').lower()
     include_clustered = clustered_q == 'true'
     instances, marker = models.Instances.load(context, include_clustered)
     view = views.InstancesView(instances, item_view=instance_view, req=req)
     paged = pagination.SimplePaginatedDataView(req.url, 'instances', view,
                                                marker)
     return paged.data()
Ejemplo n.º 4
0
 def index(self, req, tenant_id):
     """Return all instances."""
     LOG.info(_("req : '%s'\n\n") % req)
     LOG.info(_("Indexing a database instance for tenant '%s'") % tenant_id)
     context = req.environ[wsgi.CONTEXT_KEY]
     servers, marker = models.Instances.load(context)
     view = views.InstancesView(servers, req=req)
     paged = pagination.SimplePaginatedDataView(req.url, 'instances', view,
                                                marker)
     return wsgi.Result(paged.data(), 200)
Ejemplo n.º 5
0
 def index(self, req, tenant_id):
     """Return all instances."""
     LOG.info(_LI("Listing database instances for tenant '%s'"), tenant_id)
     LOG.debug("req : '%s'\n\n", req)
     context = req.environ[wsgi.CONTEXT_KEY]
     clustered_q = req.GET.get('include_clustered', '').lower()
     include_clustered = clustered_q == 'true'
     servers, marker = models.Instances.load(context, include_clustered)
     view = views.InstancesView(servers, req=req)
     paged = pagination.SimplePaginatedDataView(req.url, 'instances', view,
                                                marker)
     return wsgi.Result(paged.data(), 200)