def testB_TestMonitoring(self):
        """
        _TestMonitoring_

        See if you can run the whole monitoring system
        """

        # Get the necessary objects
        name     = 'testB'
        job      = self.createTestJob()
        workload = self.createWorkload()
        task     = workload.getTask(taskName = "DataProcessing")
        report   = self.createReport()

        # Fill the job environment
        self.setupJobEnvironment(name = name)

        step = task.getStep(stepName = "cmsRun1")


        monitor = setupMonitoring()
        myThread = threading.currentThread

        myThread.watchdogMonitor.setupMonitors(task = task,
                                               wmbsJob = job)
        myThread.watchdogMonitor.notifyJobStart(task)
        
        myThread.watchdogMonitor.notifyStepStart(step.data)
        myThread.watchdogMonitor.notifyStepEnd(step = step.data,
                                               stepReport = report)

        myThread.watchdogMonitor.notifyJobEnd(task)


        # Base a test on the idea that there's only one monitor
        mon = myThread.watchdogMonitor._Monitors[0]
        dbInfo = mon.dashboardInfo


        # Do some basic checks
        self.assertEqual(dbInfo.get('TaskType', None), task.taskType())
        self.assertEqual(dbInfo.get('User', None), '*****@*****.**')
        self.assertEqual(dbInfo.get('JSTool', None), 'WMAgent')
        self.assertEqual(dbInfo.get('jobName', None),
                         'WMAgent_1_0_ThisIsASillyName')
        self.assertEqual(dbInfo.get('taskName', None),
                         'ProdAgent_-Tier1ReReco-DataProcessing_WMAgentPrimary')
        
        self.assertEqual(dbInfo.get('GridJobID', None), name)
        self.assertEqual(dbInfo.get('SyncCE', None), name)
        
        self.assertEqual(dbInfo.get('ExeStart', None), step.name())
        self.assertEqual(dbInfo.get('ApplicationVersion', None),
                         'CMSSW_3_5_8')


        return
Beispiel #2
0
    def testB_TestMonitoring(self):
        """
        _TestMonitoring_

        See if you can run the whole monitoring system
        """
        # Get the necessary objects
        name     = 'testB'
        job      = self.createTestJob()
        workload = self.createWorkload()
        task     = workload.getTask(taskName = "DataProcessing")
        report   = self.createReport()

        # Fill the job environment
        self.setupJobEnvironment(name = name)

        step = task.getStep(stepName = "cmsRun1")


        monitor = setupMonitoring(logPath = os.path.join(self.testDir, 'log.log'))
        myThread = threading.currentThread

        myThread.watchdogMonitor.setupMonitors(task = task,
                                               wmbsJob = job)
        myThread.watchdogMonitor.notifyJobStart(task)
        
        myThread.watchdogMonitor.notifyStepStart(step.data)
        myThread.watchdogMonitor.notifyStepEnd(step = step.data,
                                               stepReport = report)
        myThread.watchdogMonitor.notifyJobEnd(task)

        # Base a test on the idea that there's only one monitor
        mon = myThread.watchdogMonitor._Monitors[0]
        dbInfo = mon.dashboardInfo


        # Do some basic checks
        self.assertEqual(dbInfo.get('TaskType', None), task.taskType())
        self.assertEqual(dbInfo.get('User', None), '*****@*****.**')
        self.assertEqual(dbInfo.get('JSTool', None), 'WMAgent')
        self.assertEqual(dbInfo.jobName, '%s_%i' % (job['name'], job['retry_count']))
        self.assertEqual(dbInfo.taskName,
                         'wmagent_Tier1ReReco')
        
        return