Skip to content

Commit 6a09abd

Browse files
committed
feat: add job/node states - IS_JOB_REVOKED, IS_JOB_SIGNAING, IS_JOB_STAGE_OUT, IS_NODE_POWERING_DOWN, IS_NODE_REBOOT, IS_NODE_REBOOT_ISSUED
1 parent 9a49be2 commit 6a09abd

File tree

1 file changed

+59
-26
lines changed

1 file changed

+59
-26
lines changed

pyslurm/pyslurm.pyx

Lines changed: 59 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -123,56 +123,77 @@ cdef inline SLURM_ID_HASH_LEGACY(hash_id):
123123
#
124124

125125
cdef inline IS_JOB_PENDING(slurm.slurm_job_info_t _X):
126-
return (_X.job_state & JOB_STATE_BASE) == JOB_PENDING
126+
return ((_X.job_state & JOB_STATE_BASE) == JOB_PENDING)
127127

128128
cdef inline IS_JOB_RUNNING(slurm.slurm_job_info_t _X):
129-
return (_X.job_state & JOB_STATE_BASE) == JOB_RUNNING
129+
return ((_X.job_state & JOB_STATE_BASE) == JOB_RUNNING)
130130

131131
cdef inline IS_JOB_SUSPENDED(slurm.slurm_job_info_t _X):
132-
return (_X.job_state & JOB_STATE_BASE) == JOB_SUSPENDED
132+
return ((_X.job_state & JOB_STATE_BASE) == JOB_SUSPENDED)
133133

134134
cdef inline IS_JOB_COMPLETE(slurm.slurm_job_info_t _X):
135-
return (_X.job_state & JOB_STATE_BASE) == JOB_COMPLETE
135+
return ((_X.job_state & JOB_STATE_BASE) == JOB_COMPLETE)
136136

137137
cdef inline IS_JOB_CANCELLED(slurm.slurm_job_info_t _X):
138-
return (_X.job_state & JOB_STATE_BASE) == JOB_CANCELLED
138+
return ((_X.job_state & JOB_STATE_BASE) == JOB_CANCELLED)
139139

140140
cdef inline IS_JOB_FAILED(slurm.slurm_job_info_t _X):
141-
return (_X.job_state & JOB_STATE_BASE) == JOB_FAILED
141+
return ((_X.job_state & JOB_STATE_BASE) == JOB_FAILED)
142142

143143
cdef inline IS_JOB_TIMEOUT(slurm.slurm_job_info_t _X):
144-
return (_X.job_state & JOB_STATE_BASE) == JOB_TIMEOUT
144+
return ((_X.job_state & JOB_STATE_BASE) == JOB_TIMEOUT)
145145

146146
cdef inline IS_JOB_NODE_FAILED(slurm.slurm_job_info_t _X):
147-
return (_X.job_state & JOB_STATE_BASE) == JOB_NODE_FAIL
147+
return ((_X.job_state & JOB_STATE_BASE) == JOB_NODE_FAIL)
148+
149+
cdef inline IS_JOB_DEADLINE(slurm.slurm_job_info_t _X):
150+
return ((_X.job_state & JOB_STATE_BASE) == JOB_DEADLINE)
151+
152+
cdef inline IS_JOB_OOM(slurm.slurm_job_info_t _X):
153+
return ((_X.job_state & JOB_STATE_BASE) == JOB_OOM)
154+
155+
cdef inline IS_JOB_POWER_UP_NODE(slurm.slurm_job_info_t _X):
156+
return (_X.job_state & JOB_STATE_BASE)
148157

149158
#
150159
# Derived job states
151160
#
152161

153162
cdef inline IS_JOB_COMPLETING(slurm.slurm_job_info_t _X):
154-
return _X.job_state & JOB_COMPLETING
163+
return (_X.job_state & JOB_COMPLETING)
155164

156165
cdef inline IS_JOB_CONFIGURING(slurm.slurm_job_info_t _X):
157-
return _X.job_state & JOB_CONFIGURING
166+
return (_X.job_state & JOB_CONFIGURING)
158167

159168
cdef inline IS_JOB_STARTED(slurm.slurm_job_info_t _X):
160-
return (_X.job_state & JOB_STATE_BASE) > JOB_PENDING
169+
return ((_X.job_state & JOB_STATE_BASE) > JOB_PENDING)
161170

162171
cdef inline IS_JOB_FINISHED(slurm.slurm_job_info_t _X):
163-
return (_X.job_state & JOB_STATE_BASE) > JOB_SUSPENDED
172+
return ((_X.job_state & JOB_STATE_BASE) > JOB_SUSPENDED)
164173

165174
cdef inline IS_JOB_COMPLETED(slurm.slurm_job_info_t _X):
166-
return (IS_JOB_FINISHED(_X) and (_X.job_state & JOB_COMPLETING) == 0)
175+
return (IS_JOB_FINISHED(_X) and ((_X.job_state & JOB_COMPLETING) == 0))
167176

