Ejemplo n.º 1
0
    def _get_broker(self):
        """Returns the configured broker for this workspace

        :returns: The configured broker
        :rtype: :class:`storage.brokers.broker.Broker`
        """

        broker_config = self.json_config['broker']
        broker_type = broker_config['type']
        broker = get_broker(broker_type)
        broker.load_config(broker_config)
        return broker
Ejemplo n.º 2
0
    def _get_broker(self):
        '''Returns the configured broker for this workspace

        :returns: The configured broker
        :rtype: :class:`storage.brokers.broker.Broker`
        '''

        broker_config = self.json_config['broker']
        broker_type = broker_config['type']
        broker = get_broker(broker_type)
        broker.load_config(broker_config)
        return broker
Ejemplo n.º 3
0
    def validate_broker(self):
        """Validates the current broker-specific configuration.

        :returns: A list of warnings discovered during validation.
        :rtype: list[:class:`job.configuration.data.job_data.ValidationWarning`]

        :raises :class:`storage.configuration.exceptions.InvalidWorkspaceConfiguration`: If there is a configuration
            problem.
        """

        broker = broker_factory.get_broker(self._configuration['broker']['type'])
        return broker.validate_configuration(self._configuration['broker'])
Ejemplo n.º 4
0
    def validate_broker(self):
        """Validates the current broker-specific configuration.

        :returns: A list of warnings discovered during validation.
        :rtype: list[:class:`job.configuration.data.job_data.ValidationWarning`]

        :raises :class:`storage.configuration.exceptions.InvalidWorkspaceConfiguration`: If there is a configuration
            problem.
        """

        broker = broker_factory.get_broker(
            self.configuration['broker']['type'])
        return broker.validate_configuration(self.configuration['broker'])
Ejemplo n.º 5
0
    def get_broker(self):
        """Returns the configured broker for this workspace

        :returns: The configured broker
        :rtype: :class:`storage.brokers.broker.Broker`
        """

        if not hasattr(self, '_broker'):
            ws_config = WorkspaceConfiguration(self.json_config)
            ws_config.validate_broker()

            broker_config = self.json_config['broker']
            broker_type = broker_config['type']
            broker = get_broker(broker_type)
            broker.load_configuration(broker_config)
            self._broker = broker
        return self._broker
Ejemplo n.º 6
0
    def get_broker(self):
        """Returns the configured broker for this workspace

        :returns: The configured broker
        :rtype: :class:`storage.brokers.broker.Broker`
        """

        if not hasattr(self, '_broker'):
            ws_config = WorkspaceConfiguration(self.json_config)
            ws_config.validate_broker()

            broker_config = self.json_config['broker']
            broker_type = broker_config['type']
            broker = get_broker(broker_type)
            broker.load_configuration(broker_config)
            self._broker = broker
        return self._broker
Ejemplo n.º 7
0
    def _detect_workspaces(self, workspace_list):
        """Parses, validates, and returns workspace information for the given workspaces

        :param workspace_list: The workspace list that was given
        :type workspace_list: [dict]
        :return: All workspaces by given name with associated broker and volume_path
        :rtype: dict
        """

        workspaces = {}
        for workspace in workspace_list:
            name = workspace.keys()[0]
            wrkspc = WorkspaceConfiguration(workspace[name])
            wrkspc.validate_broker()
            valid_wrkspc = wrkspc.get_dict()

            workspaces[name] = {
                'broker': get_broker(valid_wrkspc['broker']['type']),
                'volume_path': valid_wrkspc['broker']['host_path']
            }

        return workspaces