Exemplo n.º 1
0
    def _get_flavors(self, req):
        """Helper function that returns a list of flavor dicts."""
        filters = {}

        context = req.environ['nova.context']
        if not context.is_admin:
            filters['disabled'] = False

        if 'minRam' in req.params:
            try:
                filters['min_memory_mb'] = int(req.params['minRam'])
            except ValueError:
                msg = _('Invalid minRam filter [%s]') % req.params['minRam']
                raise webob.exc.HTTPBadRequest(explanation=msg)

        if 'minDisk' in req.params:
            try:
                filters['min_root_gb'] = int(req.params['minDisk'])
            except ValueError:
                msg = _('Invalid minDisk filter [%s]') % req.params['minDisk']
                raise webob.exc.HTTPBadRequest(explanation=msg)

        flavors = instance_types.get_all_types(filters=filters)
        flavors_list = flavors.values()
        sorted_flavors = sorted(flavors_list,
                                key=lambda item: item['flavorid'])
        limited_flavors = common.limited_by_marker(sorted_flavors, req)
        return limited_flavors
Exemplo n.º 2
0
    def _get_flavors(self, req):
        """Helper function that returns a list of flavor dicts."""
        filters = {}

        context = req.environ['nova.context']
        if context.is_admin:
            # Only admin has query access to all flavor types
            filters['is_public'] = self._parse_is_public(
                    req.params.get('is_public', None))
        else:
            filters['is_public'] = True
            filters['disabled'] = False

        if 'minRam' in req.params:
            try:
                filters['min_memory_mb'] = int(req.params['minRam'])
            except ValueError:
                msg = _('Invalid minRam filter [%s]') % req.params['minRam']
                raise webob.exc.HTTPBadRequest(explanation=msg)

        if 'minDisk' in req.params:
            try:
                filters['min_root_gb'] = int(req.params['minDisk'])
            except ValueError:
                msg = _('Invalid minDisk filter [%s]') % req.params['minDisk']
                raise webob.exc.HTTPBadRequest(explanation=msg)

        limited_flavors = flavors.get_all_flavors(context, filters=filters)
        flavors_list = limited_flavors.values()
        sorted_flavors = sorted(flavors_list,
                                key=lambda item: item['flavorid'])
        limited_flavors = common.limited_by_marker(sorted_flavors, req)
        return limited_flavors
    def _get_all_host_capabilities(self, req):
        """Helper function that returns a list of host capabilities dicts."""
        filters = {}
        context = req.environ['nova.context']

        host_capabilities = host_capability_service.host_capability_get_all(context, filters=filters)
        capability_list = host_capabilities.values()
        sorted_capabilities = sorted(capability_list, key=lambda item: item['host'])
        limited_capabilities = common.limited_by_marker(sorted_capabilities, req)
        return limited_capabilities
Exemplo n.º 4
0
    def _get_flavors(self, req):
        """Helper function that returns a list of flavor dicts."""
        filters = {}
        if 'minRam' in req.params:
            try:
                filters['min_memory_mb'] = int(req.params['minRam'])
            except ValueError:
                pass  # ignore bogus values per spec

        if 'minDisk' in req.params:
            try:
                filters['min_root_gb'] = int(req.params['minDisk'])
            except ValueError:
                pass  # ignore bogus values per spec

        flavors = instance_types.get_all_types(filters=filters)
        flavors_list = flavors.values()
        sorted_flavors = sorted(flavors_list,
                                key=lambda item: item['flavorid'])
        limited_flavors = common.limited_by_marker(sorted_flavors, req)
        return limited_flavors
Exemplo n.º 5
0
    def _get_flavors(self, req):
        """Helper function that returns a list of flavor dicts."""
        filters = {}
        if 'minRam' in req.params:
            try:
                filters['min_memory_mb'] = int(req.params['minRam'])
            except ValueError:
                pass  # ignore bogus values per spec

        if 'minDisk' in req.params:
            try:
                filters['min_root_gb'] = int(req.params['minDisk'])
            except ValueError:
                pass  # ignore bogus values per spec

        flavors = instance_types.get_all_types(filters=filters)
        flavors_list = flavors.values()
        sorted_flavors = sorted(flavors_list,
                                key=lambda item: item['flavorid'])
        limited_flavors = common.limited_by_marker(sorted_flavors, req)
        return limited_flavors
Exemplo n.º 6
0
    def _get_flavors(self, req):
        """Helper function that returns a list of flavor dicts."""
        filters = {}
        if "minRam" in req.params:
            try:
                filters["min_memory_mb"] = int(req.params["minRam"])
            except ValueError:
                msg = _("Invalid minRam filter [%s]") % req.params["minRam"]
                raise webob.exc.HTTPBadRequest(explanation=msg)

        if "minDisk" in req.params:
            try:
                filters["min_root_gb"] = int(req.params["minDisk"])
            except ValueError:
                msg = _("Invalid minDisk filter [%s]") % req.params["minDisk"]
                raise webob.exc.HTTPBadRequest(explanation=msg)

        flavors = instance_types.get_all_types(filters=filters)
        flavors_list = flavors.values()
        sorted_flavors = sorted(flavors_list, key=lambda item: item["flavorid"])
        limited_flavors = common.limited_by_marker(sorted_flavors, req)
        return limited_flavors
Exemplo n.º 7
0
 def _limit_items(self, items, req):
     return common.limited_by_marker(items, req)
Exemplo n.º 8
0
 def _limit_items(self, items, req):
     return common.limited_by_marker(items, req)
 def detail(self, req):
     """Return all flavors in detail."""
     flavors = self._get_flavors(req)
     limited_flavors = common.limited_by_marker(flavors.values(), req)
     return self._view_builder.detail(req, limited_flavors)