Skip to content

Commit f320a39

Browse files
committed
refactor: re-enabled get_controllers
1 parent 5db1043 commit f320a39

File tree

1 file changed

+27
-28
lines changed

1 file changed

+27
-28
lines changed

pyslurm/pyslurm.pyx

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -244,34 +244,33 @@ ctypedef struct config_key_pair_t:
244244
#
245245

246246

247-
# FIXME
248-
#def get_controllers():
249-
# u"""Get information about slurm controllers.
250-
#
251-
# :return: Name of primary controller, Name of backup controller
252-
# :rtype: `tuple`
253-
# """
254-
# cdef:
255-
# slurm.slurm_conf_t *slurm_ctl_conf_ptr = NULL
256-
# slurm.time_t Time = <slurm.time_t>NULL
257-
# int apiError = 0
258-
# int errCode = slurm.slurm_load_ctl_conf(Time, &slurm_ctl_conf_ptr)
259-
#
260-
# if errCode != 0:
261-
# apiError = slurm.slurm_get_errno()
262-
# raise ValueError(slurm.stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
263-
#
264-
# primary = backup = None
265-
# if slurm_ctl_conf_ptr is not NULL:
266-
#
267-
# if slurm_ctl_conf_ptr.control_machine is not NULL:
268-
# primary = slurm.stringOrNone(slurm_ctl_conf_ptr.control_machine, '')
269-
# if slurm_ctl_conf_ptr.backup_controller is not NULL:
270-
# backup = slurm.stringOrNone(slurm_ctl_conf_ptr.backup_controller, '')
271-
#
272-
# slurm.slurm_free_ctl_conf(slurm_ctl_conf_ptr)
273-
#
274-
# return primary, backup
247+
def get_controllers():
248+
u"""Get information about slurm controllers.
249+
250+
:return: Name of primary controller, Name of backup controller
251+
:rtype: `tuple`
252+
"""
253+
cdef:
254+
slurm.slurm_conf_t *slurm_ctl_conf_ptr = NULL
255+
slurm.time_t Time = <slurm.time_t>NULL
256+
int apiError = 0
257+
int errCode = slurm.slurm_load_ctl_conf(Time, &slurm_ctl_conf_ptr)
258+
259+
if errCode != 0:
260+
apiError = slurm.slurm_get_errno()
261+
raise ValueError(slurm.stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
262+
263+
primary = backup = None
264+
if slurm_ctl_conf_ptr is not NULL:
265+
266+
if slurm_ctl_conf_ptr.control_machine is not NULL:
267+
primary = slurm.stringOrNone(slurm_ctl_conf_ptr.control_machine, '')
268+
if slurm_ctl_conf_ptr.backup_controller is not NULL:
269+
backup = slurm.stringOrNone(slurm_ctl_conf_ptr.backup_controller, '')
270+
271+
slurm.slurm_free_ctl_conf(slurm_ctl_conf_ptr)
272+
273+
return primary, backup
275274

276275

277276
# FIXME

0 commit comments

Comments
 (0)