def __init__(self, args=None, clients=None):
        super(StorageIHEPCommand, self).__init__(args, clients)

        if 'ResourceManagementIHEPClient' in self.apis:
            self.rmIHEPClient = self.apis['ResourceManagementIHEPClient']
        else:
            self.rmIHEPClient = ResourceManagementIHEPClient()

        if 'FileCatalogDB' in self.apis:
            self.fcDB = self.apis['FileCatalogDB']
        else:
            self.fcDB = FileCatalogDB()
Beispiel #2
0
def initializeFileCatalogHandler(serviceInfo):

    global fcDB

    serviceCS = serviceInfo['serviceSectionPath']

    # Instantiate the requested database
    dbLocation = gConfig.getValue('%s/Database' % serviceCS,
                                  'DataManagement/FileCatalogDB')
    fcDB = FileCatalogDB(dbLocation)

    databaseConfig = {}
    # Obtain the plugins to be used for DB interaction
    gLogger.info("Initializing with FileCatalog with following managers:")
    defaultManagers = {
        'UserGroupManager': 'UserAndGroupManagerDB',
        'SEManager': 'SEManagerDB',
        'SecurityManager': 'NoSecurityManager',
        'DirectoryManager': 'DirectoryLevelTree',
        'FileManager': 'FileManager',
        'DirectoryMetadata': 'DirectoryMetadata',
        'FileMetadata': 'FileMetadata'
    }
    for configKey in sortList(defaultManagers.keys()):
        defaultValue = defaultManagers[configKey]
        configValue = gConfig.getValue('%s/%s' % (serviceCS, configKey),
                                       defaultValue)
        gLogger.info("%s : %s" %
                     (str(configKey).ljust(20), str(configValue).ljust(20)))
        databaseConfig[configKey] = configValue

    # Obtain some general configuration of the database
    gLogger.info(
        "Initializing the FileCatalog with the following configuration:")
    defaultConfig = {
        'UniqueGUID': False,
        'GlobalReadAccess': True,
        'LFNPFNConvention': True,
        'ResolvePFN': True,
        'DefaultUmask': 0775,
        'VisibleStatus': ['AprioriGood']
    }
    for configKey in sortList(defaultConfig.keys()):
        defaultValue = defaultConfig[configKey]
        configValue = gConfig.getValue('%s/%s' % (serviceCS, configKey),
                                       defaultValue)
        gLogger.info("%s : %s" %
                     (str(configKey).ljust(20), str(configValue).ljust(20)))
        databaseConfig[configKey] = configValue
    res = fcDB.setConfig(databaseConfig)
    return res
Beispiel #3
0
def initializeFileCatalogHandler(serviceInfo):
    """ handler initialisation """

    global gFileCatalogDB

    dbLocation = getServiceOption(serviceInfo, 'Database',
                                  'DataManagement/FileCatalogDB')
    gFileCatalogDB = FileCatalogDB(dbLocation)

    databaseConfig = {}
    # Obtain the plugins to be used for DB interaction
    gLogger.info("Initializing with FileCatalog with following managers:")
    defaultManagers = {
        'UserGroupManager': 'UserAndGroupManagerDB',
        'SEManager': 'SEManagerDB',
        'SecurityManager': 'NoSecurityManager',
        'DirectoryManager': 'DirectoryLevelTree',
        'FileManager': 'FileManager',
        'DirectoryMetadata': 'DirectoryMetadata',
        'FileMetadata': 'FileMetadata',
        'DatasetManager': 'DatasetManager'
    }
    for configKey in sortList(defaultManagers.keys()):
        defaultValue = defaultManagers[configKey]
        configValue = getServiceOption(serviceInfo, configKey, defaultValue)
        gLogger.info("%-20s : %-20s" % (str(configKey), str(configValue)))
        databaseConfig[configKey] = configValue

    # Obtain some general configuration of the database
    gLogger.info(
        "Initializing the FileCatalog with the following configuration:")
    defaultConfig = {
        'UniqueGUID': False,
        'GlobalReadAccess': True,
        'LFNPFNConvention': 'Strong',
        'ResolvePFN': True,
        'DefaultUmask': 0775,
        'ValidFileStatus': ['AprioriGood', 'Trash', 'Removing', 'Probing'],
        'ValidReplicaStatus': ['AprioriGood', 'Trash', 'Removing', 'Probing'],
        'VisibleFileStatus': ['AprioriGood'],
        'VisibleReplicaStatus': ['AprioriGood']
    }
    for configKey in sortList(defaultConfig.keys()):
        defaultValue = defaultConfig[configKey]
        configValue = getServiceOption(serviceInfo, configKey, defaultValue)
        gLogger.info("%-20s : %-20s" % (str(configKey), str(configValue)))
        databaseConfig[configKey] = configValue
    res = gFileCatalogDB.setConfig(databaseConfig)
    return res
