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