lsst-ctrl-execute 29.2025.1400__py3-none-any.whl → 29.2025.2100__py3-none-any.whl

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.
@@ -178,6 +178,24 @@ class AllocatorParser:
178
178
  dest="packnodes",
179
179
  help="encourage nodes to pack jobs rather than spread",
180
180
  )
181
+ parser.add_argument(
182
+ "--exclude",
183
+ action="store",
184
+ default=None,
185
+ dest="exclude",
186
+ help="machine name(s) to exclude Slurm jobs from",
187
+ type=str,
188
+ required=False,
189
+ )
190
+ parser.add_argument(
191
+ "--nodelist",
192
+ action="store",
193
+ default=None,
194
+ dest="nodelist",
195
+ help="machine name(s) to target Slurm jobs toward",
196
+ type=str,
197
+ required=False,
198
+ )
181
199
  parser.add_argument(
182
200
  "--exclusive",
183
201
  action="store_true",
@@ -214,6 +214,16 @@ class SlurmPlugin(Allocator):
214
214
  else:
215
215
  self.defaults["RESERVATION"] = ""
216
216
 
217
+ if self.opts.exclude is not None:
218
+ self.defaults["EXCLUDE"] = f"#SBATCH --exclude {self.opts.exclude}"
219
+ else:
220
+ self.defaults["EXCLUDE"] = ""
221
+
222
+ if self.opts.nodelist is not None:
223
+ self.defaults["NODELIST"] = f"#SBATCH --nodelist {self.opts.nodelist}"
224
+ else:
225
+ self.defaults["NODELIST"] = ""
226
+
217
227
  if self.opts.exclusive is not None:
218
228
  self.defaults["EXCLUSIVE"] = "#SBATCH --exclusive"
219
229
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsst-ctrl-execute
3
- Version: 29.2025.1400
3
+ Version: 29.2025.2100
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>
@@ -3,7 +3,7 @@ lsst/ctrl/__init__.py,sha256=_2bZAHuDVAx7MM7KA7pt3DYp641NY4RzSoRAwesWKfU,67
3
3
  lsst/ctrl/execute/__init__.py,sha256=3tOhxyhnHbwyLLGKmL13A_TGqKjNErHjJybplX9mPzw,1019
4
4
  lsst/ctrl/execute/allocationConfig.py,sha256=TxC6pPIsR1GBfGIU8_R4dm4OCieIdZDBFOYLak1ItAc,2369
5
5
  lsst/ctrl/execute/allocator.py,sha256=ZibFXk-uKwK2vvW8AY5WCiwiXHpiyMW8Z6R3QtAQNCs,17211
6
- lsst/ctrl/execute/allocatorParser.py,sha256=vSjPPY27pNoS0-uHC91MZ24MU9ed24R2m8hkKghMPY4,7411
6
+ lsst/ctrl/execute/allocatorParser.py,sha256=trH10rFY7jjYM2AOjpSDV1LtnGv1_b3fTpU5BbRNv1Y,7932
7
7
  lsst/ctrl/execute/condorConfig.py,sha256=w-KV9ulxCnz1o17Jb116TW5d7l8L-5w9RE5BwA6kULY,2624
8
8
  lsst/ctrl/execute/condorInfoConfig.py,sha256=pHNQCAn8J4F789GLuEIUShZEPEbAwO5Fac-jMreM5NA,2045
9
9
  lsst/ctrl/execute/envString.py,sha256=lAi4me41NhEhQl9XvPtvykPJvYeDkibkIv338u14OoY,1608
@@ -12,13 +12,13 @@ lsst/ctrl/execute/namedClassFactory.py,sha256=UzQ7MLKAkNK0XnmofF4oYz1kADuLbdDdMH
12
12
  lsst/ctrl/execute/pbsPlugin.py,sha256=DMmHvHvMWfzbMBxA_TD1LG0FEaelun_djgoK7vwh9ps,3831
13
13
  lsst/ctrl/execute/qCommand.py,sha256=XaLmJydjbtaS5Edk4yi6re92z6xsQNFPuU7izq_UGNc,2374
14
14
  lsst/ctrl/execute/seqFile.py,sha256=L-FNE5GB10DuSHyYeI6lJvH243_fGYQnQ55TX8rGMYo,1980
15
- lsst/ctrl/execute/slurmPlugin.py,sha256=BN99DB8iKB2OG9GW0llaRyp7ocOXSf0mn62vgJfZWNk,20190
15
+ lsst/ctrl/execute/slurmPlugin.py,sha256=QRX8kdHV3qdzQlAgqZQ8GL0tEo-6sMkD2rPgTdnmvlY,20553
16
16
  lsst/ctrl/execute/templateWriter.py,sha256=koqquE_2-z7sue7H_iHv1cpjbjuIxdTyluLsQB0qTgM,1929
17
17
  lsst/ctrl/execute/libexec/allocateNodes.py,sha256=GCJdWY3j1E3_im3NpO08VK2q_v6AHfEYsuaO20eI8zE,2863
18
18
  lsst/ctrl/execute/libexec/dagIdInfo.py,sha256=U3jfrtkw2lw25QWRlLK4XuL_L29FqNm0D5Fy_F4ZJG4,1834
19
19
  lsst/ctrl/execute/libexec/qdelete.py,sha256=-YD1LnsKiePWXZhImoixx-Obx4GqN21m00MEgHSmnGc,1231
20
20
  lsst/ctrl/execute/libexec/qstatus.py,sha256=ds9JgLWFQ3nXHyXAPhXjdtSuiLvxxm1_YajH6I5xwcc,1572
21
- lsst_ctrl_execute-29.2025.1400.dist-info/METADATA,sha256=MeZMCjerAW-pOpZRfQii18r08_FG0XT0JhiiSQuBzHU,857
22
- lsst_ctrl_execute-29.2025.1400.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
23
- lsst_ctrl_execute-29.2025.1400.dist-info/entry_points.txt,sha256=pNyRrmyX0WVZfYRSfmuhm1vxOqk2np_7SQWxQ5DgB1A,242
24
- lsst_ctrl_execute-29.2025.1400.dist-info/RECORD,,
21
+ lsst_ctrl_execute-29.2025.2100.dist-info/METADATA,sha256=e6Ci7hTmEe5iXMQWwi7WZWEamwPCIIHZcFx0BGnF2Ao,857
22
+ lsst_ctrl_execute-29.2025.2100.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
23
+ lsst_ctrl_execute-29.2025.2100.dist-info/entry_points.txt,sha256=pNyRrmyX0WVZfYRSfmuhm1vxOqk2np_7SQWxQ5DgB1A,242
24
+ lsst_ctrl_execute-29.2025.2100.dist-info/RECORD,,