diff --git a/pyslurm/core/node.pxd b/pyslurm/core/node.pxd index 7ebbcd05..511b2cc6 100644 --- a/pyslurm/core/node.pxd +++ b/pyslurm/core/node.pxd @@ -43,7 +43,7 @@ from pyslurm.slurm cimport ( slurm_free_node_info_members, slurm_free_update_node_msg, slurm_free_partition_info_msg, - slurm_get_select_nodeinfo, + # slurm_get_select_nodeinfo removed in Slurm 25.05 slurm_sprint_cpu_bind_type, slurm_node_state_string_complete, slurm_node_state_string, diff --git a/pyslurm/core/node.pyx b/pyslurm/core/node.pyx index 01489436..55e9353c 100644 --- a/pyslurm/core/node.pyx +++ b/pyslurm/core/node.pyx @@ -507,14 +507,7 @@ cdef class Node: @property def allocated_memory(self): - cdef uint64_t alloc_memory = 0 - if self.info.select_nodeinfo: - slurm_get_select_nodeinfo( - self.info.select_nodeinfo, - slurm.SELECT_NODEDATA_MEM_ALLOC, - slurm.NODE_STATE_ALLOCATED, - &alloc_memory) - return alloc_memory + return u64_parse(self.info.alloc_memory) @property def real_memory(self): @@ -616,27 +609,11 @@ cdef class Node: @property def allocated_tres(self): - cdef char *alloc_tres = NULL - if self.info.select_nodeinfo: - slurm_get_select_nodeinfo( - self.info.select_nodeinfo, - slurm.SELECT_NODEDATA_TRES_ALLOC_FMT_STR, - slurm.NODE_STATE_ALLOCATED, - &alloc_tres - ) - return cstr.to_dict(alloc_tres) + return cstr.to_dict(self.info.alloc_tres_fmt_str) @property def allocated_cpus(self): - cdef uint16_t alloc_cpus = 0 - if self.info.select_nodeinfo: - slurm_get_select_nodeinfo( - self.info.select_nodeinfo, - slurm.SELECT_NODEDATA_SUBCNT, - slurm.NODE_STATE_ALLOCATED, - &alloc_cpus - ) - return alloc_cpus + return u16_parse(self.info.alloc_cpus) @property def idle_cpus(self): @@ -644,7 +621,11 @@ cdef class Node: if not efctv: return None - return efctv - self.allocated_cpus + alloc = self.allocated_cpus + if alloc is None: + alloc = 0 + + return efctv - alloc @property def cpu_binding(self): diff --git a/pyslurm/core/slurmctld/config.pyx b/pyslurm/core/slurmctld/config.pyx index f1a2e79c..69f7d8ee 100644 --- a/pyslurm/core/slurmctld/config.pyx +++ b/pyslurm/core/slurmctld/config.pyx @@ -478,9 +478,7 @@ cdef class Config: def first_job_id(self): return u32_parse(self.ptr.first_job_id) - @property - def get_environment_timeout(self): - return u16_parse(self.ptr.get_env_timeout) + # get_env_timeout field removed in Slurm 25.05 @property def gres_types(self): @@ -847,8 +845,12 @@ cdef class Config: self.ptr.prolog_cnt) @property - def prolog_epilog_timeout(self): - return u16_parse(self.ptr.prolog_epilog_timeout) + def prolog_timeout(self): + return u16_parse(self.ptr.prolog_timeout) + + @property + def epilog_timeout(self): + return u16_parse(self.ptr.epilog_timeout) @property def prolog_slurmctld(self): diff --git a/pyslurm/db/assoc.pyx b/pyslurm/db/assoc.pyx index 36460cbe..14447400 100644 --- a/pyslurm/db/assoc.pyx +++ b/pyslurm/db/assoc.pyx @@ -299,9 +299,7 @@ cdef class Association: def is_default(self): return u16_parse_bool(self.ptr.is_def) - @property - def lft(self): - return u32_parse(self.ptr.lft) + # lft field removed in Slurm 25.05 @property def max_jobs(self): @@ -367,9 +365,7 @@ cdef class Association: def priority(self, val): self.ptr.priority = u32(val) - @property - def rgt(self): - return u32_parse(self.ptr.rgt) + # rgt field removed in Slurm 25.05 @property def shares(self): diff --git a/pyslurm/deprecated.pyx b/pyslurm/deprecated.pyx index bbc1b84f..8c54cdee 100644 --- a/pyslurm/deprecated.pyx +++ b/pyslurm/deprecated.pyx @@ -647,7 +647,7 @@ cdef class config: Ctl_dict['federation_parameters'] = stringOrNone(self.__Config_ptr.fed_params, '') Ctl_dict['first_job_id'] = self.__Config_ptr.first_job_id Ctl_dict['fs_dampening_factor'] = self.__Config_ptr.fs_dampening_factor - Ctl_dict['get_env_timeout'] = self.__Config_ptr.get_env_timeout + # get_env_timeout field removed in Slurm 25.05 Ctl_dict['gpu_freq_def'] = stringOrNone(self.__Config_ptr.gpu_freq_def, '') Ctl_dict['gres_plugins'] = listOrNone(self.__Config_ptr.gres_plugins, ',') Ctl_dict['group_time'] = self.__Config_ptr.group_time @@ -693,7 +693,7 @@ cdef class config: Ctl_dict['mpi_params'] = stringOrNone(self.__Config_ptr.mpi_params, '') Ctl_dict['msg_timeout'] = self.__Config_ptr.msg_timeout Ctl_dict['next_job_id'] = self.__Config_ptr.next_job_id - Ctl_dict['node_prefix'] = stringOrNone(self.__Config_ptr.node_prefix, '') + # node_prefix field removed in Slurm 25.05 Ctl_dict['over_time_limit'] = int16orNone(self.__Config_ptr.over_time_limit) Ctl_dict['plugindir'] = stringOrNone(self.__Config_ptr.plugindir, '') Ctl_dict['plugstack'] = stringOrNone(self.__Config_ptr.plugstack, '') @@ -732,7 +732,9 @@ cdef class config: Ctl_dict['private_data_list'] = get_private_data_list(self.__Config_ptr.private_data) Ctl_dict['priority_weight_tres'] = stringOrNone(self.__Config_ptr.priority_weight_tres, '') Ctl_dict['prolog'] = listOfStrings(self.__Config_ptr.prolog) - Ctl_dict['prolog_epilog_timeout'] = int16orNone(self.__Config_ptr.prolog_epilog_timeout) + # prolog_epilog_timeout split into separate fields in Slurm 25.05 + Ctl_dict['prolog_timeout'] = int16orNone(self.__Config_ptr.prolog_timeout) + Ctl_dict['epilog_timeout'] = int16orNone(self.__Config_ptr.epilog_timeout) Ctl_dict['prolog_slurmctld'] = listOfStrings(self.__Config_ptr.prolog_slurmctld) Ctl_dict['propagate_prio_process'] = self.__Config_ptr.propagate_prio_process Ctl_dict['prolog_flags'] = self.__Config_ptr.prolog_flags @@ -944,9 +946,7 @@ cdef class partition: slurm.SHOW_ALL) if rc == slurm.SLURM_SUCCESS: - slurm.slurm_print_partition_info_msg(slurm.stdout, - self._Partition_ptr, - oneLiner) + # slurm_print_partition_info_msg removed in Slurm 25.05 self._lastUpdate = self._Partition_ptr.last_update slurm.slurm_free_partition_info_msg(self._Partition_ptr) self._Partition_ptr = NULL @@ -3350,23 +3350,15 @@ cdef class node: node_state &= (~NODE_STATE_POWERING_DOWN) power_str = "+POWERING_DOWN" - slurm.slurm_get_select_nodeinfo(record.select_nodeinfo, - SELECT_NODEDATA_SUBCNT, - NODE_STATE_ALLOCATED, - &alloc_cpus) - + # select plugin API removed in Slurm 25.05, use direct fields + alloc_cpus = record.alloc_cpus Host_dict['alloc_cpus'] = alloc_cpus total_used -= alloc_cpus - slurm.slurm_get_select_nodeinfo(record.select_nodeinfo, - SELECT_NODEDATA_SUBCNT, - NODE_STATE_ERROR, &err_cpus) - - Host_dict['err_cpus'] = err_cpus - total_used -= err_cpus + # err_cpus calculation removed - not available in direct fields + Host_dict['err_cpus'] = 0 - if (alloc_cpus and err_cpus) or (total_used and - (total_used != record.cpus)): + if alloc_cpus or (total_used and (total_used != record.cpus)): node_state &= NODE_STATE_FLAGS node_state |= NODE_STATE_MIXED @@ -3378,10 +3370,8 @@ cdef class node: stringOrNone(power_str, '') ) - slurm.slurm_get_select_nodeinfo(record.select_nodeinfo, - SELECT_NODEDATA_MEM_ALLOC, - NODE_STATE_ALLOCATED, &alloc_mem) - + # select plugin API removed in Slurm 25.05, use direct fields + alloc_mem = record.alloc_memory Host_dict['alloc_mem'] = alloc_mem b_name = stringOrNone(record.name, '') @@ -3665,8 +3655,9 @@ cdef class jobstep: Step_dict['time_limit'] = job_step_info_ptr.job_steps[i].time_limit Step_dict['time_limit_str'] = secs2time_str(job_step_info_ptr.job_steps[i].time_limit) + # tres_alloc_str renamed to tres_fmt_alloc_str in Slurm 25.05 Step_dict['tres_alloc_str'] = stringOrNone( - job_step_info_ptr.job_steps[i].tres_alloc_str, '' + job_step_info_ptr.job_steps[i].tres_fmt_alloc_str, '' ) Step_dict['tres_bind'] = stringOrNone( @@ -3728,7 +3719,7 @@ cdef class jobstep: Node_cnt = old_job_step_ptr.node_cnt - Layout['front_end'] = stringOrNone(old_job_step_ptr.front_end, '') + # front_end field removed in Slurm 25.05 Layout['node_cnt'] = Node_cnt Layout['node_list'] = stringOrNone(old_job_step_ptr.node_list, '') Layout['plane_size'] = old_job_step_ptr.plane_size @@ -4502,7 +4493,8 @@ cdef class topology: # free previous pointer slurm.slurm_free_topo_info_msg(self._topo_info_ptr) - errCode = slurm.slurm_load_topo(&self._topo_info_ptr) + # slurm_load_topo API changed in Slurm 25.05 + errCode = slurm.slurm_load_topo(&self._topo_info_ptr, NULL) if errCode != 0: apiError = slurm_get_errno() raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError) @@ -4525,22 +4517,9 @@ cdef class topology: size_t i = 0 dict Topo = {}, Topo_dict - if self._topo_info_ptr is not NULL: - - for i in range(self._topo_info_ptr.record_count): - - Topo_dict = {} - - name = stringOrNone(self._topo_info_ptr.topo_array[i].name, '') - Topo_dict['name'] = name - Topo_dict['nodes'] = stringOrNone(self._topo_info_ptr.topo_array[i].nodes, '') - Topo_dict['level'] = self._topo_info_ptr.topo_array[i].level - Topo_dict['link_speed'] = self._topo_info_ptr.topo_array[i].link_speed - Topo_dict['switches'] = stringOrNone(self._topo_info_ptr.topo_array[i].switches, '') - - Topo[name] = Topo_dict - - self._TopoDict = Topo + # Topology structure changed significantly in Slurm 25.05 + # Deprecated API functionality disabled + self._TopoDict = {} def display(self): """Display topology information to standard output.""" @@ -4551,11 +4530,8 @@ cdef class topology: using slurm_load_topo. """ - if self._topo_info_ptr is not NULL: - slurm.slurm_print_topo_info_msg(slurm.stdout, - self._topo_info_ptr, - NULL, - self._ShowFlags) + # Topology print function API changed in Slurm 25.05 - functionality disabled + pass # @@ -4950,116 +4926,7 @@ cdef class statistics: return num2string[opcode] -# -# Front End Node Class -# - - -cdef class front_end: - """Access/update slurm front end node information.""" - - cdef: - slurm.time_t Time - slurm.time_t _lastUpdate - slurm.front_end_info_msg_t *_FrontEndNode_ptr - # slurm.front_end_info_t _record - uint16_t _ShowFlags - dict _FrontEndDict - - def __cinit__(self): - self._FrontEndNode_ptr = NULL - self._lastUpdate = 0 - self._ShowFlags = 0 - self._FrontEndDict = {} - - def __dealloc__(self): - self.__destroy() - - cpdef __destroy(self): - """Free the memory allocated by load front end node method.""" - if self._FrontEndNode_ptr is not NULL: - slurm.slurm_free_front_end_info_msg(self._FrontEndNode_ptr) - - def load(self): - """Load slurm front end node information.""" - self.__load() - - cdef int __load(self) except? -1: - """Load slurm front end node.""" - cdef: - # slurm.front_end_info_msg_t *new_FrontEndNode_ptr = NULL - time_t last_time = NULL - int apiError = 0 - int errCode = 0 - - if self._FrontEndNode_ptr is not NULL: - # free previous pointer - slurm.slurm_free_front_end_info_msg(self._FrontEndNode_ptr) - else: - last_time = NULL - errCode = slurm.slurm_load_front_end(last_time, &self._FrontEndNode_ptr) - - if errCode != 0: - apiError = slurm_get_errno() - raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError) - - return errCode - - def lastUpdate(self): - """Return last time (sepoch seconds) the node data was updated. - - Returns: - (int): Epoch seconds - """ - return self._lastUpdate - - def ids(self): - """Return the node IDs from retrieved data. - - Returns: - (dict): Dictionary of node IDs - """ - return list(self._FrontEndDict.keys()) - - def get(self): - """Get front end node information. - - Returns: - (dict): Dictionary whose key is the Topology ID - """ - self.__load() - self.__get() - - return self._FrontEndDict - - cdef __get(self): - cdef: - dict FENode = {} - dict FE_dict = {} - - if self._FrontEndNode_ptr is not NULL: - for record in self._FrontEndNode_ptr.front_end_array[:self._FrontEndNode_ptr.record_count]: - FE_dict = {} - name = stringOrNone(record.name, '') - - FE_dict['boot_time'] = record.boot_time - FE_dict['allow_groups'] = stringOrNone(record.allow_groups, '') - FE_dict['allow_users'] = stringOrNone(record.allow_users, '') - FE_dict['deny_groups'] = stringOrNone(record.deny_groups, '') - FE_dict['deny_users'] = stringOrNone(record.deny_users, '') - - fe_node_state = get_node_state(record.node_state) - FE_dict['node_state'] = stringOrNone(fe_node_state, '') - - FE_dict['reason'] = stringOrNone(record.reason, '') - FE_dict['reason_time'] = record.reason_time - FE_dict['reason_uid'] = record.reason_uid - FE_dict['slurmd_start_time'] = record.slurmd_start_time - FE_dict['version'] = stringOrNone(record.version, '') - - FENode[name] = FE_dict - - self._FrontEndDict = FENode +# Front-end system removed in Slurm 25.05 # @@ -5341,7 +5208,7 @@ cdef class slurmdb_jobs: JOBS_info['gid'] = job.gid JOBS_info['jobid'] = job.jobid JOBS_info['jobname'] = stringOrNone(job.jobname, '') - JOBS_info['lft'] = job.lft + # lft field removed in Slurm 25.05 JOBS_info['partition'] = stringOrNone(job.partition, '') JOBS_info['nodes'] = stringOrNone(job.nodes, '') JOBS_info['priority'] = job.priority @@ -5967,8 +5834,7 @@ cdef inline object __get_trigger_res_type(uint16_t ResType): rtype = 'slurmbdb' elif ResType == TRIGGER_RES_TYPE_DATABASE: rtype = 'database' - elif ResType == TRIGGER_RES_TYPE_FRONT_END: - rtype = 'front_end' + # TRIGGER_RES_TYPE_FRONT_END removed in Slurm 25.05 elif ResType == TRIGGER_RES_TYPE_OTHER: rtype = 'other' @@ -6161,8 +6027,10 @@ cdef inline list debug_flags2str(uint64_t debug_flags): if (debug_flags & DEBUG_FLAG_FEDR): debugFlags.append('Federation') - if (debug_flags & DEBUG_FLAG_FRONT_END): - debugFlags.append('FrontEnd') + # DEBUG_FLAG_FRONT_END removed in Slurm 25.05 + + if (debug_flags & DEBUG_FLAG_AUDIT_TLS): + debugFlags.append('Audit TLS') if (debug_flags & DEBUG_FLAG_GANG): debugFlags.append('Gang') diff --git a/pyslurm/pydefines/slurm_defines.pxi b/pyslurm/pydefines/slurm_defines.pxi index 01e29465..8cea9c6a 100644 --- a/pyslurm/pydefines/slurm_defines.pxi +++ b/pyslurm/pydefines/slurm_defines.pxi @@ -1,7 +1,6 @@ # EXPOSE SLURM DEFINES TO PYTHON SPACE -SYSTEM_DIMENSIONS = slurm.SYSTEM_DIMENSIONS -HIGHEST_DIMENSIONS = slurm.HIGHEST_DIMENSIONS +# SYSTEM_DIMENSIONS and HIGHEST_DIMENSIONS removed in Slurm 25.05 INFINITE8 = slurm.INFINITE8 INFINITE16 = slurm.INFINITE16 @@ -290,7 +289,8 @@ DEBUG_FLAG_PRIO = slurm.DEBUG_FLAG_PRIO DEBUG_FLAG_BACKFILL = slurm.DEBUG_FLAG_BACKFILL DEBUG_FLAG_GANG = slurm.DEBUG_FLAG_GANG DEBUG_FLAG_RESERVATION = slurm.DEBUG_FLAG_RESERVATION -DEBUG_FLAG_FRONT_END = slurm.DEBUG_FLAG_FRONT_END +# DEBUG_FLAG_FRONT_END removed in Slurm 25.05 +DEBUG_FLAG_AUDIT_TLS = slurm.DEBUG_FLAG_AUDIT_TLS DEBUG_FLAG_SWITCH = slurm.DEBUG_FLAG_SWITCH DEBUG_FLAG_ENERGY = slurm.DEBUG_FLAG_ENERGY DEBUG_FLAG_LICENSE = slurm.DEBUG_FLAG_LICENSE @@ -365,7 +365,7 @@ TRIGGER_RES_TYPE_NODE = slurm.TRIGGER_RES_TYPE_NODE TRIGGER_RES_TYPE_SLURMCTLD = slurm.TRIGGER_RES_TYPE_SLURMCTLD TRIGGER_RES_TYPE_SLURMDBD = slurm.TRIGGER_RES_TYPE_SLURMDBD TRIGGER_RES_TYPE_DATABASE = slurm.TRIGGER_RES_TYPE_DATABASE -TRIGGER_RES_TYPE_FRONT_END = slurm.TRIGGER_RES_TYPE_FRONT_END +# TRIGGER_RES_TYPE_FRONT_END removed in Slurm 25.05 TRIGGER_RES_TYPE_OTHER = slurm.TRIGGER_RES_TYPE_OTHER TRIGGER_TYPE_UP = slurm.TRIGGER_TYPE_UP diff --git a/pyslurm/pydefines/slurm_enums.pxi b/pyslurm/pydefines/slurm_enums.pxi index d813ef6e..c61fbd4a 100644 --- a/pyslurm/pydefines/slurm_enums.pxi +++ b/pyslurm/pydefines/slurm_enums.pxi @@ -37,7 +37,8 @@ WAIT_ASSOC_TIME_LIMIT = slurm.WAIT_ASSOC_TIME_LIMIT WAIT_RESERVATION = slurm.WAIT_RESERVATION WAIT_NODE_NOT_AVAIL = slurm.WAIT_NODE_NOT_AVAIL WAIT_HELD_USER = slurm.WAIT_HELD_USER -WAIT_FRONT_END = slurm.WAIT_FRONT_END +# WAIT_FRONT_END removed in Slurm 25.05 +DEFUNCT_WAIT_17 = slurm.DEFUNCT_WAIT_17 FAIL_DOWN_PARTITION = slurm.FAIL_DOWN_PARTITION FAIL_DOWN_NODE = slurm.FAIL_DOWN_NODE FAIL_BAD_CONSTRAINTS = slurm.FAIL_BAD_CONSTRAINTS @@ -249,21 +250,7 @@ SWITCH_PLUGIN_CRAY = slurm.SWITCH_PLUGIN_CRAY # end enum switch_plugin_type -# enum select_jobdata_type - -SELECT_JOBDATA_NETWORK = slurm.SELECT_JOBDATA_NETWORK - -# end enum select_jobdata_type - -# enum select_nodedata_type - -SELECT_NODEDATA_SUBCNT = slurm.SELECT_NODEDATA_SUBCNT -SELECT_NODEDATA_PTR = slurm.SELECT_NODEDATA_PTR -SELECT_NODEDATA_MEM_ALLOC = slurm.SELECT_NODEDATA_MEM_ALLOC -SELECT_NODEDATA_TRES_ALLOC_FMT_STR = slurm.SELECT_NODEDATA_TRES_ALLOC_FMT_STR -SELECT_NODEDATA_TRES_ALLOC_WEIGHTED = slurm.SELECT_NODEDATA_TRES_ALLOC_WEIGHTED - -# end enum select_nodedata_type +# select plugin enums removed in Slurm 25.05 # enum select_print_mode diff --git a/pyslurm/pydefines/slurm_errno_enums.pxi b/pyslurm/pydefines/slurm_errno_enums.pxi index b31e0802..aa413cd4 100644 --- a/pyslurm/pydefines/slurm_errno_enums.pxi +++ b/pyslurm/pydefines/slurm_errno_enums.pxi @@ -151,7 +151,8 @@ ESLURMD_PROLOG_FAILED = slurm.ESLURMD_PROLOG_FAILED ESLURMD_EPILOG_FAILED = slurm.ESLURMD_EPILOG_FAILED ESLURMD_TOOMANYSTEPS = slurm.ESLURMD_TOOMANYSTEPS ESLURMD_STEP_EXISTS = slurm.ESLURMD_STEP_EXISTS -ESLURMD_JOB_NOTRUNNING = slurm.ESLURMD_JOB_NOTRUNNING +# ESLURMD_JOB_NOTRUNNING renamed to ESLURMD_STEP_NOTRUNNING in Slurm 25.05 +ESLURMD_STEP_NOTRUNNING = slurm.ESLURMD_STEP_NOTRUNNING ESLURMD_STEP_SUSPENDED = slurm.ESLURMD_STEP_SUSPENDED ESLURMD_STEP_NOTSUSPENDED = slurm.ESLURMD_STEP_NOTSUSPENDED ESLURMD_INVALID_SOCKET_NAME_LEN = slurm.ESLURMD_INVALID_SOCKET_NAME_LEN diff --git a/pyslurm/pydefines/slurmdb_defines.pxi b/pyslurm/pydefines/slurmdb_defines.pxi index 41babeec..931034ea 100644 --- a/pyslurm/pydefines/slurmdb_defines.pxi +++ b/pyslurm/pydefines/slurmdb_defines.pxi @@ -60,14 +60,7 @@ SLURMDB_FS_USE_PARENT = slurm.SLURMDB_FS_USE_PARENT SLURMDB_CLASSIFIED_FLAG = slurm.SLURMDB_CLASSIFIED_FLAG SLURMDB_CLASS_BASE = slurm.SLURMDB_CLASS_BASE -CLUSTER_FLAG_A2 = slurm.CLUSTER_FLAG_A2 -CLUSTER_FLAG_A3 = slurm.CLUSTER_FLAG_A3 -CLUSTER_FLAG_A4 = slurm.CLUSTER_FLAG_A4 -CLUSTER_FLAG_A5 = slurm.CLUSTER_FLAG_A5 -CLUSTER_FLAG_A6 = slurm.CLUSTER_FLAG_A6 -CLUSTER_FLAG_A7 = slurm.CLUSTER_FLAG_A7 +# CLUSTER_FLAG_A* and CLUSTER_FLAG_FE constants removed in Slurm 25.05 CLUSTER_FLAG_MULTSD = slurm.CLUSTER_FLAG_MULTSD -CLUSTER_FLAG_A9 = slurm.CLUSTER_FLAG_A9 -CLUSTER_FLAG_FE = slurm.CLUSTER_FLAG_FE CLUSTER_FLAG_FED = slurm.CLUSTER_FLAG_FED CLUSTER_FLAG_EXT = slurm.CLUSTER_FLAG_EXT diff --git a/pyslurm/slurm/extra.pxi b/pyslurm/slurm/extra.pxi index c6a8a42f..c6c7eb50 100644 --- a/pyslurm/slurm/extra.pxi +++ b/pyslurm/slurm/extra.pxi @@ -232,7 +232,7 @@ cdef extern void slurm_free_update_step_msg(step_update_request_msg_t *msg) # Slurm Node functions # -cdef extern int slurm_get_select_nodeinfo(dynamic_plugin_data_t *nodeinfo, select_nodedata_type data_type, node_states state, void *data) +# slurm_get_select_nodeinfo removed in Slurm 25.05 cdef extern char *slurm_node_state_string_complete(uint32_t inx) cdef extern void slurm_free_update_node_msg(update_node_msg_t *msg) cdef extern void slurm_free_node_info_members(node_info_t *node) diff --git a/pyslurm/slurm/slurm.h.pxi b/pyslurm/slurm/slurm.h.pxi index 76768ba8..f2468362 100644 --- a/pyslurm/slurm/slurm.h.pxi +++ b/pyslurm/slurm/slurm.h.pxi @@ -9,7 +9,7 @@ # * C-Macros are listed with their appropriate uint type # * Any definitions that cannot be translated are not included in this file # -# Generated on 2024-12-04T13:40:11.790952 +# Generated on 2025-07-28T21:50:00.708749 # # The Original Copyright notice from slurm.h has been included # below: @@ -53,8 +53,6 @@ cdef extern from "slurm/slurm.h": - uint8_t SYSTEM_DIMENSIONS - uint8_t HIGHEST_DIMENSIONS uint8_t HOST_NAME_MAX uint8_t INFINITE8 uint16_t INFINITE16 @@ -81,6 +79,7 @@ cdef extern from "slurm/slurm.h": uint8_t JOB_STATE_BASE uint32_t JOB_STATE_FLAGS uint16_t JOB_LAUNCH_FAILED + uint16_t JOB_GETENV_FAILED uint16_t JOB_REQUEUE uint16_t JOB_REQUEUE_HOLD uint16_t JOB_SPECIAL_EXIT @@ -161,6 +160,7 @@ cdef extern from "slurm/slurm.h": uint8_t MEM_BIND_TYPE_FLAGS_MASK uint8_t NODE_STATE_BASE uint32_t NODE_STATE_FLAGS + uint8_t NODE_STATE_EXTERNAL uint8_t NODE_STATE_RES uint8_t NODE_STATE_UNDRAIN uint8_t NODE_STATE_CLOUD @@ -184,6 +184,7 @@ cdef extern from "slurm/slurm.h": uint32_t NODE_STATE_POWER_DRAIN uint32_t NODE_STATE_DYNAMIC_NORM uint32_t NODE_STATE_BLOCKED + uint8_t NODE_CERT_TOKEN_SET uint8_t SHOW_ALL uint8_t SHOW_DETAIL uint8_t SHOW_MIXED @@ -236,6 +237,7 @@ cdef extern from "slurm/slurm.h": uint16_t PRIORITY_FLAGS_NO_NORMAL_PART uint16_t PRIORITY_FLAGS_NO_NORMAL_QOS uint16_t PRIORITY_FLAGS_NO_NORMAL_TRES + uint16_t PRIORITY_FLAGS_MAX_TRES_GRES uint8_t KILL_INV_DEP uint8_t NO_KILL_INV_DEP uint8_t HAS_STATE_DIR @@ -260,6 +262,7 @@ cdef extern from "slurm/slurm.h": uint32_t RESET_ACCRUE_TIME uint32_t CRON_JOB uint32_t JOB_MEM_SET + uint32_t EXTERNAL_JOB uint32_t USE_DEFAULT_ACCT uint32_t USE_DEFAULT_PART uint32_t USE_DEFAULT_QOS @@ -277,6 +280,7 @@ cdef extern from "slurm/slurm.h": uint64_t GRES_MULT_TASKS_PER_SHARING uint64_t GRES_ALLOW_TASK_SHARING uint64_t STEPMGR_ENABLED + uint64_t HETJOB_PURGE uint8_t X11_FORWARD_ALL uint8_t X11_FORWARD_BATCH uint8_t X11_FORWARD_FIRST @@ -352,6 +356,7 @@ cdef extern from "slurm/slurm.h": uint64_t RESERVE_FLAG_USER_DEL uint64_t RESERVE_FLAG_NO_USER_DEL uint64_t RESERVE_FLAG_SCHED_FAILED + uint64_t RESERVE_FLAG_FORCE_START uint8_t DEBUG_FLAG_SELECT_TYPE uint8_t DEBUG_FLAG_STEPS uint8_t DEBUG_FLAG_TRIGGERS @@ -367,7 +372,7 @@ cdef extern from "slurm/slurm.h": uint16_t DEBUG_FLAG_BACKFILL uint16_t DEBUG_FLAG_GANG uint16_t DEBUG_FLAG_RESERVATION - uint16_t DEBUG_FLAG_FRONT_END + uint16_t DEBUG_FLAG_AUDIT_TLS uint32_t DEBUG_FLAG_SACK uint32_t DEBUG_FLAG_SWITCH uint32_t DEBUG_FLAG_ENERGY @@ -413,6 +418,7 @@ cdef extern from "slurm/slurm.h": uint8_t PREEMPT_MODE_REQUEUE uint8_t PREEMPT_MODE_CANCEL uint8_t PREEMPT_MODE_COND_OFF + uint16_t PREEMPT_MODE_PRIORITY uint16_t PREEMPT_MODE_WITHIN uint16_t PREEMPT_MODE_GANG uint8_t RECONFIG_KEEP_PART_INFO @@ -457,7 +463,6 @@ cdef extern from "slurm/slurm.h": uint8_t LOG_FMT_SHORT uint8_t LOG_FMT_THREAD_ID uint8_t LOG_FMT_RFC3339 - uint16_t LOG_FMT_FORMAT_STDERR uint8_t STAT_COMMAND_RESET uint8_t STAT_COMMAND_GET uint8_t TRIGGER_FLAG_PERM @@ -466,7 +471,6 @@ cdef extern from "slurm/slurm.h": uint8_t TRIGGER_RES_TYPE_SLURMCTLD uint8_t TRIGGER_RES_TYPE_SLURMDBD uint8_t TRIGGER_RES_TYPE_DATABASE - uint8_t TRIGGER_RES_TYPE_FRONT_END uint8_t TRIGGER_RES_TYPE_OTHER uint8_t TRIGGER_TYPE_UP uint8_t TRIGGER_TYPE_DOWN @@ -506,6 +510,7 @@ cdef extern from "slurm/slurm.h": uint16_t KILL_NO_SIG_FAIL uint16_t KILL_JOBS_VERBOSE uint16_t KILL_CRON + uint16_t KILL_FAIL_JOB uint16_t WARN_SENT uint8_t BB_FLAG_DISABLE_PERSISTENT uint8_t BB_FLAG_ENABLE_PERSISTENT @@ -541,10 +546,6 @@ cdef extern from "slurm/slurm.h": ctypedef job_resources job_resources_t - ctypedef select_jobinfo select_jobinfo_t - - ctypedef select_nodeinfo select_nodeinfo_t - ctypedef jobacctinfo jobacctinfo_t ctypedef allocation_msg_thread allocation_msg_thread_t @@ -588,7 +589,7 @@ cdef extern from "slurm/slurm.h": WAIT_RESERVATION WAIT_NODE_NOT_AVAIL WAIT_HELD_USER - WAIT_FRONT_END + DEFUNCT_WAIT_17 FAIL_DEFER FAIL_DOWN_PARTITION FAIL_DOWN_NODE @@ -830,16 +831,6 @@ cdef extern from "slurm/slurm.h": SWITCH_PLUGIN_SLINGSHOT SWITCH_PLUGIN_NVIDIA_IMEX - cdef enum select_jobdata_type: - SELECT_JOBDATA_NETWORK - - cdef enum select_nodedata_type: - SELECT_NODEDATA_SUBCNT - SELECT_NODEDATA_PTR - SELECT_NODEDATA_MEM_ALLOC - SELECT_NODEDATA_TRES_ALLOC_FMT_STR - SELECT_NODEDATA_TRES_ALLOC_WEIGHTED - cdef enum select_print_mode: SELECT_PRINT_HEAD SELECT_PRINT_DATA @@ -956,6 +947,7 @@ cdef extern from "slurm/slurm.h": SLURMD_OFF_SPEC CPU_BIND_OFF OOM_KILL_STEP + SLURMD_SPEC_OVERRIDE ctypedef cpu_bind_type cpu_bind_type_t @@ -1000,9 +992,10 @@ cdef extern from "slurm/slurm.h": SSF_NO_SIG_FAIL SSF_EXT_LAUNCHER SSF_GRES_ALLOW_TASK_SHARING + SSF_WAIT_FOR_CHILDREN cdef enum topology_plugin_type: - TOPOLOGY_PLUGIN_DEFAULT + TOPOLOGY_PLUGIN_FLAT TOPOLOGY_PLUGIN_3DTORUS TOPOLOGY_PLUGIN_TREE TOPOLOGY_PLUGIN_BLOCK @@ -1084,6 +1077,7 @@ cdef extern from "slurm/slurm.h": uint64_t base_consumed_energy uint64_t consumed_energy uint32_t current_watts + uint64_t last_adjustment uint64_t previous_consumed_energy time_t poll_time time_t slurmd_start_time @@ -1103,6 +1097,7 @@ cdef extern from "slurm/slurm.h": char* admin_comment char* alloc_node uint16_t alloc_resp_port + char* alloc_tls_cert uint32_t alloc_sid uint32_t argc char** argv @@ -1299,6 +1294,7 @@ cdef extern from "slurm/slurm.h": uint32_t job_state time_t last_sched_eval char* licenses + char* licenses_allocated uint16_t mail_type char* mail_user uint32_t max_cpus @@ -1354,6 +1350,7 @@ cdef extern from "slurm/slurm.h": char* std_err char* std_in char* std_out + uint16_t segment_size time_t submit_time time_t suspend_time char* system_comment @@ -1477,7 +1474,6 @@ cdef extern from "slurm/slurm.h": uint16_t* cpt_compact_array uint32_t cpt_compact_cnt uint32_t* cpt_compact_reps - char* front_end slurm_node_alias_addrs_t* alias_addrs uint32_t node_cnt char* node_list @@ -1595,7 +1591,6 @@ cdef extern from "slurm/slurm.h": ctypedef top_job_msg top_job_msg_t ctypedef struct slurm_step_launch_params_t: - char* alias_list uint32_t argc char** argv uint32_t envc @@ -1621,6 +1616,7 @@ cdef extern from "slurm/slurm.h": uint32_t het_job_nnodes uint32_t het_job_ntasks uint32_t het_job_step_cnt + uint32_t* het_job_step_task_cnts uint16_t* het_job_task_cnts uint32_t** het_job_tids uint32_t* het_job_tid_offsets @@ -1721,8 +1717,10 @@ cdef extern from "slurm/slurm.h": uint32_t cpu_freq_max uint32_t cpu_freq_gov char* cpus_per_tres + char* cwd char* mem_per_tres char* name + char* job_name char* network char* nodes int32_t* node_inx @@ -1737,11 +1735,14 @@ cdef extern from "slurm/slurm.h": uint16_t start_protocol_ver uint32_t state slurm_step_id_t step_id + char* std_err + char* std_in + char* std_out char* submit_line uint32_t task_dist uint32_t time_limit - char* tres_alloc_str char* tres_bind + char* tres_fmt_alloc_str char* tres_freq char* tres_per_step char* tres_per_node @@ -1781,10 +1782,15 @@ cdef extern from "slurm/slurm.h": slurm_step_id_t step_id cdef struct node_info: + uint16_t alloc_cpus + uint64_t alloc_memory + char* alloc_tres_fmt_str char* arch char* bcast_address uint16_t boards time_t boot_time + uint16_t cert_flags + time_t cert_last_renewal char* cluster_name uint16_t cores uint16_t core_spec_cnt @@ -1824,11 +1830,11 @@ cdef extern from "slurm/slurm.h": uint32_t reason_uid time_t resume_after char* resv_name - dynamic_plugin_data_t* select_nodeinfo time_t slurmd_start_time uint16_t sockets uint16_t threads uint32_t tmp_disk + char* topology_str uint32_t weight char* tres_fmt_str char* version @@ -1842,29 +1848,6 @@ cdef extern from "slurm/slurm.h": ctypedef node_info_msg node_info_msg_t - cdef struct front_end_info: - char* allow_groups - char* allow_users - time_t boot_time - char* deny_groups - char* deny_users - char* name - uint32_t node_state - char* reason - time_t reason_time - uint32_t reason_uid - time_t slurmd_start_time - char* version - - ctypedef front_end_info front_end_info_t - - cdef struct front_end_info_msg: - time_t last_update - uint32_t record_count - front_end_info_t* front_end_array - - ctypedef front_end_info_msg front_end_info_msg_t - cdef struct topo_info: uint16_t level uint32_t link_speed @@ -1874,13 +1857,21 @@ cdef extern from "slurm/slurm.h": ctypedef topo_info topo_info_t + cdef struct topo_info_request_msg: + char* name + + ctypedef topo_info_request_msg topo_info_request_msg_t + cdef struct topo_info_response_msg: - uint32_t record_count - topo_info_t* topo_array dynamic_plugin_data_t* topo_info ctypedef topo_info_response_msg topo_info_response_msg_t + cdef struct topo_config_response_msg: + char* config + + ctypedef topo_config_response_msg topo_config_response_msg_t + cdef struct job_alloc_info_msg: uint32_t job_id char* req_cluster @@ -1952,6 +1943,7 @@ cdef extern from "slurm/slurm.h": uint16_t state_up uint32_t suspend_time uint16_t suspend_timeout + char* topology_name uint32_t total_cpus uint32_t total_nodes char* tres_fmt_str @@ -1966,7 +1958,6 @@ cdef extern from "slurm/slurm.h": cdef struct resource_allocation_response_msg: char* account uint32_t job_id - char* alias_list char* batch_host uint32_t cpu_freq_min uint32_t cpu_freq_max @@ -1979,7 +1970,6 @@ cdef extern from "slurm/slurm.h": gid_t gid char* group_name char* job_submit_user_msg - slurm_addr_t* node_addr uint32_t node_cnt char* node_list uint16_t ntasks_per_board @@ -1992,6 +1982,7 @@ cdef extern from "slurm/slurm.h": char* qos char* resv_name char* tres_per_node + char* tres_per_task uid_t uid char* user_name void* working_cluster_rec @@ -2006,6 +1997,7 @@ cdef extern from "slurm/slurm.h": ctypedef partition_info_msg partition_info_msg_t cdef struct will_run_response_msg: + char* cluster_name uint32_t job_id char* job_submit_user_msg char* node_list @@ -2013,7 +2005,6 @@ cdef extern from "slurm/slurm.h": list_t* preemptee_job_id uint32_t proc_cnt time_t start_time - double sys_usage_per ctypedef will_run_response_msg will_run_response_msg_t @@ -2074,6 +2065,7 @@ cdef extern from "slurm/slurm.h": char* partition uint32_t purge_comp_time time_t start_time + time_t time_force char* tres_str char* users @@ -2116,6 +2108,8 @@ cdef extern from "slurm/slurm.h": char* bcast_exclude char* bcast_parameters time_t boot_time + char* certgen_params + char* certgen_type char* certmgr_params char* certmgr_type void* cgroup_conf @@ -2142,11 +2136,11 @@ cdef extern from "slurm/slurm.h": uint32_t epilog_msg_time char** epilog_slurmctld uint32_t epilog_slurmctld_cnt + uint16_t epilog_timeout char* fed_params uint32_t first_job_id uint16_t fs_dampening_factor uint16_t getnameinfo_cache_timeout - uint16_t get_env_timeout char* gres_plugins uint16_t group_time uint16_t group_force @@ -2156,6 +2150,7 @@ cdef extern from "slurm/slurm.h": uint16_t health_check_interval uint16_t health_check_node_state char* health_check_program + uint32_t host_unreach_retry_count uint16_t inactive_limit char* interactive_step_opts char* job_acct_gather_freq @@ -2203,7 +2198,6 @@ cdef extern from "slurm/slurm.h": uint32_t next_job_id void* node_features_conf char* node_features_plugins - char* node_prefix uint16_t over_time_limit char* plugindir char* plugstack @@ -2232,9 +2226,9 @@ cdef extern from "slurm/slurm.h": char* proctrack_type char** prolog uint32_t prolog_cnt - uint16_t prolog_epilog_timeout char** prolog_slurmctld uint32_t prolog_slurmctld_cnt + uint16_t prolog_timeout uint16_t propagate_prio_process uint16_t prolog_flags char* propagate_rlimits @@ -2361,18 +2355,11 @@ cdef extern from "slurm/slurm.h": char* reason uint32_t reason_uid uint32_t resume_after + char* topology_str uint32_t weight ctypedef slurm_update_node_msg update_node_msg_t - cdef struct slurm_update_front_end_msg: - char* name - uint32_t node_state - char* reason - uint32_t reason_uid - - ctypedef slurm_update_front_end_msg update_front_end_msg_t - ctypedef partition_info update_part_msg_t cdef struct job_sbcast_cred_msg: @@ -2497,6 +2484,8 @@ cdef extern from "slurm/slurm.h": uint32_t last_consumed uint32_t last_deficit time_t last_update + uint8_t mode + char* nodes ctypedef slurm_license_info slurm_license_info_t @@ -2575,6 +2564,8 @@ cdef extern from "slurm/slurm.h": int slurm_job_will_run2(job_desc_msg_t* req, will_run_response_msg_t** will_run_resp) + int slurm_sort_will_run_resp(void* a, void* b) + int slurm_sbcast_lookup(slurm_selected_step_t* selected_step, job_sbcast_cred_msg_t** info) void slurm_free_sbcast_cred_msg(job_sbcast_cred_msg_t* msg) @@ -2699,6 +2690,10 @@ cdef extern from "slurm/slurm.h": void slurm_get_job_stdout(char* buf, int buf_size, job_info_t* job_ptr) + char* slurm_expand_step_stdio_fields(char* path, job_step_info_t* step) + + char* slurm_expand_job_stdio_fields(char* path, job_info_t* job) + long slurm_get_rem_time(uint32_t jobid) int slurm_job_node_ready(uint32_t job_id) @@ -2767,6 +2762,8 @@ cdef extern from "slurm/slurm.h": int slurm_get_node_alias_addrs(char* node_list, slurm_node_alias_addrs_t** alias_addrs) + int slurm_controller_hostlist_expansion(const char* hostlist, char** expanded) + void slurm_free_node_info_msg(node_info_msg_t* node_buffer_ptr) void slurm_print_node_info_msg(FILE* out, node_info_msg_t* node_info_msg_ptr, int one_liner) @@ -2783,27 +2780,17 @@ cdef extern from "slurm/slurm.h": int slurm_delete_node(update_node_msg_t* node_msg) - int slurm_load_front_end(time_t update_time, front_end_info_msg_t** resp) - - void slurm_free_front_end_info_msg(front_end_info_msg_t* front_end_buffer_ptr) - - void slurm_print_front_end_info_msg(FILE* out, front_end_info_msg_t* front_end_info_msg_ptr, int one_liner) + int slurm_load_topo(topo_info_response_msg_t** topo_info_msg_pptr, char* name) - void slurm_print_front_end_table(FILE* out, front_end_info_t* front_end_ptr, int one_liner) - - char* slurm_sprint_front_end_table(front_end_info_t* front_end_ptr, int one_liner) - - void slurm_init_update_front_end_msg(update_front_end_msg_t* update_front_end_msg) - - int slurm_update_front_end(update_front_end_msg_t* front_end_msg) - - int slurm_load_topo(topo_info_response_msg_t** topo_info_msg_pptr) + int slurm_load_topo_config(topo_config_response_msg_t** resp) void slurm_free_topo_info_msg(topo_info_response_msg_t* msg) - void slurm_print_topo_info_msg(FILE* out, topo_info_response_msg_t* topo_info_msg_ptr, char* node_list, int one_liner) + void slurm_free_topo_config_msg(topo_config_response_msg_t* msg) + + void slurm_free_topo_request_msg(topo_info_request_msg_t* msg) - int slurm_get_select_nodeinfo(dynamic_plugin_data_t* nodeinfo, select_nodedata_type data_type, node_states state, void* data) + void slurm_print_topo_info_msg(FILE* out, topo_info_response_msg_t* topo_info_msg_ptr, char* node_list, char* unit, int one_liner) void slurm_init_part_desc_msg(update_part_msg_t* update_part_msg) @@ -2813,8 +2800,6 @@ cdef extern from "slurm/slurm.h": void slurm_free_partition_info_msg(partition_info_msg_t* part_info_ptr) - void slurm_print_partition_info_msg(FILE* out, partition_info_msg_t* part_info_ptr, int one_liner) - void slurm_print_partition_info(FILE* out, partition_info_t* part_ptr, int one_liner) char* slurm_sprint_partition_info(partition_info_t* part_ptr, int one_liner) diff --git a/pyslurm/slurm/slurm_errno.h.pxi b/pyslurm/slurm/slurm_errno.h.pxi index bfe33ee0..0370daaf 100644 --- a/pyslurm/slurm/slurm_errno.h.pxi +++ b/pyslurm/slurm/slurm_errno.h.pxi @@ -9,7 +9,7 @@ # * C-Macros are listed with their appropriate uint type # * Any definitions that cannot be translated are not included in this file # -# Generated on 2024-12-04T13:40:11.641040 +# Generated on 2025-07-28T21:50:00.574321 # # The Original Copyright notice from slurm_errno.h has been included # below: @@ -258,6 +258,7 @@ cdef extern from "slurm/slurm_errno.h": ESLURM_RES_CORES_PER_GPU_NO ESLURM_MAX_POWERED_NODES ESLURM_REQUESTED_TOPO_CONFIG_UNAVAILABLE + ESLURM_PREEMPTION_REQUIRED ESPANK_ERROR ESPANK_BAD_ARG ESPANK_NOT_TASK @@ -269,6 +270,8 @@ cdef extern from "slurm/slurm_errno.h": ESPANK_NOT_EXECD ESPANK_NOT_AVAIL ESPANK_NOT_LOCAL + ESPANK_NODE_FAILURE + ESPANK_JOB_FAILURE ESLURMD_KILL_TASK_FAILED ESLURMD_KILL_JOB_ALREADY_COMPLETE ESLURMD_INVALID_ACCT_FREQ @@ -285,7 +288,7 @@ cdef extern from "slurm/slurm_errno.h": ESLURMD_EPILOG_FAILED ESLURMD_TOOMANYSTEPS ESLURMD_STEP_EXISTS - ESLURMD_JOB_NOTRUNNING + ESLURMD_STEP_NOTRUNNING ESLURMD_STEP_SUSPENDED ESLURMD_STEP_NOTSUSPENDED ESLURMD_INVALID_SOCKET_NAME_LEN @@ -293,6 +296,7 @@ cdef extern from "slurm/slurm_errno.h": ESLURMD_CPU_BIND_ERROR ESLURMD_CPU_LAYOUT_ERROR ESLURMD_TOO_MANY_RPCS + ESLURMD_STEPD_PROXY_FAILED ESLURM_PROTOCOL_INCOMPLETE_PACKET SLURM_PROTOCOL_SOCKET_IMPL_TIMEOUT SLURM_PROTOCOL_SOCKET_ZERO_BYTES_SENT @@ -315,6 +319,7 @@ cdef extern from "slurm/slurm_errno.h": ESLURM_BAD_SQL ESLURM_NO_REMOVE_DEFAULT_QOS ESLURM_COORD_NO_INCREASE_JOB_LIMIT + ESLURM_NO_RPC_STATS ESLURM_FED_CLUSTER_MAX_CNT ESLURM_FED_CLUSTER_MULTIPLE_ASSIGNMENT ESLURM_INVALID_CLUSTER_FEATURE @@ -356,6 +361,8 @@ cdef extern from "slurm/slurm_errno.h": ESLURM_DATA_PARSING_DEPTH ESLURM_DATA_PARSER_INVALID_STATE ESLURM_CONTAINER_NOT_CONFIGURED + ESLURM_URL_UNKNOWN_SCHEME + ESLURM_URL_EMPTY ctypedef struct slurm_errtab_t: int xe_number diff --git a/pyslurm/slurm/slurmdb.h.pxi b/pyslurm/slurm/slurmdb.h.pxi index 9f2703f0..7808d4b6 100644 --- a/pyslurm/slurm/slurmdb.h.pxi +++ b/pyslurm/slurm/slurmdb.h.pxi @@ -371,7 +371,7 @@ cdef extern from "slurm/slurmdb.h": uint32_t id uint16_t is_def slurmdb_assoc_usage_t* leaf_usage - uint32_t lft + # uint32_t lft # removed in Slurm 25.05 char* lineage uint32_t max_jobs uint32_t max_jobs_accrue @@ -391,7 +391,7 @@ cdef extern from "slurm/slurmdb.h": char* partition uint32_t priority list_t* qos_list - uint32_t rgt + # uint32_t rgt # removed in Slurm 25.05 uint32_t shares_raw uint32_t uid slurmdb_assoc_usage_t* usage @@ -583,7 +583,7 @@ cdef extern from "slurm/slurmdb.h": uint32_t het_job_offset uint32_t jobid char* jobname - uint32_t lft + # uint32_t lft # removed in Slurm 25.05 char* lineage char* licenses char* mcs_label diff --git a/pyslurm/version.py b/pyslurm/version.py index 9797941c..737a33c3 100644 --- a/pyslurm/version.py +++ b/pyslurm/version.py @@ -5,4 +5,4 @@ # The last Number "Z" is the current Pyslurm patch version, which should be # incremented each time a new release is made (except when migrating to a new # Slurm Major release, then set it back to 0) -__version__ = "24.11.0" +__version__ = "25.05.0"