def show(self, req, id): """Return capabilities list of given backend.""" context = req.environ['cinder.context'] authorize(context, 'capabilities') filters = {'host': id, 'binary': 'cinder-volume'} service = objects.ServiceList.get_all(context, filters) if not service: msg = (_("Can't find service: %s") % id) raise exception.NotFound(msg) try: capabilities = self.volume_api.get_capabilities(context, id, False) except oslo_messaging.MessagingTimeout: raise exception.RPCTimeout(service=id) return self._view_builder.summary(req, capabilities, id)
def show(self, req, id): """Return capabilities list of given backend.""" context = req.environ['cinder.context'] context.authorize(policy.CAPABILITIES_POLICY) filters = {'host_or_cluster': id, 'binary': constants.VOLUME_BINARY} services = objects.ServiceList.get_all(context, filters) if not services: msg = (_("Can't find service: %s") % id) raise exception.NotFound(msg) topic = services[0].service_topic_queue try: capabilities = self.volume_api.get_capabilities(context, topic, False) except oslo_messaging.MessagingTimeout: raise exception.RPCTimeout(service=topic) return self._view_builder.summary(req, capabilities, topic)