Beispiel #4
0
    def initializeHandler(cls, serviceInfo):
        """Handler  initialization"""

        dbLocation = getServiceOption(serviceInfo, "Database", "DataManagement/FileCatalogDB")
        cls.fileCatalogDB = FileCatalogDB(dbLocation, parentLogger=cls.log)

        databaseConfig = {}
        # Obtain the plugins to be used for DB interaction
        cls.log.info("Initializing with FileCatalog with following managers:")
        defaultManagers = {
            "UserGroupManager": "UserAndGroupManagerDB",
            "SEManager": "SEManagerDB",
            "SecurityManager": "NoSecurityManager",
            "DirectoryManager": "DirectoryLevelTree",
            "FileManager": "FileManager",
            "DirectoryMetadata": "DirectoryMetadata",
            "FileMetadata": "FileMetadata",
            "DatasetManager": "DatasetManager",
        }
        for configKey in sorted(defaultManagers.keys()):
            defaultValue = defaultManagers[configKey]
            configValue = getServiceOption(serviceInfo, configKey, defaultValue)
            cls.log.info("%-20s : %-20s" % (str(configKey), str(configValue)))
            databaseConfig[configKey] = configValue

        # Obtain some general configuration of the database
        cls.log.info("Initializing the FileCatalog with the following configuration:")
        defaultConfig = {
            "UniqueGUID": False,
            "GlobalReadAccess": True,
            "LFNPFNConvention": "Strong",
            "ResolvePFN": True,
            "DefaultUmask": 0o775,
            "ValidFileStatus": ["AprioriGood", "Trash", "Removing", "Probing"],
            "ValidReplicaStatus": ["AprioriGood", "Trash", "Removing", "Probing"],
            "VisibleFileStatus": ["AprioriGood"],
            "VisibleReplicaStatus": ["AprioriGood"],
        }
        for configKey in sorted(defaultConfig.keys()):
            defaultValue = defaultConfig[configKey]
            configValue = getServiceOption(serviceInfo, configKey, defaultValue)
            cls.log.info("%-20s : %-20s" % (str(configKey), str(configValue)))
            databaseConfig[configKey] = configValue
        res = cls.fileCatalogDB.setConfig(databaseConfig)

        return res
