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
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
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
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
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)