lsst-ctrl-bps-htcondor 30.0.1rc1__tar.gz → 30.2025.5000__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_bps_htcondor-30.0.1rc1/python/lsst_ctrl_bps_htcondor.egg-info → lsst_ctrl_bps_htcondor-30.2025.5000}/PKG-INFO +3 -3
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/doc/lsst.ctrl.bps.htcondor/CHANGES.rst +2 -44
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/doc/lsst.ctrl.bps.htcondor/userguide.rst +7 -10
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/pyproject.toml +12 -4
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/dagman_configurator.py +1 -1
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/htcondor_service.py +2 -2
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/lssthtc.py +11 -19
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/prepare_utils.py +1 -5
- lsst_ctrl_bps_htcondor-30.2025.5000/python/lsst/ctrl/bps/htcondor/version.py +2 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000/python/lsst_ctrl_bps_htcondor.egg-info}/PKG-INFO +3 -3
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_lssthtc.py +0 -2
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_prepare_utils.py +0 -13
- lsst_ctrl_bps_htcondor-30.0.1rc1/python/lsst/ctrl/bps/htcondor/version.py +0 -2
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/COPYRIGHT +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/LICENSE +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/MANIFEST.in +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/README.rst +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/bsd_license.txt +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/doc/lsst.ctrl.bps.htcondor/index.rst +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/gpl-v3.0.txt +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/__init__.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/common_utils.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/etc/__init__.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/etc/htcondor_defaults.yaml +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/final_post.sh +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/handlers.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/htcondor_config.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/htcondor_workflow.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/provisioner.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst/ctrl/bps/htcondor/report_utils.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst_ctrl_bps_htcondor.egg-info/SOURCES.txt +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst_ctrl_bps_htcondor.egg-info/dependency_links.txt +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst_ctrl_bps_htcondor.egg-info/requires.txt +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst_ctrl_bps_htcondor.egg-info/top_level.txt +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/python/lsst_ctrl_bps_htcondor.egg-info/zip-safe +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/setup.cfg +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_common_utils.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_dagman_configurator.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_handlers.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_htcondor_service.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_provisioner.py +0 -0
- {lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_report_utils.py +0 -0
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-ctrl-bps-htcondor
|
|
3
|
-
Version: 30.
|
|
3
|
+
Version: 30.2025.5000
|
|
4
4
|
Summary: HTCondor plugin for lsst-ctrl-bps.
|
|
5
5
|
Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
|
|
6
6
|
License-Expression: BSD-3-Clause OR GPL-3.0-or-later
|
|
7
7
|
Project-URL: Homepage, https://github.com/lsst/ctrl_bps_htcondor
|
|
8
|
-
Project-URL: Source, https://github.com/lsst/ctrl_bps_htcondor
|
|
9
8
|
Keywords: lsst
|
|
10
9
|
Classifier: Intended Audience :: Science/Research
|
|
11
10
|
Classifier: Operating System :: OS Independent
|
|
12
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.13
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.14
|
|
16
16
|
Classifier: Topic :: Scientific/Engineering :: Astronomy
|
|
17
|
-
Requires-Python: >=3.
|
|
17
|
+
Requires-Python: >=3.11.0
|
|
18
18
|
Description-Content-Type: text/x-rst
|
|
19
19
|
License-File: COPYRIGHT
|
|
20
20
|
License-File: LICENSE
|
|
@@ -1,45 +1,3 @@
|
|
|
1
|
-
lsst-ctrl-bps-htcondor v30.0.1 (2026-02-03)
|
|
2
|
-
===========================================
|
|
3
|
-
|
|
4
|
-
Dropped support for Python 3.11.
|
|
5
|
-
Tested with Python 3.14.
|
|
6
|
-
|
|
7
|
-
Other Changes and Additions
|
|
8
|
-
---------------------------
|
|
9
|
-
|
|
10
|
-
- - Switched docs action to use ``sphinxutils``.
|
|
11
|
-
- Bumped minimum Python version to 3.12.
|
|
12
|
-
- Dropped ``black`` and ``isort`` sections from ``pyproject.toml``. (`DM-54005 <https://rubinobs.atlassian.net/browse/DM-54005>`_)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
lsst-ctrl-bps-htcondor v30.0.0 (2026-01-16)
|
|
16
|
-
===========================================
|
|
17
|
-
|
|
18
|
-
New Features
|
|
19
|
-
------------
|
|
20
|
-
|
|
21
|
-
- Added ability to bring the output files produced during job's execution back to the submit site. (`DM-48479 <https://rubinobs.atlassian.net/browse/DM-48479>`_)
|
|
22
|
-
- Added ability to save job stdout/stderr across job retries by setting ``overwriteJobFiles`` to ``false`` in the submit yaml. (`DM-51905 <https://rubinobs.atlassian.net/browse/DM-51905>`_)
|
|
23
|
-
- Added a mechanism that lets the user configure DAGMan via submit YAML. (`DM-52778 <https://rubinobs.atlassian.net/browse/DM-52778>`_)
|
|
24
|
-
- Added using the given priority as the DAG node priority in addition to the HTCondor job priority. (`DM-53753 <https://rubinobs.atlassian.net/browse/DM-53753>`_)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
Bug Fixes
|
|
28
|
-
---------
|
|
29
|
-
|
|
30
|
-
- Fixed bug causing ``bps status --id`` to always report ``MISFIT`` status. Bug was introduced in DM-51868. (`DM-53014 <https://rubinobs.atlassian.net/browse/DM-53014>`_)
|
|
31
|
-
- Fixed bug causing finalJob's memory to not be increased on retries like on regular payload jobs. (`DM-53053 <https://rubinobs.atlassian.net/browse/DM-53053>`_)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
Other Changes and Additions
|
|
35
|
-
---------------------------
|
|
36
|
-
|
|
37
|
-
- Redirected payload's ``stderr`` and ``stdout`` to the same file (``*.out``) to reduce number of files the plugin creates during submission. (`DM-31879 <https://rubinobs.atlassian.net/browse/DM-31879>`_)
|
|
38
|
-
- Added documentation on ``condor_tail`` and ``condor_ssh_to_job``. (`DM-50900 <https://rubinobs.atlassian.net/browse/DM-50900>`_)
|
|
39
|
-
- Fixed issue with some failed jobs being reported as deleted when using ``bps report`` with HTCondor plugin. (`DM-51868 <https://rubinobs.atlassian.net/browse/DM-51868>`_)
|
|
40
|
-
- Divided ``htcondor_service.py`` and ``test_htcondor_service.py`` into smaller files. (`DM-52552 <https://rubinobs.atlassian.net/browse/DM-52552>`_)
|
|
41
|
-
|
|
42
|
-
|
|
43
1
|
lsst-ctrl-bps-htcondor v29.1.0 (2025-06-13)
|
|
44
2
|
===========================================
|
|
45
3
|
|
|
@@ -178,8 +136,8 @@ Other Changes and Additions
|
|
|
178
136
|
- Make HTCondor treat all jobs exiting with a signal as if they ran out of memory. (`DM-32968 <https://rubinobs.atlassian.net/browse/DM-32968>`_)
|
|
179
137
|
- Make HTCondor plugin pass a group and user attribute to any batch systems that require such attributes for accounting purposes. (`DM-33887 <https://rubinobs.atlassian.net/browse/DM-33887>`_)
|
|
180
138
|
|
|
181
|
-
|
|
182
|
-
|
|
139
|
+
ctrl_bps v23.0.0 (2021-12-10)
|
|
140
|
+
=============================
|
|
183
141
|
|
|
184
142
|
New Features
|
|
185
143
|
------------
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
User Guide
|
|
2
|
-
==========
|
|
3
|
-
|
|
4
1
|
.. _htc-plugin-overview:
|
|
5
2
|
|
|
6
3
|
Overview
|
|
@@ -9,7 +6,7 @@ Overview
|
|
|
9
6
|
LSST Batch Processing Service (BPS) allows large-scale workflows to execute in
|
|
10
7
|
well-managed fashion, potentially in multiple environments. The service is
|
|
11
8
|
provided by the `ctrl_bps`_ package. ``ctrl_bps_htcondor`` is a plugin
|
|
12
|
-
allowing
|
|
9
|
+
allowing `ctrl_bps` to execute workflows on computational resources managed by
|
|
13
10
|
`HTCondor`_.
|
|
14
11
|
|
|
15
12
|
.. _htc-plugin-preqs:
|
|
@@ -92,8 +89,8 @@ Job Environment
|
|
|
92
89
|
^^^^^^^^^^^^^^^
|
|
93
90
|
|
|
94
91
|
By default, the htcondor jobs copy the environment from the shell in which
|
|
95
|
-
|
|
96
|
-
submission yaml, use an
|
|
92
|
+
`bps submit` was executed. To set or override an environment variable via
|
|
93
|
+
submission yaml, use an `environment` section. Other yaml values and pre-existing
|
|
97
94
|
environment variables can be used. Some examples:
|
|
98
95
|
|
|
99
96
|
.. code-block:: YAML
|
|
@@ -107,7 +104,7 @@ environment variables can be used. Some examples:
|
|
|
107
104
|
|
|
108
105
|
.. note::
|
|
109
106
|
|
|
110
|
-
The
|
|
107
|
+
The `environment` section has to be at the root level. There is no
|
|
111
108
|
way to change the environment inside another level (e.g., per site,
|
|
112
109
|
per cluster, per pipeline task)
|
|
113
110
|
|
|
@@ -400,11 +397,11 @@ by ``provisioningMaxIdleTime`` (default value: 15 min., see below) or maximum
|
|
|
400
397
|
wall time is reached.
|
|
401
398
|
|
|
402
399
|
The provisioning job is expected to run as long as the workflow. If the job
|
|
403
|
-
dies, the job status will be
|
|
404
|
-
the job status will be
|
|
400
|
+
dies, the job status will be `FAILED`. If the job just completed successfully,
|
|
401
|
+
the job status will be `SUCCEEDED` with a message saying it ended early (which
|
|
405
402
|
may or may not cause a problem since existing glideins could remain running).
|
|
406
403
|
To get more information about either of these cases, check the job output
|
|
407
|
-
and error files in the
|
|
404
|
+
and error files in the `jobs/provisioningJob` subdirectory.
|
|
408
405
|
|
|
409
406
|
|
|
410
407
|
If the automatic provisioning of the resources is enabled, the script that the
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "lsst-ctrl-bps-htcondor"
|
|
7
|
-
requires-python = ">=3.
|
|
7
|
+
requires-python = ">=3.11.0"
|
|
8
8
|
description = "HTCondor plugin for lsst-ctrl-bps."
|
|
9
9
|
license = "BSD-3-Clause OR GPL-3.0-or-later"
|
|
10
10
|
license-files = ["COPYRIGHT", "LICENSE", "bsd_license.txt", "gpl-v3.0.txt"]
|
|
@@ -16,6 +16,7 @@ classifiers = [
|
|
|
16
16
|
"Intended Audience :: Science/Research",
|
|
17
17
|
"Operating System :: OS Independent",
|
|
18
18
|
"Programming Language :: Python :: 3",
|
|
19
|
+
"Programming Language :: Python :: 3.11",
|
|
19
20
|
"Programming Language :: Python :: 3.12",
|
|
20
21
|
"Programming Language :: Python :: 3.13",
|
|
21
22
|
"Programming Language :: Python :: 3.14",
|
|
@@ -35,7 +36,6 @@ dynamic = ["version"]
|
|
|
35
36
|
|
|
36
37
|
[project.urls]
|
|
37
38
|
"Homepage" = "https://github.com/lsst/ctrl_bps_htcondor"
|
|
38
|
-
"Source" = "https://github.com/lsst/ctrl_bps_htcondor"
|
|
39
39
|
|
|
40
40
|
[project.optional-dependencies]
|
|
41
41
|
test = [
|
|
@@ -93,6 +93,15 @@ version = { attr = "lsst_versions.get_lsst_version" }
|
|
|
93
93
|
name = "An API Removal or Deprecation"
|
|
94
94
|
showcontent = true
|
|
95
95
|
|
|
96
|
+
[tool.black]
|
|
97
|
+
line-length = 110
|
|
98
|
+
target-version = ["py311"]
|
|
99
|
+
|
|
100
|
+
[tool.isort]
|
|
101
|
+
profile = "black"
|
|
102
|
+
line_length = 110
|
|
103
|
+
known_first_party = ["lsst"]
|
|
104
|
+
|
|
96
105
|
[tool.lsst_versions]
|
|
97
106
|
write_to = "python/lsst/ctrl/bps/htcondor/version.py"
|
|
98
107
|
|
|
@@ -118,7 +127,7 @@ exclude_lines = [
|
|
|
118
127
|
]
|
|
119
128
|
|
|
120
129
|
[tool.ruff]
|
|
121
|
-
target-version = "
|
|
130
|
+
target-version = "py311"
|
|
122
131
|
line-length = 110
|
|
123
132
|
exclude = [
|
|
124
133
|
"__init__.py",
|
|
@@ -185,7 +194,6 @@ checks = [
|
|
|
185
194
|
"RT01", # Unfortunately our @property trigger this.
|
|
186
195
|
"RT02", # Does not want named return value. DM style says we do.
|
|
187
196
|
"SS05", # pydocstyle is better at finding infinitive verb.
|
|
188
|
-
"RT03", # Temporarily disable for sphinx empty returns.
|
|
189
197
|
]
|
|
190
198
|
exclude = [
|
|
191
199
|
'^__init__$',
|
|
@@ -91,7 +91,7 @@ class DagmanConfigurator:
|
|
|
91
91
|
----------
|
|
92
92
|
config : `lsst.ctrl.bps.BpsConfig`
|
|
93
93
|
BPS configuration.
|
|
94
|
-
search_opts : `dict` [`str`,
|
|
94
|
+
search_opts : `dict` [`str`, `Any`], optional
|
|
95
95
|
Options to use while searching the BPS configuration for values.
|
|
96
96
|
|
|
97
97
|
Raises
|
|
@@ -100,7 +100,7 @@ class HTCondorService(BaseWmsService):
|
|
|
100
100
|
|
|
101
101
|
Returns
|
|
102
102
|
-------
|
|
103
|
-
workflow : `lsst.ctrl.bps.htcondor.HTCondorWorkflow`
|
|
103
|
+
workflow : `lsst.ctrl.bps.wms.htcondor.HTCondorWorkflow`
|
|
104
104
|
HTCondor workflow ready to be run.
|
|
105
105
|
"""
|
|
106
106
|
_LOG.debug("out_prefix = '%s'", out_prefix)
|
|
@@ -141,7 +141,7 @@ class HTCondorService(BaseWmsService):
|
|
|
141
141
|
|
|
142
142
|
Parameters
|
|
143
143
|
----------
|
|
144
|
-
workflow : `lsst.ctrl.bps.
|
|
144
|
+
workflow : `lsst.ctrl.bps.BaseWorkflow`
|
|
145
145
|
A single HTCondor workflow to submit. run_id is updated after
|
|
146
146
|
successful submission to WMS.
|
|
147
147
|
**kwargs : `~typing.Any`
|
|
@@ -234,7 +234,6 @@ HTC_VALID_JOB_DAG_KEYS = {
|
|
|
234
234
|
"retry_unless_exit",
|
|
235
235
|
"abort_dag_on",
|
|
236
236
|
"abort_exit",
|
|
237
|
-
"priority",
|
|
238
237
|
}
|
|
239
238
|
HTC_VERSION = version.parse(htcondor.__version__)
|
|
240
239
|
|
|
@@ -244,7 +243,7 @@ class RestrictedDict(MutableMapping):
|
|
|
244
243
|
|
|
245
244
|
Parameters
|
|
246
245
|
----------
|
|
247
|
-
valid_keys :
|
|
246
|
+
valid_keys : `Container`
|
|
248
247
|
Strings that are valid keys.
|
|
249
248
|
init_data : `dict` or `RestrictedDict`, optional
|
|
250
249
|
Initial data.
|
|
@@ -491,7 +490,7 @@ def htc_write_attribs(stream, attrs):
|
|
|
491
490
|
|
|
492
491
|
Parameters
|
|
493
492
|
----------
|
|
494
|
-
stream : `~
|
|
493
|
+
stream : `~io.TextIOBase`
|
|
495
494
|
Output text stream (typically an open file).
|
|
496
495
|
attrs : `dict`
|
|
497
496
|
HTCondor job attributes (dictionary of attribute key, value).
|
|
@@ -513,7 +512,7 @@ def htc_write_condor_file(
|
|
|
513
512
|
|
|
514
513
|
Parameters
|
|
515
514
|
----------
|
|
516
|
-
filename : `str` or
|
|
515
|
+
filename : `str` or os.PathLike
|
|
517
516
|
Filename for the HTCondor submit file.
|
|
518
517
|
job_name : `str`
|
|
519
518
|
Job name to use in submit file.
|
|
@@ -824,7 +823,7 @@ def _htc_write_job_commands(stream, name, commands):
|
|
|
824
823
|
|
|
825
824
|
Parameters
|
|
826
825
|
----------
|
|
827
|
-
stream : `~
|
|
826
|
+
stream : `~io.TextIOBase`
|
|
828
827
|
Writeable text stream (typically an opened file).
|
|
829
828
|
name : `str`
|
|
830
829
|
Job name.
|
|
@@ -885,12 +884,6 @@ def _htc_write_job_commands(stream, name, commands):
|
|
|
885
884
|
file=stream,
|
|
886
885
|
)
|
|
887
886
|
|
|
888
|
-
if "priority" in commands and commands["priority"]:
|
|
889
|
-
print(
|
|
890
|
-
f"PRIORITY {name} {commands['priority']}",
|
|
891
|
-
file=stream,
|
|
892
|
-
)
|
|
893
|
-
|
|
894
887
|
|
|
895
888
|
class HTCJob:
|
|
896
889
|
"""HTCondor job for use in building DAG.
|
|
@@ -981,7 +974,7 @@ class HTCJob:
|
|
|
981
974
|
|
|
982
975
|
Parameters
|
|
983
976
|
----------
|
|
984
|
-
stream :
|
|
977
|
+
stream : `IO` or `str`
|
|
985
978
|
Output Stream.
|
|
986
979
|
dag_rel_path : `str`
|
|
987
980
|
Relative path of dag to submit directory.
|
|
@@ -1009,7 +1002,7 @@ class HTCJob:
|
|
|
1009
1002
|
|
|
1010
1003
|
Parameters
|
|
1011
1004
|
----------
|
|
1012
|
-
fh : `~
|
|
1005
|
+
fh : `~io.TextIOBase`
|
|
1013
1006
|
Output stream.
|
|
1014
1007
|
"""
|
|
1015
1008
|
printer = pprint.PrettyPrinter(indent=4, stream=fh)
|
|
@@ -1023,9 +1016,8 @@ class HTCDag(networkx.DiGraph):
|
|
|
1023
1016
|
|
|
1024
1017
|
Parameters
|
|
1025
1018
|
----------
|
|
1026
|
-
data :
|
|
1027
|
-
Initial graph
|
|
1028
|
-
by the to_network_graph() function.
|
|
1019
|
+
data : networkx.DiGraph.data
|
|
1020
|
+
Initial graph.
|
|
1029
1021
|
name : `str`
|
|
1030
1022
|
Name for DAG.
|
|
1031
1023
|
"""
|
|
@@ -1217,7 +1209,7 @@ class HTCDag(networkx.DiGraph):
|
|
|
1217
1209
|
|
|
1218
1210
|
Parameters
|
|
1219
1211
|
----------
|
|
1220
|
-
fh : `
|
|
1212
|
+
fh : `io.IO` or `str`
|
|
1221
1213
|
Where to dump DAG info as text.
|
|
1222
1214
|
"""
|
|
1223
1215
|
for key, value in self.graph:
|
|
@@ -1304,7 +1296,7 @@ def condor_query(constraint=None, schedds=None, query_func=htc_query_present, **
|
|
|
1304
1296
|
HTCondor schedulers which to query for job information. If None
|
|
1305
1297
|
(default), the query will be run against the history file of
|
|
1306
1298
|
the local scheduler only.
|
|
1307
|
-
query_func :
|
|
1299
|
+
query_func : callable
|
|
1308
1300
|
An query function which takes following arguments:
|
|
1309
1301
|
|
|
1310
1302
|
- ``schedds``: Schedulers to query (`list` [`htcondor.Schedd`]).
|
|
@@ -1661,7 +1653,7 @@ def read_dag_status(wms_path: str | os.PathLike) -> dict[str, Any]:
|
|
|
1661
1653
|
|
|
1662
1654
|
Parameters
|
|
1663
1655
|
----------
|
|
1664
|
-
wms_path : `str` or `os.PathLike
|
|
1656
|
+
wms_path : `str` or `os.PathLike
|
|
1665
1657
|
Path that includes node status file for a run.
|
|
1666
1658
|
|
|
1667
1659
|
Returns
|
|
@@ -306,11 +306,7 @@ def _translate_dag_cmds(gwjob):
|
|
|
306
306
|
DAGMan commands for the job.
|
|
307
307
|
"""
|
|
308
308
|
# Values in the dag script that just are name mappings.
|
|
309
|
-
dag_translation = {
|
|
310
|
-
"abort_on_value": "abort_dag_on",
|
|
311
|
-
"abort_return_value": "abort_exit",
|
|
312
|
-
"priority": "priority",
|
|
313
|
-
}
|
|
309
|
+
dag_translation = {"abort_on_value": "abort_dag_on", "abort_return_value": "abort_exit"}
|
|
314
310
|
|
|
315
311
|
dagcmds = {}
|
|
316
312
|
for gwkey, htckey in dag_translation.items():
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-ctrl-bps-htcondor
|
|
3
|
-
Version: 30.
|
|
3
|
+
Version: 30.2025.5000
|
|
4
4
|
Summary: HTCondor plugin for lsst-ctrl-bps.
|
|
5
5
|
Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
|
|
6
6
|
License-Expression: BSD-3-Clause OR GPL-3.0-or-later
|
|
7
7
|
Project-URL: Homepage, https://github.com/lsst/ctrl_bps_htcondor
|
|
8
|
-
Project-URL: Source, https://github.com/lsst/ctrl_bps_htcondor
|
|
9
8
|
Keywords: lsst
|
|
10
9
|
Classifier: Intended Audience :: Science/Research
|
|
11
10
|
Classifier: Operating System :: OS Independent
|
|
12
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.13
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.14
|
|
16
16
|
Classifier: Topic :: Scientific/Engineering :: Astronomy
|
|
17
|
-
Requires-Python: >=3.
|
|
17
|
+
Requires-Python: >=3.11.0
|
|
18
18
|
Description-Content-Type: text/x-rst
|
|
19
19
|
License-File: COPYRIGHT
|
|
20
20
|
License-File: LICENSE
|
{lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_lssthtc.py
RENAMED
|
@@ -724,7 +724,6 @@ class HtcWriteJobCommands(unittest.TestCase):
|
|
|
724
724
|
"retry": 3,
|
|
725
725
|
"retry_unless_exit": 1,
|
|
726
726
|
"abort_dag_on": {"node_exit": 100, "abort_exit": 4},
|
|
727
|
-
"priority": 123,
|
|
728
727
|
}
|
|
729
728
|
|
|
730
729
|
truth = """SCRIPT DEFER 1 120 DEBUG debug_pre.txt ALL PRE job1 exec1 arg1 arg2
|
|
@@ -734,7 +733,6 @@ VARS job1 spaces="a space"
|
|
|
734
733
|
PRE_SKIP job1 1
|
|
735
734
|
RETRY job1 3 UNLESS-EXIT 1
|
|
736
735
|
ABORT-DAG-ON job1 100 RETURN 4
|
|
737
|
-
PRIORITY job1 123
|
|
738
736
|
"""
|
|
739
737
|
mockfh = io.StringIO()
|
|
740
738
|
lssthtc._htc_write_job_commands(mockfh, "job1", dag_cmds)
|
{lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_prepare_utils.py
RENAMED
|
@@ -134,19 +134,6 @@ class TranslateJobCmdsTestCase(unittest.TestCase):
|
|
|
134
134
|
self.assertEqual(htc_commands["max_retries"], 0)
|
|
135
135
|
|
|
136
136
|
|
|
137
|
-
class TranslateDagCmdsTestCase(unittest.TestCase):
|
|
138
|
-
"""Test _translate_dag_cmds method."""
|
|
139
|
-
|
|
140
|
-
def setUp(self):
|
|
141
|
-
self.gw_exec = GenericWorkflowExec("test_exec", "/dummy/dir/pipetask")
|
|
142
|
-
|
|
143
|
-
def testPriority(self):
|
|
144
|
-
gwjob = GenericWorkflowJob("priority", "label1", executable=self.gw_exec)
|
|
145
|
-
gwjob.priority = 100
|
|
146
|
-
dag_commands = prepare_utils._translate_dag_cmds(gwjob)
|
|
147
|
-
self.assertEqual(dag_commands["priority"], 100)
|
|
148
|
-
|
|
149
|
-
|
|
150
137
|
class GroupToSubdagTestCase(unittest.TestCase):
|
|
151
138
|
"""Test _group_to_subdag function."""
|
|
152
139
|
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_common_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_handlers.py
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_provisioner.py
RENAMED
|
File without changes
|
{lsst_ctrl_bps_htcondor-30.0.1rc1 → lsst_ctrl_bps_htcondor-30.2025.5000}/tests/test_report_utils.py
RENAMED
|
File without changes
|