Beispiel #5
0
  def initializeHandler(cls, serviceInfo):
    """ Handler  initialization """

    dbLocation = getServiceOption(serviceInfo, 'Database', 'DataManagement/FileCatalogDB')
    cls.fileCatalogDB = FileCatalogDB(dbLocation)

    databaseConfig = {}
    # Obtain the plugins to be used for DB interaction
    cls.log.info("Initializing with FileCatalog with following managers:")
    defaultManagers = {'UserGroupManager': 'UserAndGroupManagerDB',
                       'SEManager': 'SEManagerDB',
                       'SecurityManager': 'NoSecurityManager',
                       'DirectoryManager': 'DirectoryLevelTree',
                       'FileManager': 'FileManager',
                       'DirectoryMetadata': 'DirectoryMetadata',
                       'FileMetadata': 'FileMetadata',
                       'DatasetManager': 'DatasetManager'}
    for configKey in sorted(defaultManagers.keys()):
      defaultValue = defaultManagers[configKey]
      configValue = getServiceOption(serviceInfo, configKey, defaultValue)
      cls.log.info("%-20s : %-20s" % (str(configKey), str(configValue)))
      databaseConfig[configKey] = configValue

    # Obtain some general configuration of the database
    cls.log.info("Initializing the FileCatalog with the following configuration:")
    defaultConfig = {'UniqueGUID': False,
                     'GlobalReadAccess': True,
                     'LFNPFNConvention': 'Strong',
                     'ResolvePFN': True,
                     'DefaultUmask': 0o775,
                     'ValidFileStatus': ['AprioriGood', 'Trash', 'Removing', 'Probing'],
                     'ValidReplicaStatus': ['AprioriGood', 'Trash', 'Removing', 'Probing'],
                     'VisibleFileStatus': ['AprioriGood'],
                     'VisibleReplicaStatus': ['AprioriGood']}
    for configKey in sorted(defaultConfig.keys()):
      defaultValue = defaultConfig[configKey]
      configValue = getServiceOption(serviceInfo, configKey, defaultValue)
      cls.log.info("%-20s : %-20s" % (str(configKey), str(configValue)))
      databaseConfig[configKey] = configValue
    res = cls.fileCatalogDB.setConfig(databaseConfig)

    gMonitor.registerActivity("AddFile", "Amount of addFile calls",
                              "FileCatalogHandler", "calls/min", gMonitor.OP_SUM)
    gMonitor.registerActivity("AddFileSuccessful", "Files successfully added",
                              "FileCatalogHandler", "files/min", gMonitor.OP_SUM)
    gMonitor.registerActivity("AddFileFailed", "Files failed to add",
                              "FileCatalogHandler", "files/min", gMonitor.OP_SUM)

    gMonitor.registerActivity("RemoveFile", "Amount of removeFile calls",
                              "FileCatalogHandler", "calls/min", gMonitor.OP_SUM)
    gMonitor.registerActivity("RemoveFileSuccessful", "Files successfully removed",
                              "FileCatalogHandler", "files/min", gMonitor.OP_SUM)
    gMonitor.registerActivity("RemoveFileFailed", "Files failed to remove",
                              "FileCatalogHandler", "files/min", gMonitor.OP_SUM)

    gMonitor.registerActivity("AddReplica", "Amount of addReplica calls",
                              "FileCatalogHandler", "calls/min", gMonitor.OP_SUM)
    gMonitor.registerActivity("AddReplicaSuccessful", "Replicas successfully added",
                              "FileCatalogHandler", "replicas/min", gMonitor.OP_SUM)
    gMonitor.registerActivity("AddReplicaFailed", "Replicas failed to add",
                              "FileCatalogHandler", "replicas/min", gMonitor.OP_SUM)

    gMonitor.registerActivity("RemoveReplica", "Amount of removeReplica calls",
                              "FileCatalogHandler", "calls/min", gMonitor.OP_SUM)
    gMonitor.registerActivity("RemoveReplicaSuccessful", "Replicas successfully removed",
                              "FileCatalogHandler", "replicas/min", gMonitor.OP_SUM)
    gMonitor.registerActivity("RemoveReplicaFailed", "Replicas failed to remove",
                              "FileCatalogHandler", "replicas/min", gMonitor.OP_SUM)

    gMonitor.registerActivity("ListDirectory", "Amount of listDirectory calls",
                              "FileCatalogHandler", "calls/min", gMonitor.OP_SUM)

    return res
Beispiel #6
0
 def setUp(self):
     self.db = FileCatalogDB()
     #     for table in self.db._query( "Show tables;" )["Value"]:
     #       self.db.deleteEntries( table[0] )
     self.db.setConfig(DATABASE_CONFIG)