Skip to content

Commit 6aae4e4

Browse files
authored
Merge pull request #7380 from aldbr/v9.0_FIX_JobAgent
[8.0] fix: JobAgent fails when checking status of the jobs using JobMonitoringClient
2 parents a5d0978 + 7cbe5c3 commit 6aae4e4

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/DIRAC/WorkloadManagementSystem/Agent/JobAgent.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,7 @@ def _checkSubmittedJobs(self):
722722
res = JobMonitoringClient().getJobsStatus(jobID)
723723
if not res["OK"]:
724724
return res
725-
if res["Value"][jobID]["Status"] == JobStatus.RUNNING:
725+
if res["Value"][int(jobID)]["Status"] == JobStatus.RUNNING:
726726
self.jobReport.setJobStatus(status=JobStatus.FAILED, minorStatus="Payload failed")
727727

728728
# Do not keep running and do not overwrite the Payload error

src/DIRAC/WorkloadManagementSystem/Agent/test/Test_Agent_JobAgent.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from DIRAC.Resources.Computing.ComputingElementFactory import ComputingElementFactory
1212
from DIRAC.Resources.Computing.test.Test_PoolComputingElement import badJobScript, jobScript
1313
from DIRAC.WorkloadManagementSystem.Agent.JobAgent import JobAgent
14+
from DIRAC.WorkloadManagementSystem.Client import JobStatus
1415
from DIRAC.WorkloadManagementSystem.Client.JobReport import JobReport
1516

1617
gLogger.setLevel("DEBUG")
@@ -497,13 +498,20 @@ def test_submitAndCheckJob(mocker, localCE, job, expectedResult1, expectedResult
497498
execFile.write(job)
498499
os.chmod(jobName, 0o755)
499500

501+
jobID = "123"
502+
500503
mocker.patch("DIRAC.WorkloadManagementSystem.Agent.JobAgent.AgentModule.__init__")
501504
mocker.patch("DIRAC.WorkloadManagementSystem.Agent.JobAgent.JobAgent.am_stopExecution")
502-
mocker.patch("DIRAC.WorkloadManagementSystem.Agent.JobAgent.JobMonitoringClient", return_value=MagicMock())
505+
mocker.patch(
506+
"DIRAC.WorkloadManagementSystem.Agent.JobAgent.JobMonitoringClient.getJobsStatus",
507+
return_value=S_OK({int(jobID): {"Status": JobStatus.RUNNING}}),
508+
)
503509
mocker.patch("DIRAC.WorkloadManagementSystem.Agent.JobAgent.createJobWrapper", return_value=S_OK([jobName]))
504510
mocker.patch("DIRAC.Core.Security.X509Chain.X509Chain.dumpAllToString", return_value=S_OK())
505-
506-
jobID = 123
511+
mocker.patch(
512+
"DIRAC.Resources.Computing.SingularityComputingElement.SingularityComputingElement._SingularityComputingElement__hasSingularity",
513+
return_value=False,
514+
)
507515

508516
jobAgent = JobAgent("JobAgent", "Test")
509517
jobAgent.log = gLogger.getSubLogger("JobAgent")

0 commit comments

Comments
 (0)