Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/WebAppDIRAC/WebApp/handler/JobMonitorHandler.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
from DIRAC.Core.Utilities import DictCache
from DIRAC.Core.Utilities.Graphs.Palette import Palette
from DIRAC.RequestManagementSystem.Client.ReqClient import ReqClient
from DIRAC.MonitoringSystem.Client.WebAppClient import WebAppClient
from DIRAC.WorkloadManagementSystem.Client.JobMonitoringClient import JobMonitoringClient
from DIRAC.WorkloadManagementSystem.Client.JobManagerClient import JobManagerClient
from DIRAC.WorkloadManagementSystem.Client.PilotManagerClient import PilotManagerClient
from DIRAC.WorkloadManagementSystem.Client.WMSAdministratorClient import WMSAdministratorClient
from DIRAC.WorkloadManagementSystem.Client.SandboxStoreClient import SandboxStoreClient

from WebAppDIRAC.Lib.WebHandler import WebHandler, WErr
Expand All @@ -22,7 +22,7 @@ class JobMonitorHandler(WebHandler):
def web_getJobData(self):
req = self._request()

result = JobMonitoringClient().getJobPageSummaryWeb(req, self.globalSort, self.pageNumber, self.numberOfJobs)
result = WebAppClient().getJobPageSummaryWeb(req, self.globalSort, self.pageNumber, self.numberOfJobs)

if not result["OK"]:
return {"success": "false", "result": [], "total": 0, "error": result["Message"]}
Expand Down Expand Up @@ -375,12 +375,12 @@ def web_jobData(self, id: int, data_kind: str) -> dict:
return {"success": "false", "error": "StagerReport not available"}
return {"success": "false", "error": result["Message"]}
if data_kind == "getPilotStdOut":
if not (result := WMSAdministratorClient().getJobPilotOutput(id))["OK"]:
if not (result := WebAppClient().getJobPilotOutput(id))["OK"]:
return {"success": "false", "error": result["Message"]}
if "StdOut" in result["Value"]:
return {"success": "true", "result": result["Value"]["StdOut"]}
if data_kind == "getPilotStdErr":
if not (result := WMSAdministratorClient().getJobPilotOutput(id))["OK"]:
if not (result := WebAppClient().getJobPilotOutput(id))["OK"]:
return {"success": "false", "error": result["Message"]}
if "StdErr" in result["Value"]:
return {"success": "true", "result": result["Value"]["StdErr"]}
Expand Down
6 changes: 3 additions & 3 deletions src/WebAppDIRAC/WebApp/handler/JobSummaryHandler.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from time import time

from DIRAC import gLogger, gConfig
from DIRAC.WorkloadManagementSystem.Client.WMSAdministratorClient import WMSAdministratorClient
from DIRAC.MonitoringSystem.Client.WebAppClient import WebAppClient

from WebAppDIRAC.Lib.WebHandler import WebHandler

Expand Down Expand Up @@ -262,7 +262,7 @@ class JobSummaryHandler(WebHandler):
def web_getSelectionData(self):
callback = {}

result = WMSAdministratorClient().getSiteSummarySelectors()
result = WebAppClient().getSiteSummarySelectors()
gLogger.info(f"\x1b[0;31m ++++++: \x1b[0m {result}")
if result["OK"]:
result = result["Value"]
Expand Down Expand Up @@ -322,7 +322,7 @@ def web_getData(self):
pagestart = time()
result = self.__request()
gLogger.always(f"getSiteSummaryWeb({result},{self.globalSort},{self.pageNumber},{self.numberOfJobs})")
retVal = WMSAdministratorClient().getSiteSummaryWeb(result, [], self.pageNumber, self.numberOfJobs)
retVal = WebAppClient().getSiteSummaryWeb(result, [], self.pageNumber, self.numberOfJobs)
gLogger.always("\033[0;31m YO: \033[0m", result)
if retVal["OK"]:
if retVal["Value"].get("TotalRecords", 0) > 0:
Expand Down
10 changes: 5 additions & 5 deletions src/WebAppDIRAC/WebApp/handler/PilotMonitorHandler.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

