Пример #1
0
    def wrap(self, context, *args, **kwargs):
        server = kwargs.get('share_server')

        if not self.driver_handles_share_servers:
            if not server:
                server = self.service_instance_manager.get_common_server()
                kwargs['share_server'] = server
            else:
                raise exception.ManilaException(
                    _("Share server handling is not available. "
                      "But 'share_server' was provided. '%s'. "
                      "Share network should not be used.") % server.get('id'))
        elif not server:
            raise exception.ManilaException(
                _("Share server handling is enabled. But 'share_server' "
                  "is not provided. Make sure you used 'share_network'."))

        if not server.get('backend_details'):
            raise exception.ManilaException(
                _("Share server '%s' does not have backend details.") %
                server['id'])
        if not self.service_instance_manager.ensure_service_instance(
                context, server['backend_details']):
            raise exception.ServiceInstanceUnavailable()

        return f(self, context, *args, **kwargs)
Пример #2
0
 def wrap(self, *args, **kwargs):
     server = kwargs.get('share_server')
     context = args[0]
     if not server:
         # For now generic driver does not support flat networking.
         # When we implement flat networking in generic driver
         # we will not need share server to be passed and
         # will change this logic.
         raise exception.ManilaException(_('Share server not found.'))
     if not server.get('backend_details'):
         raise exception.ManilaException(_('Share server backend '
                                           'details missing.'))
     if not self.service_instance_manager.ensure_service_instance(
             context, server['backend_details']):
         raise exception.ServiceInstanceUnavailable()
     return f(self, *args, **kwargs)