From 67532945613d8109d1e76e21f3d4eb5731d6cac1 Mon Sep 17 00:00:00 2001 From: Michel Date: Tue, 25 Jul 2023 12:04:19 +0200 Subject: [PATCH 1/3] new: introduce job status Scouting in WMS --- src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py b/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py index 76872161299..992cc1f328f 100644 --- a/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py +++ b/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py @@ -15,6 +15,8 @@ #: STAGING = "Staging" #: +SCOUTING = "Scouting" +#: WAITING = "Waiting" #: MATCHED = "Matched" @@ -43,6 +45,7 @@ SUBMITTING, RECEIVED, CHECKING, + SCOUTING, STAGING, WAITING, MATCHED, @@ -86,9 +89,10 @@ def __init__(self, state): RESCHEDULED: State(6, [WAITING, RECEIVED, DELETED, FAILED], defState=RESCHEDULED), MATCHED: State(5, [RUNNING, FAILED, RESCHEDULED, KILLED], defState=MATCHED), WAITING: State(4, [MATCHED, RESCHEDULED, DELETED], defState=WAITING), - STAGING: State(3, [CHECKING, WAITING, FAILED, KILLED], defState=STAGING), - CHECKING: State(2, [STAGING, WAITING, RESCHEDULED, FAILED, DELETED], defState=CHECKING), - RECEIVED: State(1, [CHECKING, WAITING, FAILED, DELETED], defState=RECEIVED), + STAGING: State(3, [WAITING, FAILED, KILLED], defState=STAGING), + SCOUTING: State(2, [CHECKING, FAILED, STALLED, KILLED], defState=SCOUTING), + CHECKING: State(2, [SCOUTING, STAGING, WAITING, RESCHEDULED, FAILED, DELETED], defState=CHECKING), + RECEIVED: State(1, [SCOUTING, CHECKING, WAITING, FAILED, DELETED], defState=RECEIVED), SUBMITTING: State(0, [RECEIVED, CHECKING, DELETED], defState=SUBMITTING), # initial state } From ddb92c1cf393423ed46ca7fdb48d0b519ed2af97 Mon Sep 17 00:00:00 2001 From: Michel Date: Tue, 25 Jul 2023 16:25:41 +0200 Subject: [PATCH 2/3] Reintroducing Staging to Checking transition --- src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py b/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py index 992cc1f328f..18809cc43ea 100644 --- a/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py +++ b/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py @@ -89,8 +89,8 @@ def __init__(self, state): RESCHEDULED: State(6, [WAITING, RECEIVED, DELETED, FAILED], defState=RESCHEDULED), MATCHED: State(5, [RUNNING, FAILED, RESCHEDULED, KILLED], defState=MATCHED), WAITING: State(4, [MATCHED, RESCHEDULED, DELETED], defState=WAITING), - STAGING: State(3, [WAITING, FAILED, KILLED], defState=STAGING), - SCOUTING: State(2, [CHECKING, FAILED, STALLED, KILLED], defState=SCOUTING), + STAGING: State(3, [CHECKING, WAITING, FAILED, KILLED], defState=STAGING), + SCOUTING: State(3, [CHECKING, FAILED, STALLED, KILLED], defState=SCOUTING), CHECKING: State(2, [SCOUTING, STAGING, WAITING, RESCHEDULED, FAILED, DELETED], defState=CHECKING), RECEIVED: State(1, [SCOUTING, CHECKING, WAITING, FAILED, DELETED], defState=RECEIVED), SUBMITTING: State(0, [RECEIVED, CHECKING, DELETED], defState=SUBMITTING), # initial state From c14b164e932abb93f75cd5c5b7b0711a479b9f32 Mon Sep 17 00:00:00 2001 From: Michel Date: Tue, 25 Jul 2023 17:24:15 +0200 Subject: [PATCH 3/3] Re-enumerating the job state IDs after introducing scouting --- .../Client/JobStatus.py | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py b/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py index 18809cc43ea..125075e3048 100644 --- a/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py +++ b/src/DIRAC/WorkloadManagementSystem/Client/JobStatus.py @@ -78,18 +78,18 @@ def __init__(self, state): # States transitions self.states = { - DELETED: State(14), # final state - KILLED: State(13, [DELETED], defState=KILLED), - FAILED: State(12, [RESCHEDULED, DELETED], defState=FAILED), - DONE: State(11, [DELETED], defState=DONE), - COMPLETED: State(10, [DONE, FAILED], defState=COMPLETED), - COMPLETING: State(9, [DONE, FAILED, COMPLETED, STALLED, KILLED], defState=COMPLETING), - STALLED: State(8, [RUNNING, FAILED, KILLED], defState=STALLED), - RUNNING: State(7, [STALLED, DONE, FAILED, RESCHEDULED, COMPLETING, KILLED, RECEIVED], defState=RUNNING), - RESCHEDULED: State(6, [WAITING, RECEIVED, DELETED, FAILED], defState=RESCHEDULED), - MATCHED: State(5, [RUNNING, FAILED, RESCHEDULED, KILLED], defState=MATCHED), - WAITING: State(4, [MATCHED, RESCHEDULED, DELETED], defState=WAITING), - STAGING: State(3, [CHECKING, WAITING, FAILED, KILLED], defState=STAGING), + DELETED: State(15), # final state + KILLED: State(14, [DELETED], defState=KILLED), + FAILED: State(13, [RESCHEDULED, DELETED], defState=FAILED), + DONE: State(12, [DELETED], defState=DONE), + COMPLETED: State(11, [DONE, FAILED], defState=COMPLETED), + COMPLETING: State(10, [DONE, FAILED, COMPLETED, STALLED, KILLED], defState=COMPLETING), + STALLED: State(9, [RUNNING, FAILED, KILLED], defState=STALLED), + RUNNING: State(8, [STALLED, DONE, FAILED, RESCHEDULED, COMPLETING, KILLED, RECEIVED], defState=RUNNING), + RESCHEDULED: State(7, [WAITING, RECEIVED, DELETED, FAILED], defState=RESCHEDULED), + MATCHED: State(6, [RUNNING, FAILED, RESCHEDULED, KILLED], defState=MATCHED), + WAITING: State(5, [MATCHED, RESCHEDULED, DELETED], defState=WAITING), + STAGING: State(4, [CHECKING, WAITING, FAILED, KILLED], defState=STAGING), SCOUTING: State(3, [CHECKING, FAILED, STALLED, KILLED], defState=SCOUTING), CHECKING: State(2, [SCOUTING, STAGING, WAITING, RESCHEDULED, FAILED, DELETED], defState=CHECKING), RECEIVED: State(1, [SCOUTING, CHECKING, WAITING, FAILED, DELETED], defState=RECEIVED),