def initialize(self): self.SystemLoggingDB = SystemLoggingDB() self.period = int(self.am_getOption("RemoveDate", '30')) * day return S_OK()
def initialize(self): self.systemLoggingDB = SystemLoggingDB() self.notification = NotificationClient() userList = self.am_getOption("Reviewer", []) self.log.debug("Users to be notified:", ', '.join(userList)) mailList = [] for user in userList: mail = getUserOption(user, 'Email', '') if not mail: self.log.warn("Could not get user's mail", user) else: mailList.append(mail) if not mailList: mailList = Operations().getValue('EMail/Logging', []) if not len(mailList): errString = "There are no valid users in the mailing list" varString = "[" + ','.join(userList) + "]" self.log.warn(errString, varString) self.log.info("List of mails to be notified", ','.join(mailList)) self._mailAddress = mailList self._subject = 'New error messages were entered in the SystemLoggingDB' return S_OK()
def initialize(self): self.SystemLoggingDB = SystemLoggingDB() self.notification=NotificationClient() userString = self.am_getOption( "Reviewer", 'mseco' ) self.log.debug( "Users to be notified", ": " + userString ) userList = List.fromChar( userString, ",") mailList = [] for user in userList: retval = gConfig.getOption( "/Registry/Users/" + user + "/Email" ) if not retval['OK']: self.log.warn( "Could not get user's mail", retval['Message'] ) else: mailList.append( retval['Value'] ) if not mailList: mailList = gConfig.getValue( '/Operations/EMail/Logging', [] ) if not len(mailList): errString = "There are no valid users in the list" varString = "[" + ','.join( userList ) + "]" self.log.error( errString, varString ) return S_ERROR( errString + varString ) self.log.info( "List of mails to be notified", ','.join( mailList ) ) self._mailAddress = mailList self._subject = 'New error messages were entered in the SystemLoggingDB' return S_OK()
def test_addAndRemove(self): """ Some test cases """ systemName = 'TestSystem' subSystemName = 'TestSubSystem' level = 10 time = toString() msgTest = 'Hello' variableText = time frameInfo = "" message = tupleToMessage((systemName, level, time, msgTest, variableText, frameInfo, subSystemName)) site = 'somewehere' longSite = 'somewehere1234567890123456789012345678901234567890123456789012345678901234567890' nodeFQDN = '127.0.0.1' userDN = 'Yo' userGroup = 'Us' remoteAddress = 'elsewhere' records = 10 db = SystemLoggingDB() res = db._connect() self.assertTrue(res['OK']) gLogger.info('\n Inserting some records\n') for k in xrange(records): result = db.insertMessage(message, site, nodeFQDN, userDN, userGroup, remoteAddress) self.assertTrue(result['OK']) self.assertEqual(result['lastRowId'], k + 1) self.assertEqual(result['Value'], 1) result = db._queryDB(showFieldList=['SiteName']) self.assertTrue(result['OK']) self.assertEqual(result['Value'][0][0], site) result = db._queryDB(showFieldList=['SystemName']) self.assertTrue(result['OK']) self.assertEqual(result['Value'][0][0], systemName) result = db._queryDB(showFieldList=['SubSystemName']) self.assertTrue(result['OK']) self.assertEqual(result['Value'][0][0], subSystemName) result = db._queryDB(showFieldList=['OwnerGroup']) self.assertTrue(result['OK']) self.assertEqual(result['Value'][0][0], userGroup) result = db._queryDB(showFieldList=['FixedTextString']) self.assertTrue(result['OK']) self.assertEqual(result['Value'][0][0], msgTest) result = db._queryDB(showFieldList=['VariableText', 'SiteName'], count=True, groupColumn='VariableText') self.assertTrue(result['OK']) self.assertEqual(result['Value'][0][1], site) self.assertEqual(result['Value'][0][2], records) result = db.insertMessage(message, longSite, nodeFQDN, userDN, userGroup, remoteAddress) self.assertFalse(result['OK'])
def initializeSystemLoggingHandler(serviceInfo): """ Check that we can connect to the DB and that the tables are properly created or updated """ global gLogDB gLogDB = SystemLoggingDB() res = gLogDB._connect() if not res['OK']: return res return S_OK()
def initializeSystemLoggingHandler( serviceInfo ): """ Check that we can connect to the DB and that the tables are properly created or updated """ global gLogDB gLogDB = SystemLoggingDB() res = gLogDB._connect() if not res['OK']: return res res = gLogDB._checkTable() if not res['OK'] and not res['Message'] == 'The requested table already exist': return res return S_OK()
def initializeSystemLoggingHandler(serviceInfo): """ Check that we can connect to the DB and that the tables are properly created or updated :param dict serviceInfo: service information dictionary :return: S_OK()/S_ERROR() """ global gLogDB gLogDB = SystemLoggingDB() res = gLogDB._connect() if not res['OK']: return res return S_OK()
def initialize(self): self.systemLoggingDB = SystemLoggingDB() self.agentName = self.am_getModuleParam('fullName') self.notification = NotificationClient() mailList = self.am_getOption("MailList", []) userList = self.am_getOption("Reviewer", []) self.log.debug("Users to be notified:", ', '.join(userList)) for user in userList: mail = getUserOption(user, 'Email', '') if not mail: self.log.warn("Could not get user's mail", user) else: mailList.append(mail) if not mailList: mailList = Operations().getValue('EMail/Logging', []) if not mailList: errString = "There are no valid users in the list of email where to send the report" errString += "\nPlease specify some in Operations/<default>/EMail/Logging" varString = "[" + ','.join(userList) + "]" self.log.error(errString, varString) return S_ERROR(errString + varString) self.log.info("List of mails to be notified", ','.join(mailList)) self._mailAddress = mailList self._threshold = int(self.am_getOption('Threshold', 10)) self.__days = self.am_getOption('QueryPeriod', 7) self._period = int(self.__days) * day self._limit = int(self.am_getOption('NumberOfErrors', 10)) string = "The %i most common errors in the SystemLoggingDB" % self._limit self._subject = string + " for the last %s days" % self.__days return S_OK()
def initialize(self): self.SystemLoggingDB = SystemLoggingDB() self.agentName = self.am_getModuleParam('fullName') self.notification = NotificationClient() mailList = self.am_getOption("MailList", []) userString = self.am_getOption("Reviewer", 'mseco') userList = List.fromChar(userString, ",") self.log.debug("Users to be notified", ": " + userString) for user in userList: retval = gConfig.getOption("/Registry/Users/" + user + "/email") if not retval['OK']: self.log.warn("Could not get user's mail", retval['Message']) else: mailList.append(retval['Value']) if not mailList: mailList = gConfig.getValue('/Operations/EMail/Logging', []) if not len(mailList): errString = "There are no valid users in the list" varString = "[" + ','.join(userList) + "]" self.log.error(errString, varString) return S_ERROR(errString + varString) self.log.info("List of mails to be notified", ','.join(mailList)) self._mailAddress = mailList self._threshold = int(self.am_getOption('Threshold', 10)) self.__days = self.am_getOption('QueryPeriod', 7) self._period = int(self.__days) * day self._limit = int(self.am_getOption('NumberOfErrors', 10)) string = "The %i most common errors in the SystemLoggingDB" % self._limit self._subject = string + " for the last %s days" % self.__days return S_OK()
def initializeSystemLoggingHandler(serviceInfo): global LogDB LogDB = SystemLoggingDB() return S_OK()
def setUp(self): self.db = SystemLoggingDB()
# FIXME: to bring back to life """ This program tests that the Logging DB can be actually queried from DIRAC """ import DIRAC from DIRAC.FrameworkSystem.DB.SystemLoggingDB import SystemLoggingDB DBpoint=SystemLoggingDB() testList = [{'method': DBpoint.getMessagesByFixedText, 'arguments': ( ( 'error message 1' ), ), 'outputType': 'Type', 'output': True}, {'method': DBpoint.getMessagesByFixedText, 'arguments': ( ( [ 'error message 1', 'error message 4' ] ), ), 'outputType': 'Type', 'output': True}, {'method': DBpoint.getMessagesByDate, 'arguments': ( '2007-08-24', '2007-08-26' , ), 'outputType': 'Type', 'output': True}, {'method': DBpoint.getMessagesBySite, 'arguments': ( ( 'Site1' ), ), 'outputType': 'Type', 'output': True}, {'method': DBpoint.getMessagesBySite, 'arguments': ( ( [ 'Site1', 'Site2' ] ), ), 'outputType': 'Type', 'output': True}, ] testdict = { 'SystemLoggingDB': testList,}