from DIRAC import gConfig, S_OK, gLogger
from DIRAC.Core.Utilities.Graphs.Palette import Palette
from DIRAC.WorkloadManagementSystem.Client.PilotManagerClient import PilotManagerClient
from DIRAC.MonitoringSystem.Client.WebAppClient import WebAppClient
from WebAppDIRAC.Lib.WebHandler import WebHandler


Expand All @@ -13,7 +13,7 @@ class PilotMonitorHandler(WebHandler):
def web_getPilotData(self):
req = self.__request()

result = PilotManagerClient().getPilotMonitorWeb(req, self.globalSort, self.pageNumber, self.numberOfJobs)
result = WebAppClient().getPilotMonitorWeb(req, self.globalSort, self.pageNumber, self.numberOfJobs)

if not result["OK"]:
return {"success": "false", "result": [], "total": 0, "error": result["Message"]}
Expand Down Expand Up @@ -61,7 +61,7 @@ def web_getSelectionData(self):
tmp = {self.get_argument(i).replace('"', "") for i in self.request.arguments}
callback["extra"] = list(tmp)

if (result := PilotManagerClient().getPilotMonitorSelectors())["OK"]:
if (result := WebAppClient().getPilotMonitorSelectors())["OK"]:
result = result["Value"]

if "Status" in result and len(result["Status"]) > 0:
Expand Down Expand Up @@ -168,7 +168,7 @@ def __request(self):
return req

def web_getJobInfoData(self, data):
RPC = PilotManagerClient()
RPC = WebAppClient()
if self.get_argument("data_kind") == "getPilotOutput":
if (result := RPC.getPilotOutput(data))["OK"]:
return {"success": "true", "result": result["Value"]["StdOut"]}
Expand All @@ -190,7 +190,7 @@ def web_getStatisticsData(self, statsField):

paletteColor = Palette()

RPC = PilotManagerClient()
RPC = WebAppClient()

if statsField == "Site":
selector = "GridSite"
Expand Down
4 changes: 2 additions & 2 deletions src/WebAppDIRAC/WebApp/handler/PilotSummaryHandler.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import datetime

from DIRAC import gConfig, gLogger
from DIRAC.WorkloadManagementSystem.Client.PilotManagerClient import PilotManagerClient
from DIRAC.MonitoringSystem.Client.WebAppClient import WebAppClient
from DIRAC.WorkloadManagementSystem.Client.JobMonitoringClient import JobMonitoringClient
from WebAppDIRAC.Lib.WebHandler import WebHandler

Expand All @@ -13,7 +13,7 @@ class PilotSummaryHandler(WebHandler):
def web_getPilotSummaryData(self):
req = self.__request()

result = PilotManagerClient().getPilotSummaryWeb(req, self.globalSort, self.pageNumber, self.numberOfJobs)
result = WebAppClient().getPilotSummaryWeb(req, self.globalSort, self.pageNumber, self.numberOfJobs)
if not result["OK"]:
return {"success": "false", "result": [], "total": 0, "error": result["Message"]}

Expand Down
62 changes: 31 additions & 31 deletions src/WebAppDIRAC/WebApp/handler/TransformationMonitorHandler.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from DIRAC import gConfig, gLogger
from DIRAC.Core.Utilities import TimeUtilities
from DIRAC.TransformationSystem.Client.TransformationClient import TransformationClient
from DIRAC.MonitoringSystem.Client.WebAppClient import WebAppClient

from WebAppDIRAC.Lib.WebHandler import WebHandler, WErr

Expand All @@ -18,8 +18,8 @@ def web_getSelectionData(self):
if self.getUserName().lower() == "anonymous":
return {"prod": [["Insufficient rights"]]}

tsClient = TransformationClient()
if (result := tsClient.getDistinctAttributeValues("Plugin", {}))["OK"]:
waClient = WebAppClient()
if (result := waClient.getDistinctAttributeValues("Plugin", {}))["OK"]:
plugin = []
if len(result["Value"]) > 0:
for i in result["Value"]:
Expand All @@ -30,7 +30,7 @@ def web_getSelectionData(self):
plugin = "Error during RPC call"
callback = {"plugin": plugin}

if (result := tsClient.getDistinctAttributeValues("Status", {}))["OK"]:
if (result := waClient.getDistinctAttributeValues("Status", {}))["OK"]:
status = []
if len(result["Value"]) > 0:
for i in result["Value"]:
Expand All @@ -41,7 +41,7 @@ def web_getSelectionData(self):
status = "Error during RPC call"
callback["prodStatus"] = status

