lsst-ctrl-execute 29.2025.1000__tar.gz → 29.2025.1400__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/PKG-INFO +1 -1
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/allocator.py +8 -7
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/slurmPlugin.py +4 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_slurmPlugin.py +20 -0
- lsst_ctrl_execute-29.2025.1400/tests/testfiles/config_execconfig.py +6 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/.github/workflows/build.yaml +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/.github/workflows/formatting.yaml +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/.github/workflows/rebase_checker.yaml +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/.gitignore +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/.pre-commit-config.yaml +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/SConstruct +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/etc/configs/gordon_config.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/etc/configs/lsst_config.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/etc/scripts/generateDag.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/pyproject.toml +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/__init__.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/__init__.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/__init__.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/allocationConfig.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/allocatorParser.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/condorConfig.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/condorInfoConfig.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/envString.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/findPackageFile.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/libexec/allocateNodes.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/libexec/dagIdInfo.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/libexec/qdelete.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/libexec/qstatus.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/namedClassFactory.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/pbsPlugin.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/qCommand.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/seqFile.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/execute/templateWriter.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/setup.cfg +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/README +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/SConscript +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_allocationConfig.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_allocatorParser.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_condorConfig.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_condorInfoConfig.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_dagIdInfo.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_findPackageFile.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_seqFile.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_templateWriter.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/allocator-info1.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_allocation.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_allocation_slurm.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_asserts.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_condor.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_condorInfo.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_condor_getenv.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_condor_setups.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_condor_slurm.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_pegasus.py +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/generic.pbs.template +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/generic.pbs.txt +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/generic.slurm.template +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/generic.slurm.txt +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/glidein_condor_config.template +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/glidein_condor_config.txt +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/templateWriter.template +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/templateWriter.txt +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/test.diamond.dag +0 -0
- {lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/ups/ctrl_execute.table +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-ctrl-execute
|
|
3
|
-
Version: 29.2025.
|
|
3
|
+
Version: 29.2025.1400
|
|
4
4
|
Summary: Utilities for executing and managing workloads.
|
|
5
5
|
Project-URL: Homepage, https://github.com/lsst/ctrl_execute
|
|
6
6
|
Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
|
|
@@ -30,9 +30,7 @@ from datetime import datetime
|
|
|
30
30
|
from string import Template
|
|
31
31
|
|
|
32
32
|
from lsst.ctrl.execute.allocationConfig import AllocationConfig
|
|
33
|
-
from lsst.ctrl.execute.condorConfig import CondorConfig
|
|
34
33
|
from lsst.ctrl.execute.condorInfoConfig import CondorInfoConfig
|
|
35
|
-
from lsst.ctrl.execute.findPackageFile import find_package_file
|
|
36
34
|
from lsst.ctrl.execute.templateWriter import TemplateWriter
|
|
37
35
|
from lsst.resources import ResourcePath, ResourcePathExpression
|
|
38
36
|
|
|
@@ -79,10 +77,6 @@ class Allocator:
|
|
|
79
77
|
|
|
80
78
|
self.platform = platform
|
|
81
79
|
|
|
82
|
-
execConfigName = find_package_file("execConfig.py", platform=platform)
|
|
83
|
-
execConfig = CondorConfig()
|
|
84
|
-
execConfig.loadFromStream(execConfigName.read())
|
|
85
|
-
|
|
86
80
|
# Look up the user's name and home and scratch directory in the
|
|
87
81
|
# $HOME/.lsst/condor-info.py file
|
|
88
82
|
user_name = None
|
|
@@ -115,7 +109,7 @@ class Allocator:
|
|
|
115
109
|
self.commandLineDefaults["COLLECTOR"] = self.opts.collector
|
|
116
110
|
self.commandLineDefaults["CPORT"] = self.opts.collectorport
|
|
117
111
|
if self.opts.exclusive:
|
|
118
|
-
self.commandLineDefaults["CPUS"] =
|
|
112
|
+
self.commandLineDefaults["CPUS"] = self.configuration.platform.peakcpus
|
|
119
113
|
else:
|
|
120
114
|
self.commandLineDefaults["CPUS"] = self.opts.cpus
|
|
121
115
|
self.commandLineDefaults["WALL_CLOCK"] = self.opts.maximumWallClock
|
|
@@ -123,6 +117,7 @@ class Allocator:
|
|
|
123
117
|
self.commandLineDefaults["MEMPERCORE"] = 4096
|
|
124
118
|
self.commandLineDefaults["ALLOWEDAUTO"] = 500
|
|
125
119
|
self.commandLineDefaults["AUTOCPUS"] = 16
|
|
120
|
+
self.commandLineDefaults["MINAUTOCPUS"] = 15
|
|
126
121
|
self.commandLineDefaults["QUEUE"] = self.opts.queue
|
|
127
122
|
self.load()
|
|
128
123
|
|
|
@@ -361,6 +356,12 @@ class Allocator:
|
|
|
361
356
|
else:
|
|
362
357
|
return self.getParameter("AUTOCPUS")
|
|
363
358
|
|
|
359
|
+
def getMinAutoCPUs(self):
|
|
360
|
+
"""Minimum Size of standard glideins for allocateNodes auto
|
|
361
|
+
@return the value of minAutoCPUs
|
|
362
|
+
"""
|
|
363
|
+
return self.getParameter("MINAUTOCPUS")
|
|
364
|
+
|
|
364
365
|
def getWallClock(self):
|
|
365
366
|
"""Accessor for WALL_CLOCK
|
|
366
367
|
@return the value of WALL_CLOCK
|
|
@@ -291,7 +291,11 @@ class SlurmPlugin(Allocator):
|
|
|
291
291
|
"""Determine and submit the glideins needed from job pressure."""
|
|
292
292
|
|
|
293
293
|
verbose = self.isVerbose()
|
|
294
|
+
cpus = self.getCPUs()
|
|
294
295
|
autoCPUs = self.getAutoCPUs()
|
|
296
|
+
minAutoCPUs = self.getMinAutoCPUs()
|
|
297
|
+
if cpus >= minAutoCPUs:
|
|
298
|
+
autoCPUs = cpus
|
|
295
299
|
memoryPerCore = self.getMemoryPerCore()
|
|
296
300
|
memoryLimit = autoCPUs * memoryPerCore
|
|
297
301
|
auser = self.getUserName()
|
|
@@ -26,6 +26,7 @@ import sys
|
|
|
26
26
|
import unittest
|
|
27
27
|
|
|
28
28
|
import lsst.utils.tests
|
|
29
|
+
from lsst.ctrl.execute.allocator import Allocator
|
|
29
30
|
from lsst.ctrl.execute.allocatorParser import AllocatorParser
|
|
30
31
|
from lsst.ctrl.execute.condorConfig import CondorConfig
|
|
31
32
|
from lsst.ctrl.execute.namedClassFactory import NamedClassFactory
|
|
@@ -77,6 +78,25 @@ class SlurmPluginTest(lsst.utils.tests.TestCase):
|
|
|
77
78
|
self.assertTrue(self.config)
|
|
78
79
|
self.assertTrue(condor_info_file)
|
|
79
80
|
|
|
81
|
+
platform = "test1"
|
|
82
|
+
configuration = CondorConfig()
|
|
83
|
+
p1 = os.path.join("tests/testfiles", "config_execconfig.py")
|
|
84
|
+
execConfigName = p1
|
|
85
|
+
configuration.load(execConfigName)
|
|
86
|
+
scheduler: Allocator = schedulerClass(platform, args, configuration, condor_info_file)
|
|
87
|
+
self.assertTrue(scheduler)
|
|
88
|
+
|
|
89
|
+
autocpus = scheduler.getAutoCPUs()
|
|
90
|
+
minautocpus = scheduler.getMinAutoCPUs()
|
|
91
|
+
cpus = scheduler.getCPUs()
|
|
92
|
+
nodes = scheduler.getNodes()
|
|
93
|
+
wallclock = scheduler.getWallClock()
|
|
94
|
+
self.assertEqual(autocpus, 16)
|
|
95
|
+
self.assertEqual(minautocpus, 15)
|
|
96
|
+
self.assertEqual(cpus, 12)
|
|
97
|
+
self.assertEqual(nodes, 64)
|
|
98
|
+
self.assertEqual(wallclock, "00:30:00")
|
|
99
|
+
|
|
80
100
|
|
|
81
101
|
if __name__ == "__main__":
|
|
82
102
|
lsst.utils.tests.init()
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/.github/workflows/build.yaml
RENAMED
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/.github/workflows/formatting.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/etc/configs/gordon_config.py
RENAMED
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/etc/configs/lsst_config.py
RENAMED
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/etc/scripts/generateDag.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/python/lsst/ctrl/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_allocationConfig.py
RENAMED
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_allocatorParser.py
RENAMED
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_condorConfig.py
RENAMED
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_condorInfoConfig.py
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_findPackageFile.py
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/test_templateWriter.py
RENAMED
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/allocator-info1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_asserts.py
RENAMED
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_condor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/config_pegasus.py
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/generic.pbs.txt
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/generic.slurm.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/templateWriter.txt
RENAMED
|
File without changes
|
{lsst_ctrl_execute-29.2025.1000 → lsst_ctrl_execute-29.2025.1400}/tests/testfiles/test.diamond.dag
RENAMED
|
File without changes
|
|
File without changes
|