Skip to content

Commit 06592b5

Browse files
committed
feat: further details about interactions with HPCs
1 parent b42aa1f commit 06592b5

File tree

3 files changed

+23
-6
lines changed

3 files changed

+23
-6
lines changed

docs/source/AdministratorGuide/Resources/supercomputers.rst

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,24 @@ One has also to authorize the machine hosting the :mod:`~DIRAC.WorkloadManagemen
133133
Properties += GenericPilot
134134
Properties += FileCatalogManagement
135135

136-
One has to specify the concerned VO in the targeted CEs, such as::
136+
One has to specify the concerned VO, the platform and the CPU Power in the targeted CEs as well as , such as::
137137

138138
<CE>
139139
{
140140
# To match a <VO> job
141141
VO = <VO>
142142
# Required because we are on a host (not on a worker node)
143143
VirtualOrganization = <VO>
144+
# To match compatible jobs
145+
Platform = <platform>
146+
Queues
147+
{
148+
<Queue>
149+
{
150+
CPUNormalizationFactor = <CPU Power value>
151+
}
152+
}
153+
144154
}
145155

146156
Finally, one has to make sure that job scheduling parameters are correctly fine-tuned. Further details in the :ref:`JobScheduling section <jobscheduling>`.

src/DIRAC/WorkloadManagementSystem/Agent/PushJobAgent.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,18 +373,20 @@ def _allowedToSubmit(self, queue):
373373

374374
def _setCEDict(self, ceDict):
375375
"""Set CEDict"""
376-
# Matcher will check that ReleaseVersion match the pilot version
376+
# Matcher will check that ReleaseVersion matches the pilot version
377377
# It is not needed in this configuration so we set ReleaseVersion as the pilot version
378+
# Also, DIRACVersion should be equals to ReleaseVersion, so we modify it
378379
versions = self.opsHelper.getValue("Pilot/Version", [])
379380
if versions:
380381
if not isinstance(versions, list):
381382
versions = [versions]
382383
ceDict["ReleaseVersion"] = versions[0]
384+
ceDict["DIRACVersion"] = versions[0]
383385
project = self.opsHelper.getValue("Pilot/Project", "")
384386
if project:
385387
ceDict["ReleaseProject"] = project
386388

387-
# Add a remoteExecution tag, which can be used in the next stages
389+
# Add a RemoteExecution entry, which can be used in the next stages
388390
ceDict["RemoteExecution"] = True
389391

390392
def _checkMatchingIssues(self, jobRequest):

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

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,15 @@ def test__allowedToSubmit(mocker, queue, failedQueues, failedQueueCycleFactor, e
5353
"ceDict, pilotVersion, pilotProject, expected",
5454
[
5555
({}, None, None, {"RemoteExecution": True}),
56-
({}, "8.0.0", None, {"ReleaseVersion": "8.0.0", "RemoteExecution": True}),
57-
({}, ["8.0.0", "7.3.7"], None, {"ReleaseVersion": "8.0.0", "RemoteExecution": True}),
56+
({}, "8.0.0", None, {"DIRACVersion": "8.0.0", "ReleaseVersion": "8.0.0", "RemoteExecution": True}),
57+
({}, ["8.0.0", "7.3.7"], None, {"DIRACVersion": "8.0.0", "ReleaseVersion": "8.0.0", "RemoteExecution": True}),
5858
({}, None, "Project", {"ReleaseProject": "Project", "RemoteExecution": True}),
59-
({}, "8.0.0", "Project", {"ReleaseVersion": "8.0.0", "ReleaseProject": "Project", "RemoteExecution": True}),
59+
(
60+
{},
61+
"8.0.0",
62+
"Project",
63+
{"DIRACVersion": "8.0.0", "ReleaseVersion": "8.0.0", "ReleaseProject": "Project", "RemoteExecution": True},
64+
),
6065
],
6166
)
6267
def test__setCEDict(mocker, ceDict, pilotVersion, pilotProject, expected):

0 commit comments

Comments
 (0)