if (result := tsClient.getDistinctAttributeValues("TransformationGroup", {}))["OK"]:
if (result := waClient.getDistinctAttributeValues("TransformationGroup", {}))["OK"]:
group = []
if len(result["Value"]) > 0:
for i in result["Value"]:
Expand All @@ -52,7 +52,7 @@ def web_getSelectionData(self):
group = "Error during RPC call"
callback["transformationGroup"] = group

if (result := tsClient.getDistinctAttributeValues("AgentType", {}))["OK"]:
if (result := waClient.getDistinctAttributeValues("AgentType", {}))["OK"]:
atype = []
if len(result["Value"]) > 0:
for i in result["Value"]:
Expand All @@ -63,7 +63,7 @@ def web_getSelectionData(self):
atype = "Error during RPC call"
callback["agentType"] = atype

if (result := tsClient.getDistinctAttributeValues("Type", {}))["OK"]:
if (result := waClient.getDistinctAttributeValues("Type", {}))["OK"]:
transType = []
if result["Value"]:
for i in result["Value"]:
Expand Down Expand Up @@ -116,8 +116,8 @@ def web_getTransformationData(
TransformationFamily,
)

tsClient = TransformationClient(timeout=3600)
if not (result := tsClient.getTransformationSummaryWeb(params, self.globalSort, start, limit))["OK"]:
waClient = WebAppClient(timeout=3600)
if not (result := waClient.getTransformationSummaryWeb(params, self.globalSort, start, limit))["OK"]:
return {"success": "false", "error": result["Message"]}

data = result["Value"]
Expand Down Expand Up @@ -175,7 +175,7 @@ def web_action(self, data_kind, id: int, tasks: int = None):
return {"success": "false", "error": "Action is unknown!!!"}

def web_executeOperation(self, action, ids):
tsClient = TransformationClient()
waClient = WebAppClient()

agentType = "Manual"
if action == "clean":
Expand All @@ -197,10 +197,10 @@ def web_executeOperation(self, action, ids):

for i in ids.split(","):
try:
result = tsClient.setTransformationParameter(transid := int(i), "Status", status)
result = waClient.setTransformationParameter(transid := int(i), "Status", status)
if result["OK"]:
resString = f"ProdID: {transid} set to {action} successfully"
result = tsClient.setTransformationParameter(transid, "AgentType", agentType)
result = waClient.setTransformationParameter(transid, "AgentType", agentType)
if not result["OK"]:
resString = f"ProdID: {transid} failed to set to {action}: {result['Message']}"
else:
Expand All @@ -212,16 +212,16 @@ def web_executeOperation(self, action, ids):
return {"success": "true", "showResult": callback}