168177
cdef inline IS_JOB_RESIZING(slurm.slurm_job_info_t _X):
169-
return _X.job_state & JOB_RESIZING
178+
return (_X.job_state & JOB_RESIZING)
170179

171180
cdef inline IS_JOB_REQUEUED(slurm.slurm_job_info_t _X):
172-
return _X.job_state & JOB_REQUEUE
181+
return (_X.job_state & JOB_REQUEUE)
182+
183+
cdef inline IS_JOB_FED_REQUEUED(slurm.slurm_job_info_t _X):
184+
return (_X.job_state & JOB_REQUEUE_FED)
173185

174186
cdef inline IS_JOB_UPDATE_DB(slurm.slurm_job_info_t _X):
175-
return _X.job_state & JOB_UPDATE_DB
187+
return (_X.job_state & JOB_UPDATE_DB)
188+
189+
cdef inline IS_JOB_REVOKED(slurm.slurm_job_info_t _X):
190+
return (_X.job_state & JOB_REVOKED)
191+
192+
cdef inline IS_JOB_SIGNALING(slurm.slurm_job_info_t _X):
193+
return (_X.job_state & JOB_SIGNALING)
194+
195+
cdef inline IS_JOB_STAGE_OUT(slurm.slurm_job_info_t _X):
196+
return (_X.job_state & JOB_STAGE_OUT)
176197

177198
#
178199
# Defined node states
@@ -204,35 +225,47 @@ cdef inline IS_NODE_FUTURE(slurm.node_info_t _X):
204225
#
205226

206227
cdef inline IS_NODE_CLOUD(slurm.node_info_t _X):
207-
return _X.node_state & NODE_STATE_CLOUD
228+
return (_X.node_state & NODE_STATE_CLOUD)
208229

209230
cdef inline IS_NODE_DRAIN(slurm.node_info_t _X):
210-
return _X.node_state & NODE_STATE_DRAIN
231+
return (_X.node_state & NODE_STATE_DRAIN)
211232

212233
cdef inline IS_NODE_DRAINING(slurm.node_info_t _X):
213234
return ((_X.node_state & NODE_STATE_DRAIN) and
214-
(IS_NODE_ALLOCATED(_X) or IS_NODE_ERROR(_X) or IS_NODE_MIXED(_X)))
235+
(IS_NODE_ALLOCATED(_X) or IS_NODE_MIXED(_X)))
236+
237+
cdef inline IS_NODE_DYNAMIC(slurm.node_info_t _X):
238+
return (_X.node_state and NODE_STATE_DYNAMIC)
215239

216240
cdef inline IS_NODE_DRAINED(slurm.node_info_t _X):
217-
return IS_NODE_DRAIN(_X) and not IS_NODE_DRAINING(_X)
241+
return (IS_NODE_DRAIN(_X) and not IS_NODE_DRAINING(_X))
218242

219243
cdef inline IS_NODE_COMPLETING(slurm.node_info_t _X):
220-
return _X.node_state & NODE_STATE_COMPLETING
244+
return (_X.node_state & NODE_STATE_COMPLETING)
221245

222246
cdef inline IS_NODE_NO_RESPOND(slurm.node_info_t _X):
223-
return _X.node_state & NODE_STATE_NO_RESPOND
247+
return (_X.node_state & NODE_STATE_NO_RESPOND)
224248

225249
cdef inline IS_NODE_POWER_SAVE(slurm.node_info_t _X):
226-
return _X.node_state & NODE_STATE_POWER_SAVE
250+
return (_X.node_state & NODE_STATE_POWER_SAVE)
251+
252+
cdef inline IS_NODE_POWERIMG_DOWN(slurm.node_info_t _X):
253+
return (_X.node_state & NODE_STATE_POWERING_DOWN)
227254

228255
cdef inline IS_NODE_FAIL(slurm.node_info_t _X):
229-
return _X.node_state & NODE_STATE_FAIL
256+
return (_X.node_state & NODE_STATE_FAIL)
230257

231258
cdef inline IS_NODE_POWER_UP(slurm.node_info_t _X):
232-
return _X.node_state & NODE_STATE_POWER_UP
259+
return (_X.node_state & NODE_STATE_POWER_UP)
233260

234261
cdef inline IS_NODE_MAINT(slurm.node_info_t _X):
235-
return _X.node_state & NODE_STATE_MAINT
262+
return (_X.node_state & NODE_STATE_MAINT)
263+
264+
cdef inline IS_NODE_REBOOT(slurm.node_info_t _X):
265+
return (_X.node_state & NODE_STATE_REBOOT)
266+
267+
cdef inline IS_NODE_REBOOT_ISSUED(slurm.node_info_t _X):
268+
return (_X.node_state & NODE_STATE_REBOOT_ISSUED)
236269

237270
ctypedef struct config_key_pair_t:
238271
char *name

0 commit comments

Comments
 (0)