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()
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
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
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
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
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)