def __fileRetry(self, prodid, mode):
tsClient = TransformationClient()
waClient = WebAppClient()
result = None
if mode == "proc":
result = tsClient.getTransformationFilesCount(prodid, "ErrorCount", {"Status": "Processed"})
result = waClient.getTransformationFilesCount(prodid, "ErrorCount", {"Status": "Processed"})
elif mode == "not":
result = tsClient.getTransformationFilesCount(
result = waClient.getTransformationFilesCount(
prodid, "ErrorCount", {"Status": ["Unused", "Assigned", "Failed"]}
)
elif mode == "all":
result = tsClient.getTransformationFilesCount(prodid, "ErrorCount")
result = waClient.getTransformationFilesCount(prodid, "ErrorCount")

if not result["OK"]:
return {"success": "false", "error": result["Message"]}
Expand All @@ -238,12 +238,12 @@ def __fileRetry(self, prodid, mode):
return {"success": "true", "result": resList}

def __dataQuery(self, prodid):
tsClient = TransformationClient()
waClient = WebAppClient()

# FIXME: getTransformationInputDataQuery has been replaced by getTransformationMetaQuery in DIRAC v7r0
result = tsClient.getTransformationMetaQuery(prodid, "Input")
result = waClient.getTransformationMetaQuery(prodid, "Input")
if not result["OK"] and "Unknown method" in result["Message"]:
result = tsClient.getTransformationInputDataQuery(prodid)
result = waClient.getTransformationInputDataQuery(prodid)

gLogger.debug("-= #######", result)
if not result["OK"]:
Expand All @@ -253,20 +253,20 @@ def __dataQuery(self, prodid):
return {"success": "true", "result": back}

def __additionalParams(self, prodid):
if not (result := TransformationClient().getAdditionalParameters(prodid))["OK"]:
if not (result := WebAppClient().getAdditionalParameters(prodid))["OK"]:
return {"success": "false", "error": result["Message"]}
data = result["Value"]
back = [[i, data[i]] for i in sorted(data)]
return {"success": "true", "result": back}

def __workflowxml(self, transid):
tsClient = TransformationClient()
if not (result := tsClient.getTransformations({"TransformationID": transid}))["OK"]:
waClient = WebAppClient()
if not (result := waClient.getTransformations({"TransformationID": transid}))["OK"]:
raise WErr.fromSERROR(result)
return {"success": "true", "result": result["Value"][0]["Body"]}

def __getLoggingInfo(self, transid):
if (result := TransformationClient().getTransformationLogging(transid))["OK"]:
if (result := WebAppClient().getTransformationLogging(transid))["OK"]:
if len(data := result["Value"]) > 0:
callback = []
for i in data:
Expand All @@ -278,8 +278,8 @@ def __getLoggingInfo(self, transid):
return {"success": "false", "error": result["Message"]}

def __transformationFileStatus(self, transid):
tsClient = TransformationClient()
if not (result := tsClient.getTransformationFilesCount(transid, "Status"))["OK"]:
waClient = WebAppClient()
if not (result := waClient.getTransformationFilesCount(transid, "Status"))["OK"]:
return {"success": "false", "error": result["Message"]}
resList = []
if (total := result["Value"].pop("Total")) == 0:
Expand All @@ -293,8 +293,8 @@ def __transformationFileStatus(self, transid):
return {"success": "true", "result": resList}

def __transformationDetail(self, prodid):
tsClient = TransformationClient()
if not (result := tsClient.getTransformationParameters(prodid, ["DetailedInfo"]))["OK"]:
waClient = WebAppClient()
if not (result := waClient.getTransformationParameters(prodid, ["DetailedInfo"]))["OK"]:
return {"success": "false", "error": result["Message"]}
if callback := result["Value"]:
return {"success": "true", "result": callback}
Expand All @@ -303,15 +303,15 @@ def __transformationDetail(self, prodid):

def __extendTransformation(self, transid, tasks):
gLogger.info(f"Extend transformation ({transid}, {tasks})")
if (result := TransformationClient().extendTransformation(transid, tasks))["OK"]:
if (result := WebAppClient().extendTransformation(transid, tasks))["OK"]:
resString = f"{transid} extended by {tasks} successfully"
else:
resString = f"{transid} failed to extend: {result['Message']}"
gLogger.debug("#######", result)
return {"success": "true", "showResult": [resString], "result": resString}

def web_showFileStatus(self, start: int, limit: int, transformationId, status):
result = TransformationClient().getTransformationFilesSummaryWeb(
result = WebAppClient().getTransformationFilesSummaryWeb(
{"TransformationID": transformationId, "Status": status},
[["FileID", "ASC"]],
start,
Expand Down Expand Up @@ -353,7 +353,7 @@ def web_getTier1Sites(self):

def web_setSite(self, TransformationId: int, RunNumber: int, Site):
gLogger.info(f"\033[0;31m setTransformationRunsSite({TransformationId}, {RunNumber}, {Site}) \033[0m")
result = TransformationClient().setTransformationRunsSite(TransformationId, RunNumber, Site)
result = WebAppClient().setTransformationRunsSite(TransformationId, RunNumber, Site)
if result["OK"]:
return {"success": "true", "result": "true"}
return {"success": "false", "error": result["Message"]}
Expand All @@ -375,7 +375,7 @@ def _prepareSearchParameters(
transformationGroup,
TransformationFamily,
):
"""Prepare a query dictionary which can be used with TransformationClient.getTransformationSummaryWeb
"""Prepare a query dictionary which can be used with WebAppClient.getTransformationSummaryWeb

Note: This method can be overridden by extensions
"""
Expand Down