diff --git a/CHANGELOG.md b/CHANGELOG.md
index 42e5a5e3..4eff652e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-## Unreleased on the [24.5.x](https://github.com/PySlurm/pyslurm/tree/24.5.x) branch
+## Unreleased on the [24.11.x](https://github.com/PySlurm/pyslurm/tree/24.11.x) branch
### Added
@@ -16,84 +16,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- `pyslurm.db.QualityOfService`
- `pyslurm.db.QualitiesOfService`
-## [24.5.1](https://github.com/PySlurm/pyslurm/releases/tag/v24.5.1) - 2024-12-27
+## [24.11.0](https://github.com/PySlurm/pyslurm/releases/tag/v24.11.0) - 2024-12-30
### Added
-- Added `stats` attribute to both `pyslurm.Job`, `pyslurm.Jobs` and
- `pyslurm.db.Jobs`
-- Added `pids` attribute to `pyslurm.Job` which contains Process-IDs of the Job
- organized by node-name
-- Added `load_stats` method to `pyslurm.Job` and `pyslurm.Jobs` classes.
- Together with the `stats` and `pids` attributes mentioned above, it is now
- possible to fetch live statistics (like sstat)
-- Switch to link with `libslurmfull.so` instead of `libslurm.so`
- This change really has no impact from a user perspective. Everything will
- keep working the same, except that Slurms more internal library
- `libslurmfull.so` is linked with (which is located alongside the plugins
- inside the `slurm` directory, which itself is next to `libslurm.so`)
- Why the change? Because it will likely make development easier. It allows
- access to more functions that might be needed in some places, without
- completely having to implement them on our own. Implementing the
- live-statistics feature, so basically `sstat`, is for example not possible
- with `libslurm.so`
- You can keep providing the directory where `libslurm.so` resided as
- `$SLURM_LIB_DIR` to pyslurm, and it will automatically find `libslurmfull.so`
- from there.
-- Added `run_time_remaining` and `elapsed_cpu_time` attributes to `pyslurm.JobStep`
-- Added `run_time_remaining` attribute to `pyslurm.Job`
-
-### Fixed
-
-- Fixed `total_cpu_time`, `system_cpu_time` and `user_cpu_time` not getting
- calculated correctly for Job statistics
-- Actually make sure that `avg_cpu_time`, `min_cpu_time`, `total_cpu_time`,
- `system_cpu_time` and `user_cpu_time` are integers, not float.
-
-### Changed
-
-- Breaking: rename `cpu_time` to `elapsed_cpu_time` in `pyslurm.Job` and
- `pyslurm.Jobs` classes
-- Breaking: rename attribute `alloc_cpus` to just `cpus` in `pyslurm.JobStep`
-- Breaking: removed the following attributes from `pyslurm.db.Jobs`:
- * `consumed_energy`
- * `disk_read`
- * `disk_write`
- * `page_faults`
- * `resident_memory`
- * `virtual_memory`
- * `elapsed_cpu_time`
- * `total_cpu_time`
- * `user_cpu_time`
- * `system_cpu_time`
-- The removed attributes above are now all available within the `stats`
- attribute, which is of type `pyslurm.db.JobStatistics`
-- Renamed the original class of `pyslurm.db.JobStatistics` to
- `pyslurm.db.JobStepStatistics`.
- All this class contains is really mostly applicable only to Steps, but
- doesn't fully apply at the Job Level.
- Therefore, the new `pyslurm.db.JobStatistics` class only contains all
- statistics that make sense at the Job-level.
-- return `1` as a value for the `cpus` attribute in `pyslurm.db.Job` when there
- is no value set from Slurm's side.
-
-### Removed
-
-- Removed `pyslurm.version()` function. Should use `__version__` attribute directly.
-- Removed `--slurm-lib` and `--slurm-inc` parameters to `setup.py`.
- `SLURM_LIB_DIR` and `SLURM_INCLUDE_DIR` environment variables should be used instead.
-
-## [24.5.0](https://github.com/PySlurm/pyslurm/releases/tag/v24.5.0) - 2024-11-16
-
-### Added
-
-- Support for Slurm 24.5.x
-- add `power_down_on_idle` attribute to `pyslurm.Partition` class
-
-### Changed
-
-- bump minimum Cython version to 0.29.37
-
-### Removed
-
-- Removed `power_options` from `JobSubmitDescription`
+- Support for Slurm 24.11.x
diff --git a/README.md b/README.md
index c57ee395..3b83e53d 100644
--- a/README.md
+++ b/README.md
@@ -8,16 +8,16 @@ pyslurm is the Python client library for the [Slurm Workload Manager](https://sl
* [Python](https://www.python.org) - >= 3.6
* [Cython](https://cython.org) - >= 0.29.37
-This Version is for Slurm 24.05.x
+This Version is for Slurm 24.11.x
## Versioning
In pyslurm, the versioning scheme follows the official Slurm versioning. The
first two numbers (`MAJOR.MINOR`) always correspond to Slurms Major-Release,
-for example `24.05`.
+for example `24.11`.
The last number (`MICRO`) is however not tied in any way to Slurms `MICRO`
version, but is instead PySlurm's internal Patch-Level. For example, any
-pyslurm 24.05.X version should work with any Slurm 24.05.X release.
+pyslurm 24.11.X version should work with any Slurm 24.11.X release.
## Installation
@@ -29,8 +29,8 @@ the corresponding paths to the necessary files.
You can specify those with environment variables (recommended), for example:
```shell
-export SLURM_INCLUDE_DIR=/opt/slurm/24.05/include
-export SLURM_LIB_DIR=/opt/slurm/24.05/lib
+export SLURM_INCLUDE_DIR=/opt/slurm/24.11/include
+export SLURM_LIB_DIR=/opt/slurm/24.11/lib
```
Then you can proceed to install pyslurm, for example by cloning the Repository:
diff --git a/pyslurm.spec b/pyslurm.spec
index 910b8dbf..a2c75c07 100644
--- a/pyslurm.spec
+++ b/pyslurm.spec
@@ -1,7 +1,7 @@
%define python3_pkgversion 3.11
Name: python-pyslurm
-Version: 24.5.1
+Version: 24.11.0
%define rel 1
Release: %{rel}%{?dist}
Summary: Python interface to Slurm
@@ -15,8 +15,8 @@ BuildRequires: python%{python3_pkgversion}-wheel
BuildRequires: python%{python3_pkgversion}-Cython
BuildRequires: python%{python3_pkgversion}-packaging
BuildRequires: python-rpm-macros
-BuildRequires: slurm-devel >= 24.05.0
-BuildRequires: slurm >= 24.05.0
+BuildRequires: slurm-devel >= 24.11.0
+BuildRequires: slurm >= 24.11.0
Requires: python%{python3_pkgversion}
%description
diff --git a/pyslurm/core/error.pyx b/pyslurm/core/error.pyx
index dd62f679..722f3097 100644
--- a/pyslurm/core/error.pyx
+++ b/pyslurm/core/error.pyx
@@ -24,7 +24,7 @@
from pyslurm.utils cimport cstr
from pyslurm cimport slurm
-from pyslurm.slurm cimport slurm_get_errno
+cimport libc.errno
def slurm_strerror(errno):
@@ -36,7 +36,7 @@ def slurm_strerror(errno):
returned.
Returns:
- (str): String representation of errno.
+ (str): String representation of errno.
"""
return cstr.to_unicode(slurm.slurm_strerror(errno))
@@ -47,7 +47,7 @@ def slurm_errno():
Returns:
(int): Current slurm errno
"""
- return slurm_get_errno()
+ return libc.errno.errno
def get_last_slurm_error():
@@ -75,7 +75,7 @@ class RPCError(PyslurmError):
Args:
errno (int):
A slurm error number returned by RPC functions. Default is None,
- which will get the last slurm error automatically.
+ which will get the last slurm error automatically.
msg (str):
An optional, custom error description. If this is set, the errno
will not be translated to its string representation.
@@ -89,7 +89,7 @@ class RPCError(PyslurmError):
"""
def __init__(self, errno=slurm.SLURM_ERROR, msg=None):
self.msg = msg
- self.errno = errno
+ self.errno = errno
if not msg:
if errno == slurm.SLURM_ERROR:
diff --git a/pyslurm/core/partition.pxd b/pyslurm/core/partition.pxd
index 9319b6f4..ee178230 100644
--- a/pyslurm/core/partition.pxd
+++ b/pyslurm/core/partition.pxd
@@ -27,6 +27,7 @@ from libc.string cimport memcpy, memset
from pyslurm cimport slurm
from libc.stdint cimport uint8_t, uint16_t, uint32_t, uint64_t
from pyslurm.slurm cimport (
+ list_t,
partition_info_msg_t,
job_defaults_t,
delete_part_msg_t,
diff --git a/pyslurm/core/partition.pyx b/pyslurm/core/partition.pyx
index f842eb28..9c50390b 100644
--- a/pyslurm/core/partition.pyx
+++ b/pyslurm/core/partition.pyx
@@ -807,7 +807,7 @@ def _preempt_mode_int_to_str(mode, slurmctld.Config slurm_conf):
return cstr.to_unicode(slurm_preempt_mode_string(mode))
-cdef _extract_job_default_item(typ, slurm.List job_defaults_list):
+cdef _extract_job_default_item(typ, list_t *job_defaults_list):
cdef:
job_defaults_t *default_item
SlurmList job_def_list
diff --git a/pyslurm/db/qos.pxd b/pyslurm/db/qos.pxd
index ea0fde2d..02131974 100644
--- a/pyslurm/db/qos.pxd
+++ b/pyslurm/db/qos.pxd
@@ -30,7 +30,7 @@ from pyslurm.slurm cimport (
slurmdb_destroy_qos_cond,
slurmdb_qos_get,
slurm_preempt_mode_num,
- List,
+ list_t,
try_xmalloc,
)
from pyslurm.db.util cimport (
@@ -40,8 +40,9 @@ from pyslurm.db.util cimport (
)
from pyslurm.db.connection cimport Connection
from pyslurm.utils cimport cstr
+from pyslurm.utils.uint cimport u16_set_bool_flag
-cdef _set_qos_list(List *in_list, vals, QualitiesOfService data)
+cdef _set_qos_list(list_t **in_list, vals, QualitiesOfService data)
cdef class QualitiesOfService(dict):
diff --git a/pyslurm/db/qos.pyx b/pyslurm/db/qos.pyx
index c06a41b1..6395c98f 100644
--- a/pyslurm/db/qos.pyx
+++ b/pyslurm/db/qos.pyx
@@ -124,7 +124,8 @@ cdef class QualityOfServiceFilter:
make_char_list(&ptr.id_list, self.ids)
make_char_list(&ptr.description_list, self.descriptions)
ptr.preempt_mode = self._parse_preempt_modes()
- ptr.with_deleted = 1 if bool(self.with_deleted) else 0
+ u16_set_bool_flag(&ptr.flags, self.with_deleted,
+ slurm.QOS_COND_FLAG_WITH_DELETED)
cdef class QualityOfService:
@@ -223,6 +224,6 @@ def _validate_qos_single(qid, QualitiesOfService data):
raise ValueError(f"Invalid QOS specified: {qid}")
-cdef _set_qos_list(List *in_list, vals, QualitiesOfService data):
+cdef _set_qos_list(list_t **in_list, vals, QualitiesOfService data):
qos_ids = _qos_names_to_ids(vals, data)
make_char_list(in_list, qos_ids)
diff --git a/pyslurm/db/util.pxd b/pyslurm/db/util.pxd
index 2593a31e..5b42584f 100644
--- a/pyslurm/db/util.pxd
+++ b/pyslurm/db/util.pxd
@@ -24,7 +24,7 @@ from pyslurm cimport slurm
from pyslurm.utils cimport cstr
from pyslurm.slurm cimport (
list_itr_t,
- List,
+ list_t,
slurm_list_iterator_create,
slurm_list_iterator_destroy,
slurm_list_iterator_reset,
@@ -37,9 +37,9 @@ from pyslurm.slurm cimport (
slurm_xfree_ptr,
)
-cdef slurm_list_to_pylist(List in_list)
-cdef make_char_list(List *in_list, vals)
-cdef qos_list_to_pylist(List in_list, qos_data)
+cdef slurm_list_to_pylist(list_t *in_list)
+cdef make_char_list(list_t **in_list, vals)
+cdef qos_list_to_pylist(list_t *in_list, qos_data)
cdef class SlurmListItem:
@@ -51,16 +51,16 @@ cdef class SlurmListItem:
cdef class SlurmList:
cdef:
- List info
+ list_t *info
list_itr_t *itr
cdef readonly:
owned
int itr_cnt
int cnt
-
+
@staticmethod
- cdef SlurmList wrap(List, owned=*)
+ cdef SlurmList wrap(list_t *li, owned=*)
@staticmethod
cdef SlurmList create(slurm.ListDelF delf, owned=*)
diff --git a/pyslurm/db/util.pyx b/pyslurm/db/util.pyx
index 672886c2..bff854ec 100644
--- a/pyslurm/db/util.pyx
+++ b/pyslurm/db/util.pyx
@@ -23,7 +23,7 @@
# cython: language_level=3
-cdef make_char_list(List *in_list, vals):
+cdef make_char_list(list_t **in_list, vals):
if not vals:
return None
@@ -39,11 +39,11 @@ cdef make_char_list(List *in_list, vals):
slist.owned = False
-cdef slurm_list_to_pylist(List in_list):
+cdef slurm_list_to_pylist(list_t *in_list):
return SlurmList.wrap(in_list, owned=False).to_pylist()
-cdef qos_list_to_pylist(List in_list, qos_data):
+cdef qos_list_to_pylist(list_t *in_list, qos_data):
if not in_list:
return []
@@ -53,7 +53,7 @@ cdef qos_list_to_pylist(List in_list, qos_data):
cdef class SlurmListItem:
-
+
def __cinit__(self):
self.data = NULL
@@ -138,7 +138,7 @@ cdef class SlurmList:
return wrapper
@staticmethod
- cdef SlurmList wrap(List li, owned=True):
+ cdef SlurmList wrap(list_t *li, owned=True):
cdef SlurmList wrapper = SlurmList.__new__(SlurmList)
if not li:
return wrapper
diff --git a/pyslurm/deprecated.pyx b/pyslurm/deprecated.pyx
index 676f0adc..bbc1b84f 100644
--- a/pyslurm/deprecated.pyx
+++ b/pyslurm/deprecated.pyx
@@ -248,9 +248,6 @@ cdef inline IS_JOB_REQUEUED(slurm.slurm_job_info_t _X):
cdef inline IS_JOB_FED_REQUEUED(slurm.slurm_job_info_t _X):
return (_X.job_state & JOB_REQUEUE_FED)
-cdef inline IS_JOB_UPDATE_DB(slurm.slurm_job_info_t _X):
- return (_X.job_state & JOB_UPDATE_DB)
-
cdef inline IS_JOB_REVOKED(slurm.slurm_job_info_t _X):
return (_X.job_state & JOB_REVOKED)
@@ -353,7 +350,7 @@ def get_controllers():
uint32_t length = 0
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
control_machs = []
@@ -535,7 +532,7 @@ cdef class config:
int errCode = slurm.slurm_load_ctl_conf(Time, &slurm_ctl_conf_ptr)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
self.__Config_ptr = slurm_ctl_conf_ptr
@@ -549,7 +546,7 @@ cdef class config:
"""
cdef:
void *ret_list = NULL
- slurm.List config_list = NULL
+ slurm.list_t *config_list = NULL
slurm.list_itr_t *iters = NULL
config_key_pair_t *keyPairs
@@ -559,7 +556,7 @@ cdef class config:
if self.__Config_ptr is not NULL:
- config_list = slurm.slurm_ctl_conf_2_key_pairs(self.__Config_ptr)
+ config_list = slurm.slurm_ctl_conf_2_key_pairs(self.__Config_ptr)
listNum = slurm.slurm_list_count(config_list)
iters = slurm.slurm_list_iterator_create(config_list)
@@ -595,7 +592,7 @@ cdef class config:
"""Get the slurm control configuration information."""
cdef:
void *ret_list = NULL
- slurm.List config_list = NULL
+ slurm.list_t *config_list = NULL
slurm.list_itr_t *iters = NULL
char tmp_str[128]
@@ -824,7 +821,7 @@ cdef class config:
# Get key_pairs from Opaque data structure
#
-# config_list = self.__Config_ptr.select_conf_key_pairs
+# config_list = self.__Config_ptr.select_conf_key_pairs
# if config_list is not NULL:
# listNum = slurm.slurm_list_count(config_list)
# iters = slurm.slurm_list_iterator_create(config_list)
@@ -897,7 +894,7 @@ cdef class partition:
self._Partition_ptr = NULL
return all_partitions
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
def find_id(self, partID):
@@ -954,7 +951,7 @@ cdef class partition:
slurm.slurm_free_partition_info_msg(self._Partition_ptr)
self._Partition_ptr = NULL
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
def delete(self, PartID):
@@ -978,7 +975,7 @@ cdef class partition:
errCode = slurm.slurm_delete_partition(&part_msg)
if errCode != slurm.SLURM_SUCCESS:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1157,7 +1154,7 @@ cdef class partition:
self._Partition_ptr = NULL
return self._PartDict
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
@@ -1335,7 +1332,7 @@ def slurm_delete_partition(PartID):
errCode = slurm.slurm_delete_partition(&part_msg)
if errCode != slurm.SLURM_SUCCESS:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1360,7 +1357,7 @@ cpdef int slurm_ping(int Controller=0) except? -1:
cdef int errCode = slurm.slurm_ping(Controller)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1376,7 +1373,7 @@ cpdef int slurm_reconfigure() except? -1:
cdef int errCode = slurm.slurm_reconfigure()
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1400,7 +1397,7 @@ cpdef int slurm_shutdown(uint16_t Options=0) except? -1:
cdef int errCode = slurm.slurm_shutdown(Options)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1434,7 +1431,7 @@ cpdef int slurm_set_debug_level(uint32_t DebugLevel=0) except? -1:
cdef int errCode = slurm.slurm_set_debug_level(DebugLevel)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1456,7 +1453,7 @@ cpdef int slurm_set_debugflags(uint32_t debug_flags_plus=0,
debug_flags_minus)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1475,7 +1472,7 @@ cpdef int slurm_set_schedlog_level(uint32_t Enable=0) except? -1:
cdef int errCode = slurm.slurm_set_schedlog_level(Enable)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1499,7 +1496,7 @@ cpdef int slurm_suspend(uint32_t JobID=0) except? -1:
cdef int errCode = slurm.slurm_suspend(JobID)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1518,7 +1515,7 @@ cpdef int slurm_resume(uint32_t JobID=0) except? -1:
cdef int errCode = slurm.slurm_resume(JobID)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1537,7 +1534,7 @@ cpdef int slurm_requeue(uint32_t JobID=0, uint32_t State=0) except? -1:
cdef int errCode = slurm.slurm_requeue(JobID, State)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1556,7 +1553,7 @@ cpdef long slurm_get_rem_time(uint32_t JobID=0) except? -1:
cdef long errCode = slurm.slurm_get_rem_time(JobID)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1576,7 +1573,7 @@ cpdef time_t slurm_get_end_time(uint32_t JobID=0) except? -1:
cdef int errCode = slurm.slurm_get_end_time(JobID, &EndTime)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return EndTime
@@ -1611,7 +1608,7 @@ cpdef int slurm_signal_job(uint32_t JobID=0, uint16_t Signal=0) except? -1:
cdef int errCode = slurm.slurm_signal_job(JobID, Signal)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1638,7 +1635,7 @@ cpdef int slurm_signal_job_step(uint32_t JobID=0, uint32_t JobStep=0,
cdef int errCode = slurm.slurm_signal_job_step(JobID, JobStep, Signal)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1660,7 +1657,7 @@ cpdef int slurm_kill_job(uint32_t JobID=0, uint16_t Signal=0,
cdef int errCode = slurm.slurm_kill_job(JobID, Signal, BatchFlag)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1682,7 +1679,7 @@ cpdef int slurm_kill_job_step(uint32_t JobID=0, uint32_t JobStep=0,
cdef int errCode = slurm.slurm_kill_job_step(JobID, JobStep, Signal, 0)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1705,7 +1702,7 @@ cpdef int slurm_kill_job2(const char *JobID='', uint16_t Signal=0,
cdef int errCode = slurm.slurm_kill_job2(JobID, Signal, BatchFlag, sibling)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1725,7 +1722,7 @@ cpdef int slurm_complete_job(uint32_t JobID=0, uint32_t JobCode=0) except? -1:
cdef int errCode = slurm.slurm_complete_job(JobID, JobCode)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1745,7 +1742,7 @@ cpdef int slurm_notify_job(uint32_t JobID=0, char* Msg='') except? -1:
cdef int errCode = slurm.slurm_notify_job(JobID, Msg)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1765,7 +1762,7 @@ cpdef int slurm_terminate_job_step(uint32_t JobID=0, uint32_t JobStep=0) except?
cdef int errCode = slurm.slurm_terminate_job_step(JobID, JobStep)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -1833,7 +1830,7 @@ cdef class job:
self._job_ptr = NULL
return all_jobs
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
def find(self, name='', val=''):
@@ -1882,7 +1879,7 @@ cdef class job:
rc = slurm.slurm_load_job(&self._job_ptr, jobid, self._ShowFlags)
if rc != slurm.SLURM_SUCCESS:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
def find_id(self, jobid):
@@ -1932,7 +1929,7 @@ cdef class job:
if rc == slurm.SLURM_SUCCESS:
return self.get_job_ptr()
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
def get(self):
@@ -1954,7 +1951,7 @@ cdef class job:
if rc == slurm.SLURM_SUCCESS:
return self.get_job_ptr()
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
cdef dict get_job_ptr(self):
@@ -2212,7 +2209,6 @@ cdef class job:
else:
Job_dict['shared'] = "OK"
- Job_dict['show_flags'] = self._record.show_flags
Job_dict['sockets_per_board'] = self._record.sockets_per_board
Job_dict['sockets_per_node'] = int16orNone(self._record.sockets_per_node)
Job_dict['start_time'] = self._record.start_time
@@ -2281,8 +2277,8 @@ cdef class job:
if host_list:
for node_name in host_list:
b_node_name = node_name.decode("UTF-8")
- Job_dict['cpus_allocated'][b_node_name] = self.__cpus_allocated_on_node(node_name)
- Job_dict['cpus_alloc_layout'][b_node_name] = self.__cpus_allocated_list_on_node(node_name)
+ Job_dict['cpus_allocated'][b_node_name] = 0
+ Job_dict['cpus_alloc_layout'][b_node_name] = []
hl.destroy()
self._JobDict[self._record.job_id] = Job_dict
@@ -2291,63 +2287,6 @@ cdef class job:
self._job_ptr = NULL
return self._JobDict
- cpdef int __cpus_allocated_on_node_id(self, int nodeID=0):
- """Get the number of cpus allocated to a job on a node by node name.
-
- Args:
- nodeID (int): Numerical node ID
-
- Returns:
- int: Num of CPUs allocated to job on this node or -1 on error
- """
- cdef:
- slurm.job_resources_t *job_resrcs_ptr = self._record.job_resrcs
- int retval = slurm.slurm_job_cpus_allocated_on_node_id(job_resrcs_ptr, nodeID)
-
- return retval
-
- cdef int __cpus_allocated_on_node(self, char* nodeName=''):
- """Get the number of cpus allocated to a slurm job on a node by node name.
-
- Args:
- nodeName (str): Name of the node
-
- Returns:
- Num of CPUs allocated to job on this node or -1 on error
- """
- cdef:
- slurm.job_resources_t *job_resrcs_ptr = self._record.job_resrcs
- int retval = slurm.slurm_job_cpus_allocated_on_node(job_resrcs_ptr, nodeName)
-
- return retval
-
- cdef list __cpus_allocated_list_on_node(self, char* nodeName=''):
- """Get a list of cpu ids allocated to current slurm job on a node by node name.
-
- Args:
- nodeName (str): Name of the node
-
- Returns:
- list of allocated cpus (empty, if nothing found or error)
- """
- cdef:
- int error = 0
- int cpus_len = 1024
- char *cpus
- list cpus_list = []
- slurm.job_resources_t *job_resrcs_ptr = self._record.job_resrcs
-
- cpus = malloc(cpus_len * sizeof(char))
- if cpus is not NULL:
- try:
- error = slurm.slurm_job_cpus_allocated_str_on_node(cpus, cpus_len, job_resrcs_ptr, nodeName)
- if error == 0:
- cpus_list = self.__unrange(stringOrNone(cpus, ''))
- finally:
- free(cpus)
-
- return cpus_list
-
def __unrange(self, bit_str):
"""converts a string describing a bitmap (from slurm_job_cpus_allocated_str_on_node()) to a list.
@@ -2377,28 +2316,6 @@ cdef class job:
if self._job_ptr is not NULL:
slurm.slurm_free_job_info_msg(self._job_ptr)
- def print_job_info_msg(self, int oneLiner=0):
- """Print the data structure describing all job step records.
-
- Args:
- oneLiner (int, optional): Whether to print the data in one line or
- not
- """
- cdef:
- int rc
- int apiError
-
- rc = slurm.slurm_load_jobs( NULL, &self._job_ptr, self._ShowFlags)
-
- if rc == slurm.SLURM_SUCCESS:
- slurm.slurm_print_job_info_msg(slurm.stdout, self._job_ptr,
- oneLiner)
- slurm.slurm_free_job_info_msg(self._job_ptr)
- self._job_ptr = NULL
- else:
- apiError = slurm.slurm_get_errno()
- raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
-
def slurm_job_batch_script(self, jobid):
"""Return the contents of the batch-script for a Job.
@@ -3049,7 +2966,7 @@ def slurm_pid2jobid(uint32_t JobPID=0):
int errCode = slurm.slurm_pid2jobid(JobPID, &JobID)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode, JobID
@@ -3145,9 +3062,7 @@ def slurm_get_errno():
Returns:
(int): Current slurm error number
"""
- cdef int errNum = slurm.slurm_get_errno()
-
- return errNum
+ return errno
def slurm_strerror(int Errno=0):
@@ -3164,15 +3079,6 @@ def slurm_strerror(int Errno=0):
return "%s" % errMsg
-def slurm_seterrno(int Errno=0):
- """Set the slurm error number.
-
- Args:
- Errno (int): slurm error number
- """
- slurm.slurm_seterrno(Errno)
-
-
def slurm_perror(char* Msg=''):
"""Print to standard error the supplied header.
@@ -3240,7 +3146,7 @@ cdef class node:
self._Node_ptr = NULL
return all_nodes
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
def find_id(self, nodeID):
@@ -3300,7 +3206,7 @@ cdef class node:
rc = slurm.slurm_load_node(NULL, &self._Node_ptr, self._ShowFlags)
if rc != slurm.SLURM_SUCCESS:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
if slurm.slurm_load_ctl_conf(NULL, &slurm_ctl_conf_ptr) != slurm.SLURM_SUCCESS:
@@ -3524,7 +3430,7 @@ cdef class node:
slurm.slurm_free_node_info_msg(self._Node_ptr)
self._Node_ptr = NULL
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
@@ -3576,7 +3482,7 @@ def slurm_update_node(dict node_dict):
errCode = slurm.slurm_update_node(&node_msg)
if errCode != slurm.SLURM_SUCCESS:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -4049,8 +3955,8 @@ cdef class trigger:
while slurm.slurm_set_trigger(&trigger_set):
slurm.slurm_perror('slurm_set_trigger')
# EAGAIN
- if slurm.slurm_get_errno() != 11:
- errCode = slurm.slurm_get_errno()
+ if slurm_get_errno() != 11:
+ errCode = slurm_get_errno()
return errCode
p_time.sleep(5)
@@ -4208,7 +4114,7 @@ cdef class reservation:
&new_reserve_info_ptr)
if errCode == slurm.SLURM_SUCCESS:
slurm.slurm_free_reservation_info_msg(self._Res_ptr)
- elif slurm.slurm_get_errno() == 1900: # SLURM_NO_CHANGE_IN_DATA
+ elif slurm_get_errno() == 1900: # SLURM_NO_CHANGE_IN_DATA
errCode = 0
new_reserve_info_ptr = self._Res_ptr
else:
@@ -4219,7 +4125,7 @@ cdef class reservation:
self._Res_ptr = new_reserve_info_ptr
self._lastUpdate = self._Res_ptr.last_update
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -4408,7 +4314,7 @@ def slurm_create_reservation(dict reservation_dict={}):
resID = stringOrNone(resid, '')
free(resid)
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return resID
@@ -4493,7 +4399,7 @@ def slurm_update_reservation(dict reservation_dict={}):
errCode = slurm.slurm_update_reservation(&resv_msg)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -4521,7 +4427,7 @@ def slurm_delete_reservation(ResID):
cdef int errCode = slurm.slurm_delete_reservation(&resv_msg)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -4598,7 +4504,7 @@ cdef class topology:
errCode = slurm.slurm_load_topo(&self._topo_info_ptr)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -4769,7 +4675,7 @@ cdef class statistics:
self._buf = NULL
return self._StatsDict
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
def reset(self):
@@ -4787,7 +4693,7 @@ cdef class statistics:
if errCode == slurm.SLURM_SUCCESS:
return errCode
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
cpdef __rpc_num2string(self, uint16_t opcode):
@@ -5094,7 +5000,7 @@ cdef class front_end:
errCode = slurm.slurm_load_front_end(last_time, &self._FrontEndNode_ptr)
if errCode != 0:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
return errCode
@@ -5167,7 +5073,7 @@ cdef class qos:
cdef:
void *dbconn
dict _QOSDict
- slurm.List _QOSList
+ slurm.list_t *_QOSList
def __cinit__(self):
self.dbconn = NULL
@@ -5190,10 +5096,10 @@ cdef class qos:
slurm.slurmdb_qos_cond_t *new_qos_cond = NULL
int apiError = 0
void* dbconn = slurm.slurmdb_connection_get(NULL)
- slurm.List QOSList = slurm.slurmdb_qos_get(dbconn, new_qos_cond)
+ slurm.list_t *QOSList = slurm.slurmdb_qos_get(dbconn, new_qos_cond)
if QOSList is NULL:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
else:
self._QOSList = QOSList
@@ -5230,7 +5136,7 @@ cdef class qos:
cdef __get(self):
cdef:
- slurm.List qos_list = NULL
+ slurm.list_t *qos_list = NULL
slurm.list_itr_t *iters = NULL
int i = 0
int listNum = 0
@@ -5349,7 +5255,7 @@ cdef class slurmdb_jobs:
int listNum = 0
int apiError = 0
dict J_dict = {}
- slurm.List JOBSList
+ slurm.list_t *JOBSList
slurm.list_itr_t *iters = NULL
@@ -5389,20 +5295,20 @@ cdef class slurmdb_jobs:
if starttime:
self.job_cond.usage_start = slurm.slurm_parse_time(starttime, 1)
- errno = slurm.slurm_get_errno()
+ errno = slurm_get_errno()
if errno == slurm.ESLURM_INVALID_TIME_VALUE:
raise ValueError(slurm.slurm_strerror(errno), errno)
if endtime:
self.job_cond.usage_end = slurm.slurm_parse_time(endtime, 1)
- errno = slurm.slurm_get_errno()
+ errno = slurm_get_errno()
if errno == slurm.ESLURM_INVALID_TIME_VALUE:
raise ValueError(slurm.slurm_strerror(errno), errno)
JOBSList = slurm.slurmdb_jobs_get(self.db_conn, self.job_cond)
if JOBSList is NULL:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(slurm.slurm_strerror(apiError), apiError)
listNum = slurm.slurm_list_count(JOBSList)
@@ -5603,13 +5509,13 @@ cdef class slurmdb_reservations:
(dict): Dictionary whose keys are the reservations ids
"""
cdef:
- slurm.List reservation_list
+ slurm.list_t *reservation_list
slurm.list_itr_t *iters = NULL
slurm.slurmdb_reservation_rec_t *reservation
int i = 0
int j = 0
int listNum
- slurm.List _resvList
+ slurm.list_t *_resvList
Reservation_dict = {}
reservation_list = slurm.slurmdb_reservations_get(self.dbconn, self.reservation_cond)
@@ -5712,7 +5618,7 @@ cdef class slurmdb_clusters:
(dict): Dictionary whose keys are the clusters ids
"""
cdef:
- slurm.List clusters_list
+ slurm.list_t *clusters_list
slurm.list_itr_t *iters = NULL
slurm.slurmdb_cluster_rec_t *cluster = NULL
int rc = slurm.SLURM_SUCCESS
@@ -5822,7 +5728,7 @@ cdef class slurmdb_events:
(dict): Dictionary whose keys are the events ids
"""
cdef:
- slurm.List event_list
+ slurm.list_t *event_list
slurm.list_itr_t *iters = NULL
slurm.slurmdb_event_rec_t *event = NULL
int i = 0
@@ -5888,7 +5794,7 @@ cdef class slurmdb_reports:
(dict): sreport information.
"""
cdef:
- slurm.List slurmdb_report_cluster_list = NULL
+ slurm.list_t *slurmdb_report_cluster_list = NULL
slurm.list_itr_t *itr = NULL
slurm.list_itr_t *cluster_itr = NULL
slurm.list_itr_t *tres_itr = NULL
@@ -5902,7 +5808,7 @@ cdef class slurmdb_reports:
int j
slurm.slurmdb_init_cluster_cond(&cluster_cond, 0)
- self.assoc_cond.with_sub_accts = 1
+ self.assoc_cond.flags = slurm.ASSOC_COND_FLAG_SUB_ACCTS
if starttime:
self.assoc_cond.usage_start = slurm.slurm_parse_time(starttime, 1)
@@ -5916,8 +5822,8 @@ cdef class slurmdb_reports:
self.assoc_cond.usage_start = start_time
self.assoc_cond.usage_end = end_time
- self.assoc_cond.with_usage = 1
- self.assoc_cond.with_deleted = 1
+ self.assoc_cond.flags |= slurm.ASSOC_COND_FLAG_WITH_USAGE
+ self.assoc_cond.flags |= slurm.ASSOC_COND_FLAG_WITH_DELETED
slurmdb_report_cluster_list = slurm.slurmdb_report_cluster_account_by_user(
self.db_conn, self.assoc_cond
@@ -5981,7 +5887,7 @@ def get_last_slurm_error():
Returns:
(int): Slurm error number and the associated error string
"""
- rc = slurm.slurm_get_errno()
+ rc = slurm_get_errno()
if rc == 0:
return (rc, 'Success')
@@ -6668,7 +6574,7 @@ cdef class licenses:
self._msg = NULL
return all_licenses
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
def get(self):
@@ -6705,5 +6611,5 @@ cdef class licenses:
self._msg = NULL
return self._licDict
else:
- apiError = slurm.slurm_get_errno()
+ apiError = slurm_get_errno()
raise ValueError(stringOrNone(slurm.slurm_strerror(apiError), ''), apiError)
diff --git a/pyslurm/pydefines/slurm_defines.pxi b/pyslurm/pydefines/slurm_defines.pxi
index f86804e5..01e29465 100644
--- a/pyslurm/pydefines/slurm_defines.pxi
+++ b/pyslurm/pydefines/slurm_defines.pxi
@@ -26,7 +26,6 @@ DEFAULT_EIO_SHUTDOWN_WAIT = slurm.DEFAULT_EIO_SHUTDOWN_WAIT
JOB_STATE_BASE = slurm.JOB_STATE_BASE
JOB_STATE_FLAGS = slurm.JOB_STATE_FLAGS
JOB_LAUNCH_FAILED = slurm.JOB_LAUNCH_FAILED
-JOB_UPDATE_DB = slurm.JOB_UPDATE_DB
JOB_REQUEUE = slurm.JOB_REQUEUE
JOB_REQUEUE_HOLD = slurm.JOB_REQUEUE_HOLD
JOB_SPECIAL_EXIT = slurm.JOB_SPECIAL_EXIT
@@ -286,7 +285,6 @@ DEBUG_FLAG_NET_RAW = slurm.DEBUG_FLAG_NET_RAW
DEBUG_FLAG_NO_CONF_HASH = slurm.DEBUG_FLAG_NO_CONF_HASH
DEBUG_FLAG_GRES = slurm.DEBUG_FLAG_GRES
DEBUG_FLAG_DATA = slurm.DEBUG_FLAG_DATA
-DEBUG_FLAG_WORKQ = slurm.DEBUG_FLAG_WORKQ
DEBUG_FLAG_NET = slurm.DEBUG_FLAG_NET
DEBUG_FLAG_PRIO = slurm.DEBUG_FLAG_PRIO
DEBUG_FLAG_BACKFILL = slurm.DEBUG_FLAG_BACKFILL
diff --git a/pyslurm/pydefines/slurm_enums.pxi b/pyslurm/pydefines/slurm_enums.pxi
index 41106623..d813ef6e 100644
--- a/pyslurm/pydefines/slurm_enums.pxi
+++ b/pyslurm/pydefines/slurm_enums.pxi
@@ -383,7 +383,6 @@ CPU_BIND_TO_CORES = slurm.CPU_BIND_TO_CORES
CPU_BIND_TO_SOCKETS = slurm.CPU_BIND_TO_SOCKETS
CPU_BIND_TO_LDOMS = slurm.CPU_BIND_TO_LDOMS
CPU_BIND_NONE = slurm.CPU_BIND_NONE
-CPU_BIND_RANK = slurm.CPU_BIND_RANK
CPU_BIND_MAP = slurm.CPU_BIND_MAP
CPU_BIND_MASK = slurm.CPU_BIND_MASK
CPU_BIND_LDRANK = slurm.CPU_BIND_LDRANK
diff --git a/pyslurm/pydefines/slurm_errno_enums.pxi b/pyslurm/pydefines/slurm_errno_enums.pxi
index 4cfdabe5..b31e0802 100644
--- a/pyslurm/pydefines/slurm_errno_enums.pxi
+++ b/pyslurm/pydefines/slurm_errno_enums.pxi
@@ -111,7 +111,6 @@ ESLURM_INVALID_MCS_LABEL = slurm.ESLURM_INVALID_MCS_LABEL
ESLURM_BURST_BUFFER_WAIT = slurm.ESLURM_BURST_BUFFER_WAIT
ESLURM_PARTITION_DOWN = slurm.ESLURM_PARTITION_DOWN
ESLURM_DUPLICATE_GRES = slurm.ESLURM_DUPLICATE_GRES
-ESLURM_JOB_SETTING_DB_INX = slurm.ESLURM_JOB_SETTING_DB_INX
ESLURM_RSV_ALREADY_STARTED = slurm.ESLURM_RSV_ALREADY_STARTED
ESLURM_SUBMISSIONS_DISABLED = slurm.ESLURM_SUBMISSIONS_DISABLED
ESLURM_NOT_HET_JOB = slurm.ESLURM_NOT_HET_JOB
diff --git a/pyslurm/slurm/extra.pxi b/pyslurm/slurm/extra.pxi
index 2909ce5d..bab83890 100644
--- a/pyslurm/slurm/extra.pxi
+++ b/pyslurm/slurm/extra.pxi
@@ -5,7 +5,7 @@
# For example: to communicate with the slurmctld directly in order
# to retrieve the actual batch-script as a string.
#
-# https://github.com/SchedMD/slurm/blob/slurm-24-05-3-1/src/common/persist_conn.h#L53
+# https://github.com/SchedMD/slurm/blob/slurm-24-11-0-1/src/common/persist_conn.h#L53
ctypedef enum persist_conn_type_t:
PERSIST_TYPE_NONE = 0
PERSIST_TYPE_DBD
@@ -14,7 +14,7 @@ ctypedef enum persist_conn_type_t:
PERSIST_TYPE_HA_DBD
PERSIST_TYPE_ACCT_UPDATE
-# https://github.com/SchedMD/slurm/blob/slurm-24-05-3-1/src/common/persist_conn.h#L62
+# https://github.com/SchedMD/slurm/blob/slurm-24-11-0-1/src/common/persist_conn.h#L62
ctypedef struct persist_msg_t:
void *conn
void *data
@@ -24,7 +24,7 @@ ctypedef int (*_persist_conn_t_callback_proc)(void *arg, persist_msg_t *msg, buf
ctypedef void (*_persist_conn_t_callback_fini)(void *arg)
-# https://github.com/SchedMD/slurm/blob/slurm-24-05-3-1/src/common/persist_conn.h#L68
+# https://github.com/SchedMD/slurm/blob/slurm-24-11-0-1/src/common/persist_conn.h#L68
ctypedef struct persist_conn_t:
void *auth_cred
uid_t auth_uid
@@ -49,7 +49,7 @@ ctypedef struct persist_conn_t:
slurm_trigger_callbacks_t trigger_callbacks
uint16_t version
-# https://github.com/SchedMD/slurm/blob/slurm-24-05-3-1/src/common/pack.h#L68
+# https://github.com/SchedMD/slurm/blob/slurm-24-11-0-1/src/common/pack.h#L68
ctypedef struct buf_t:
uint32_t magic
char *head
@@ -58,11 +58,11 @@ ctypedef struct buf_t:
bool mmaped
bool shadow
-# https://github.com/SchedMD/slurm/blob/slurm-24-05-3-1/src/common/slurm_protocol_defs.h#L731
+# https://github.com/SchedMD/slurm/blob/slurm-24-11-0-1/src/common/slurm_protocol_defs.h#L761
ctypedef struct return_code_msg_t:
uint32_t return_code
-# https://github.com/SchedMD/slurm/blob/slurm-24-05-3-1/src/common/slurm_protocol_defs.h#L405
+# https://github.com/SchedMD/slurm/blob/slurm-24-11-0-1/src/common/slurm_protocol_defs.h#L432
ctypedef struct job_id_msg_t:
uint32_t job_id
uint16_t show_flags
@@ -75,7 +75,7 @@ ctypedef enum slurm_msg_type_t:
RESPONSE_BATCH_SCRIPT = 2052
RESPONSE_SLURM_RC = 8001
-# https://github.com/SchedMD/slurm/blob/slurm-24-05-3-1/src/common/slurm_protocol_defs.h#L231
+# https://github.com/SchedMD/slurm/blob/slurm-24-11-0-1/src/common/slurm_protocol_defs.h#L240
ctypedef struct forward_t:
slurm_node_alias_addrs_t alias_addrs
uint16_t cnt
@@ -83,8 +83,9 @@ ctypedef struct forward_t:
char *nodelist
uint32_t timeout
uint16_t tree_width
+ uint16_t tree_depth
-# https://github.com/SchedMD/slurm/blob/slurm-24-05-3-1/src/common/slurm_protocol_defs.h#L254
+# https://github.com/SchedMD/slurm/blob/slurm-24-11-0-1/src/common/slurm_protocol_defs.h#L269
ctypedef struct forward_struct_t:
slurm_node_alias_addrs_t *alias_addrs
char *buf
@@ -92,10 +93,18 @@ ctypedef struct forward_struct_t:
uint16_t fwd_cnt
pthread_mutex_t forward_mutex
pthread_cond_t notify
- List ret_list
+ list_t *ret_list
uint32_t timeout
-# https://github.com/SchedMD/slurm/blob/slurm-24-05-3-1/src/common/slurm_protocol_defs.h#L271
+
+cdef extern from *:
+ """
+ typedef struct conmgr_fd_s conmgr_fd_t; \
+ """
+ ctypedef struct conmgr_fd_t
+
+
+# https://github.com/SchedMD/slurm/blob/slurm-24-11-0-1/src/common/slurm_protocol_defs.h#L286
ctypedef struct slurm_msg_t:
slurm_addr_t address
void *auth_cred
@@ -109,6 +118,7 @@ ctypedef struct slurm_msg_t:
buf_t *buffer
persist_conn_t *conn
int conn_fd
+ conmgr_fd_t *conmgr_fd
void *data
uint16_t flags
uint8_t hash_index
@@ -117,7 +127,7 @@ ctypedef struct slurm_msg_t:
forward_t forward
forward_struct_t *forward_struct
slurm_addr_t orig_addr
- List ret_list
+ list_t *ret_list
# https://github.com/SchedMD/slurm/blob/fe82218def7b57f5ecda9222e80662ebbb6415f8/src/common/slurm_protocol_defs.c#L865
cdef extern void slurm_free_return_code_msg(return_code_msg_t *msg)
@@ -244,8 +254,8 @@ cdef extern char *slurm_node_state_string (uint32_t inx)
cdef extern char *slurm_step_layout_type_name (task_dist_states_t task_dist)
cdef extern char *slurm_reservation_flags_string (reserve_info_t *resv_ptr)
cdef extern void slurm_free_stats_response_msg (stats_info_response_msg_t *msg)
-cdef extern int slurm_addto_char_list_with_case(List char_list, char *names, bool lower_case_noralization)
-cdef extern int slurm_addto_step_list(List step_list, char *names)
+cdef extern int slurm_addto_char_list_with_case(list_t *char_list, char *names, bool lower_case_noralization)
+cdef extern int slurm_addto_step_list(list_t *step_list, char *names)
cdef extern int slurmdb_report_set_start_end_time(time_t *start, time_t *end)
cdef extern uint16_t slurm_get_track_wckey()
cdef extern void slurm_sprint_cpu_bind_type(char *str, cpu_bind_type_t cpu_bind_type)
diff --git a/pyslurm/slurm/helpers.pxi b/pyslurm/slurm/helpers.pxi
index abff2594..32ec989b 100644
--- a/pyslurm/slurm/helpers.pxi
+++ b/pyslurm/slurm/helpers.pxi
@@ -47,9 +47,6 @@ cdef inline IS_JOB_RESIZING(slurm_job_info_t *_X):
cdef inline IS_JOB_REQUEUED(slurm_job_info_t *_X):
return _X.job_state & JOB_REQUEUE
-cdef inline IS_JOB_UPDATE_DB(slurm_job_info_t *_X):
- return _X.job_state & JOB_UPDATE_DB
-
#
# Node states
#
diff --git a/pyslurm/slurm/slurm.h.pxi b/pyslurm/slurm/slurm.h.pxi
index 798bb666..76768ba8 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-07-12T16:21:51.963583
+# Generated on 2024-12-04T13:40:11.790952
#
# The Original Copyright notice from slurm.h has been included
# below:
@@ -70,6 +70,8 @@ cdef extern from "slurm/slurm.h":
uint32_t MAX_FED_JOB_ID
uint8_t MAX_HET_JOB_COMPONENTS
uint8_t MAX_FED_CLUSTERS
+ uint16_t MAX_JOB_SIZE_BITMAP
+ uint32_t MAX_SLURM_NODES
uint32_t SLURM_MAX_NORMAL_STEP_ID
uint32_t SLURM_PENDING_STEP
uint32_t SLURM_EXTERN_CONT
@@ -79,7 +81,6 @@ cdef extern from "slurm/slurm.h":
uint8_t JOB_STATE_BASE
uint32_t JOB_STATE_FLAGS
uint16_t JOB_LAUNCH_FAILED
- uint16_t JOB_UPDATE_DB
uint16_t JOB_REQUEUE
uint16_t JOB_REQUEUE_HOLD
uint16_t JOB_SPECIAL_EXIT
@@ -308,6 +309,8 @@ cdef extern from "slurm/slurm.h":
uint16_t PART_FLAG_PDOI_CLR
uint32_t PART_FLAG_EXCLUSIVE_TOPO
uint32_t PART_FLAG_EXC_TOPO_CLR
+ uint32_t PART_FLAG_SCHED_FAILED
+ uint32_t PART_FLAG_SCHED_CLEARED
uint8_t RESERVE_FLAG_MAINT
uint8_t RESERVE_FLAG_NO_MAINT
uint8_t RESERVE_FLAG_DAILY
@@ -348,6 +351,7 @@ cdef extern from "slurm/slurm.h":
uint64_t RESERVE_TRES_PER_NODE
uint64_t RESERVE_FLAG_USER_DEL
uint64_t RESERVE_FLAG_NO_USER_DEL
+ uint64_t RESERVE_FLAG_SCHED_FAILED
uint8_t DEBUG_FLAG_SELECT_TYPE
uint8_t DEBUG_FLAG_STEPS
uint8_t DEBUG_FLAG_TRIGGERS
@@ -357,7 +361,7 @@ cdef extern from "slurm/slurm.h":
uint8_t DEBUG_FLAG_GRES
uint8_t DEBUG_FLAG_MPI
uint16_t DEBUG_FLAG_DATA
- uint16_t DEBUG_FLAG_WORKQ
+ uint16_t DEBUG_FLAG_CONMGR
uint16_t DEBUG_FLAG_NET
uint16_t DEBUG_FLAG_PRIO
uint16_t DEBUG_FLAG_BACKFILL
@@ -529,6 +533,8 @@ cdef extern from "slurm/slurm.h":
cdef extern from "slurm/slurm.h":
+ ctypedef uint64_t sluid_t
+
ctypedef sockaddr_storage slurm_addr_t
ctypedef slurmdb_cluster_rec slurmdb_cluster_rec_t
@@ -938,7 +944,6 @@ cdef extern from "slurm/slurm.h":
CPU_BIND_TO_SOCKETS
CPU_BIND_TO_LDOMS
CPU_BIND_NONE
- CPU_BIND_RANK
CPU_BIND_MAP
CPU_BIND_MASK
CPU_BIND_LDRANK
@@ -950,6 +955,7 @@ cdef extern from "slurm/slurm.h":
CPU_AUTO_BIND_TO_SOCKETS
SLURMD_OFF_SPEC
CPU_BIND_OFF
+ OOM_KILL_STEP
ctypedef cpu_bind_type cpu_bind_type_t
@@ -1027,8 +1033,6 @@ cdef extern from "slurm/slurm.h":
void slurm_hostlist_uniq(hostlist_t* hl)
- ctypedef xlist* List
-
ctypedef xlist list_t
ctypedef listIterator list_itr_t
@@ -1082,6 +1086,7 @@ cdef extern from "slurm/slurm.h":
uint32_t current_watts
uint64_t previous_consumed_energy
time_t poll_time
+ time_t slurmd_start_time
ctypedef acct_gather_energy acct_gather_energy_t
@@ -1153,6 +1158,7 @@ cdef extern from "slurm/slurm.h":
char* network
uint32_t nice
uint32_t num_tasks
+ uint16_t oom_kill_step
uint8_t open_mode
char* origin_cluster
uint16_t other_port
@@ -1312,6 +1318,7 @@ cdef extern from "slurm/slurm.h":
uint32_t num_cpus
uint32_t num_nodes
uint32_t num_tasks
+ uint16_t oom_kill_step
char* partition
char* prefer
uint64_t pn_min_memory
@@ -1322,7 +1329,7 @@ cdef extern from "slurm/slurm.h":
time_t pre_sus_time
uint32_t priority
uint32_t* priority_array
- char* priority_array_parts
+ char* priority_array_names
uint32_t profile
char* qos
uint8_t reboot
@@ -1337,7 +1344,6 @@ cdef extern from "slurm/slurm.h":
char* sched_nodes
char* selinux_context
uint16_t shared
- uint16_t show_flags
uint32_t site_factor
uint16_t sockets_per_board
uint16_t sockets_per_node
@@ -1411,6 +1417,26 @@ cdef extern from "slurm/slurm.h":
ctypedef job_info_msg job_info_msg_t
+ cdef struct listjobs_info:
+ uint32_t job_id
+
+ ctypedef listjobs_info listjobs_info_t
+
+ cdef struct listpids_info:
+ uint32_t global_task_id
+ uint32_t job_id
+ uint32_t local_task_id
+ pid_t pid
+ char* step_id
+
+ ctypedef listpids_info listpids_info_t
+
+ cdef struct liststeps_info:
+ uint32_t job_id
+ char* step_id
+
+ ctypedef liststeps_info liststeps_info_t
+
ctypedef struct job_state_response_job_t:
uint32_t job_id
uint32_t array_job_id
@@ -1465,6 +1491,7 @@ cdef extern from "slurm/slurm.h":
ctypedef slurm_step_layout slurm_step_layout_t
cdef struct slurm_step_id_msg:
+ sluid_t sluid
uint32_t job_id
uint32_t step_het_comp
uint32_t step_id
@@ -1631,6 +1658,7 @@ cdef extern from "slurm/slurm.h":
uint32_t spank_job_env_size
char* tres_bind
char* tres_freq
+ uint16_t oom_kill_step
ctypedef void (*_slurm_step_launch_callbacks_t_slurm_step_launch_callbacks_t_step_complete_ft)(srun_job_complete_msg_t*)
@@ -2088,8 +2116,11 @@ cdef extern from "slurm/slurm.h":
char* bcast_exclude
char* bcast_parameters
time_t boot_time
+ char* certmgr_params
+ char* certmgr_type
void* cgroup_conf
char* cli_filter_plugins
+ uint16_t cluster_id
char* cluster_name
char* comm_params
uint16_t complete_wait
@@ -2100,6 +2131,7 @@ cdef extern from "slurm/slurm.h":
uint32_t cpu_freq_def
uint32_t cpu_freq_govs
char* cred_type
+ char* data_parser_parameters
uint64_t debug_flags
uint64_t def_mem_per_cpu
char* dependency_params
@@ -2315,6 +2347,7 @@ cdef extern from "slurm/slurm.h":
cdef struct slurm_update_node_msg:
char* comment
uint32_t cpu_bind
+ char* cert_token
char* extra
char* features
char* features_act
@@ -2349,6 +2382,11 @@ cdef extern from "slurm/slurm.h":
ctypedef job_sbcast_cred_msg job_sbcast_cred_msg_t
+ cdef struct sbcast_cred_req_msg:
+ char* node_list
+
+ ctypedef sbcast_cred_req_msg sbcast_cred_req_msg_t
+
ctypedef struct token_request_msg_t:
uint32_t lifespan
char* username
@@ -2647,14 +2685,6 @@ cdef extern from "slurm/slurm.h":
int slurm_reset_statistics(stats_info_request_msg_t* req)
- int slurm_job_cpus_allocated_on_node_id(job_resources_t* job_resrcs_ptr, int node_id)
-
- int slurm_job_cpus_allocated_on_node(job_resources_t* job_resrcs_ptr, const char* node_name)
-
- int slurm_job_cpus_allocated_str_on_node_id(char* cpus, size_t cpus_len, job_resources_t* job_resrcs_ptr, int node_id)
-
- int slurm_job_cpus_allocated_str_on_node(char* cpus, size_t cpus_len, job_resources_t* job_resrcs_ptr, const char* node_name)
-
void slurm_free_job_info_msg(job_info_msg_t* job_buffer_ptr)
void slurm_free_job_state_response_msg(job_state_response_msg_t* msg)
@@ -2687,12 +2717,6 @@ cdef extern from "slurm/slurm.h":
int slurm_pid2jobid(pid_t job_pid, uint32_t* job_id_ptr)
- void slurm_print_job_info(FILE* out, slurm_job_info_t* job_ptr, int one_liner)
-
- void slurm_print_job_info_msg(FILE* out, job_info_msg_t* job_info_msg_ptr, int one_liner)
-
- char* slurm_sprint_job_info(slurm_job_info_t* job_ptr, int one_liner)
-
int slurm_update_job(job_desc_msg_t* job_msg)
int slurm_update_job2(job_desc_msg_t* job_msg, job_array_resp_msg_t** resp)
@@ -2825,6 +2849,12 @@ cdef extern from "slurm/slurm.h":
long latency
int offset
+ ctypedef struct slurmdbd_ping_t:
+ char* hostname
+ bool pinged
+ long latency
+ int offset
+
int slurm_ping(int dest)
controller_ping_t* ping_all_controllers()
diff --git a/pyslurm/slurm/slurm_errno.h.pxi b/pyslurm/slurm/slurm_errno.h.pxi
index 25e83892..bfe33ee0 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-07-12T16:21:51.735507
+# Generated on 2024-12-04T13:40:11.641040
#
# The Original Copyright notice from slurm_errno.h has been included
# below:
@@ -72,6 +72,9 @@ cdef extern from "slurm/slurm_errno.h":
SLURM_PLUGIN_NAME_INVALID
SLURM_UNKNOWN_FORWARD_ADDR
SLURM_COMMUNICATIONS_MISSING_SOCKET_ERROR
+ SLURM_COMMUNICATIONS_INVALID_INCOMING_FD
+ SLURM_COMMUNICATIONS_INVALID_OUTGOING_FD
+ SLURM_COMMUNICATIONS_INVALID_FD
SLURMCTLD_COMMUNICATIONS_CONNECTION_ERROR
SLURMCTLD_COMMUNICATIONS_SEND_ERROR
SLURMCTLD_COMMUNICATIONS_RECEIVE_ERROR
@@ -180,7 +183,6 @@ cdef extern from "slurm/slurm_errno.h":
ESLURM_BURST_BUFFER_WAIT
ESLURM_PARTITION_DOWN
ESLURM_DUPLICATE_GRES
- ESLURM_JOB_SETTING_DB_INX
ESLURM_RSV_ALREADY_STARTED
ESLURM_SUBMISSIONS_DISABLED
ESLURM_NOT_HET_JOB
@@ -255,6 +257,7 @@ cdef extern from "slurm/slurm_errno.h":
ESLURM_RES_CORES_PER_GPU_TOPO
ESLURM_RES_CORES_PER_GPU_NO
ESLURM_MAX_POWERED_NODES
+ ESLURM_REQUESTED_TOPO_CONFIG_UNAVAILABLE
ESPANK_ERROR
ESPANK_BAD_ARG
ESPANK_NOT_TASK
@@ -294,6 +297,7 @@ cdef extern from "slurm/slurm_errno.h":
SLURM_PROTOCOL_SOCKET_IMPL_TIMEOUT
SLURM_PROTOCOL_SOCKET_ZERO_BYTES_SENT
ESLURM_AUTH_CRED_INVALID
+ ESLURM_AUTH_EXPIRED
ESLURM_AUTH_BADARG
ESLURM_AUTH_UNPACK
ESLURM_AUTH_SKIP
@@ -366,6 +370,4 @@ cdef extern from "slurm/slurm_errno.h":
void slurm_seterrno(int errnum)
- int slurm_get_errno()
-
void slurm_perror(const char* msg)
diff --git a/pyslurm/slurm/slurmdb.h.pxi b/pyslurm/slurm/slurmdb.h.pxi
index 93677249..9f2703f0 100644
--- a/pyslurm/slurm/slurmdb.h.pxi
+++ b/pyslurm/slurm/slurmdb.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-09-24T07:52:21.615726
+# Generated on 2024-12-04T13:40:12.010546
#
# The Original Copyright notice from slurmdb.h has been included
# below:
@@ -66,6 +66,7 @@ cdef extern from "slurm/slurmdb.h":
uint16_t QOS_FLAG_RELATIVE
uint16_t QOS_FLAG_RELATIVE_SET
uint16_t QOS_FLAG_PART_QOS
+ uint8_t QOS_COND_FLAG_WITH_DELETED
uint32_t SLURMDB_RES_FLAG_BASE
uint32_t SLURMDB_RES_FLAG_NOTSET
uint32_t SLURMDB_RES_FLAG_ADD
@@ -117,6 +118,14 @@ cdef extern from "slurm/slurmdb.h":
uint16_t CLUSTER_FLAG_FE
uint16_t CLUSTER_FLAG_FED
uint16_t CLUSTER_FLAG_EXT
+ uint8_t ASSOC_COND_FLAG_WITH_DELETED
+ uint8_t ASSOC_COND_FLAG_WITH_USAGE
+ uint8_t ASSOC_COND_FLAG_ONLY_DEFS
+ uint8_t ASSOC_COND_FLAG_RAW_QOS
+ uint8_t ASSOC_COND_FLAG_SUB_ACCTS
+ uint8_t ASSOC_COND_FLAG_WOPI
+ uint8_t ASSOC_COND_FLAG_WOPL
+ uint8_t ASSOC_COND_FLAG_QOS_USAGE
uint8_t SLURMDB_EVENT_COND_OPEN
uint8_t DB_CONN_FLAG_CLUSTER_DEL
uint8_t DB_CONN_FLAG_ROLLBACK
@@ -215,54 +224,48 @@ cdef extern from "slurm/slurmdb.h":
char* type
ctypedef struct slurmdb_assoc_cond_t:
- List acct_list
- List cluster_list
- List def_qos_id_list
- List format_list
- List id_list
- uint16_t only_defs
- List parent_acct_list
- List partition_list
- List qos_list
+ list_t* acct_list
+ list_t* cluster_list
+ list_t* def_qos_id_list
+ uint32_t flags
+ list_t* format_list
+ list_t* id_list
+ list_t* parent_acct_list
+ list_t* partition_list
+ list_t* qos_list
time_t usage_end
time_t usage_start
- List user_list
- uint16_t with_usage
- uint16_t with_deleted
- uint16_t with_raw_qos
- uint16_t with_sub_accts
- uint16_t without_parent_info
- uint16_t without_parent_limits
+ list_t* user_list
ctypedef struct slurmdb_job_cond_t:
- List acct_list
- List associd_list
- List cluster_list
- List constraint_list
+ list_t* acct_list
+ list_t* associd_list
+ list_t* cluster_list
+ list_t* constraint_list
uint32_t cpus_max
uint32_t cpus_min
uint32_t db_flags
int32_t exitcode
uint32_t flags
- List format_list
- List groupid_list
- List jobname_list
+ list_t* format_list
+ list_t* groupid_list
+ list_t* jobname_list
uint32_t nodes_max
uint32_t nodes_min
- List partition_list
- List qos_list
- List reason_list
- List resv_list
- List resvid_list
- List state_list
- List step_list
+ list_t* partition_list
+ list_t* qos_list
+ list_t* reason_list
+ list_t* resv_list
+ list_t* resvid_list
+ list_t* state_list
+ list_t* step_list
uint32_t timelimit_max
uint32_t timelimit_min
time_t usage_end
time_t usage_start
char* used_nodes
- List userid_list
- List wckey_list
+ list_t* userid_list
+ list_t* wckey_list
ctypedef struct slurmdb_stats_t:
double act_cpufreq
@@ -296,13 +299,13 @@ cdef extern from "slurm/slurmdb.h":
ctypedef struct slurmdb_account_cond_t:
slurmdb_assoc_cond_t* assoc_cond
- List description_list
+ list_t* description_list
slurmdb_acct_flags_t flags
- List organization_list
+ list_t* organization_list
ctypedef struct slurmdb_account_rec_t:
- List assoc_list
- List coordinators
+ list_t* assoc_list
+ list_t* coordinators
char* description
slurmdb_acct_flags_t flags
char* name
@@ -311,6 +314,7 @@ cdef extern from "slurm/slurmdb.h":
ctypedef struct slurmdb_accounting_rec_t:
uint64_t alloc_secs
uint32_t id
+ uint32_t id_alt
time_t period_start
slurmdb_tres_rec_t tres_rec
@@ -332,10 +336,10 @@ cdef extern from "slurm/slurmdb.h":
ctypedef struct slurmdb_tres_cond_t:
uint64_t count
- List format_list
- List id_list
- List name_list
- List type_list
+ list_t* format_list
+ list_t* id_list
+ list_t* name_list
+ list_t* type_list
uint16_t with_deleted
ctypedef slurmdb_assoc_usage slurmdb_assoc_usage_t
@@ -345,7 +349,7 @@ cdef extern from "slurm/slurmdb.h":
ctypedef slurmdb_user_rec slurmdb_user_rec_t
cdef struct slurmdb_assoc_rec:
- List accounting_list
+ list_t* accounting_list
char* acct
slurmdb_assoc_rec* assoc_next
slurmdb_assoc_rec* assoc_next_id
@@ -386,7 +390,7 @@ cdef extern from "slurm/slurmdb.h":
uint32_t parent_id
char* partition
uint32_t priority
- List qos_list
+ list_t* qos_list
uint32_t rgt
uint32_t shares_raw
uint32_t uid
@@ -407,7 +411,7 @@ cdef extern from "slurm/slurmdb.h":
cdef struct slurmdb_assoc_usage:
uint32_t accrue_cnt
- List children_list
+ list_t* children_list
bitstr_t* grp_node_bitmap
uint16_t* grp_node_job_cnt
uint64_t* grp_used_tres
@@ -435,18 +439,18 @@ cdef extern from "slurm/slurmdb.h":
ctypedef struct slurmdb_cluster_cond_t:
uint16_t classification
- List cluster_list
- List federation_list
+ list_t* cluster_list
+ list_t* federation_list
uint32_t flags
- List format_list
- List rpc_version_list
+ list_t* format_list
+ list_t* rpc_version_list
time_t usage_end
time_t usage_start
uint16_t with_deleted
uint16_t with_usage
ctypedef struct slurmdb_cluster_fed_t:
- List feature_list
+ list_t* feature_list
uint32_t id
char* name
void* recv
@@ -456,7 +460,7 @@ cdef extern from "slurm/slurmdb.h":
bool sync_sent
cdef struct slurmdb_cluster_rec:
- List accounting_list
+ list_t* accounting_list
uint16_t classification
time_t comm_fail_time
slurm_addr_t control_addr
@@ -464,6 +468,7 @@ cdef extern from "slurm/slurmdb.h":
uint32_t control_port
uint16_t dimensions
int* dim_size
+ uint16_t id
slurmdb_cluster_fed_t fed
uint32_t flags
pthread_mutex_t lock
@@ -471,7 +476,7 @@ cdef extern from "slurm/slurmdb.h":
char* nodes
slurmdb_assoc_rec_t* root_assoc
uint16_t rpc_version
- List send_rpc
+ list_t* send_rpc
char* tres_str
ctypedef struct slurmdb_cluster_accounting_rec_t:
@@ -493,18 +498,18 @@ cdef extern from "slurm/slurmdb.h":
uint16_t direct
ctypedef struct slurmdb_event_cond_t:
- List cluster_list
+ list_t* cluster_list
uint32_t cond_flags
uint32_t cpus_max
uint32_t cpus_min
uint16_t event_type
- List format_list
+ list_t* format_list
char* node_list
time_t period_end
time_t period_start
- List reason_list
- List reason_uid_list
- List state_list
+ list_t* reason_list
+ list_t* reason_uid_list
+ list_t* state_list
ctypedef struct slurmdb_event_rec_t:
char* cluster
@@ -519,22 +524,22 @@ cdef extern from "slurm/slurmdb.h":
char* tres_str
ctypedef struct slurmdb_federation_cond_t:
- List cluster_list
- List federation_list
- List format_list
+ list_t* cluster_list
+ list_t* federation_list
+ list_t* format_list
uint16_t with_deleted
ctypedef struct slurmdb_federation_rec_t:
char* name
uint32_t flags
- List cluster_list
+ list_t* cluster_list
ctypedef struct slurmdb_instance_cond_t:
- List cluster_list
- List extra_list
- List format_list
- List instance_id_list
- List instance_type_list
+ list_t* cluster_list
+ list_t* extra_list
+ list_t* format_list
+ list_t* instance_id_list
+ list_t* instance_type_list
char* node_list
time_t time_end
time_t time_start
@@ -586,9 +591,11 @@ cdef extern from "slurm/slurmdb.h":
char* partition
uint32_t priority
uint32_t qosid
+ char* qos_req
uint32_t req_cpus
uint64_t req_mem
uint32_t requid
+ uint16_t restart_cnt
uint32_t resvid
char* resv_name
char* script
@@ -596,7 +603,7 @@ cdef extern from "slurm/slurmdb.h":
time_t start
uint32_t state
uint32_t state_reason_prev
- List steps
+ list_t* steps
char* std_err
char* std_in
char* std_out
@@ -622,8 +629,8 @@ cdef extern from "slurm/slurmdb.h":
ctypedef struct slurmdb_qos_usage_t:
uint32_t accrue_cnt
- List acct_limit_list
- List job_list
+ list_t* acct_limit_list
+ list_t* job_list
bitstr_t* grp_node_bitmap
uint16_t* grp_node_job_cnt
uint32_t grp_used_jobs
@@ -635,9 +642,10 @@ cdef extern from "slurm/slurmdb.h":
uint32_t tres_cnt
long double usage_raw
long double* usage_tres_raw
- List user_limit_list
+ list_t* user_limit_list
ctypedef struct slurmdb_qos_rec_t:
+ time_t blocked_until
char* description
uint32_t id
uint32_t flags
@@ -679,7 +687,7 @@ cdef extern from "slurm/slurmdb.h":
uint64_t* min_tres_pj_ctld
char* name
bitstr_t* preempt_bitstr
- List preempt_list
+ list_t* preempt_list
uint16_t preempt_mode
uint32_t preempt_exempt_time
uint32_t priority
@@ -687,22 +695,21 @@ cdef extern from "slurm/slurmdb.h":
slurmdb_qos_usage_t* usage
double usage_factor
double usage_thres
- time_t blocked_until
ctypedef struct slurmdb_qos_cond_t:
- List description_list
- List id_list
- List format_list
- List name_list
+ list_t* description_list
+ uint16_t flags
+ list_t* id_list
+ list_t* format_list
+ list_t* name_list
uint16_t preempt_mode
- uint16_t with_deleted
ctypedef struct slurmdb_reservation_cond_t:
- List cluster_list
+ list_t* cluster_list
uint64_t flags
- List format_list
- List id_list
- List name_list
+ list_t* format_list
+ list_t* id_list
+ list_t* name_list
char* nodes
time_t time_end
time_t time_start
@@ -722,7 +729,7 @@ cdef extern from "slurm/slurmdb.h":
time_t time_start_prev
char* tres_str
double unused_wall
- List tres_list
+ list_t* tres_list
ctypedef struct slurmdb_step_rec_t:
char* container
@@ -756,22 +763,22 @@ cdef extern from "slurm/slurmdb.h":
ctypedef struct slurmdb_res_cond_t:
list_t* allowed_list
- List cluster_list
- List description_list
+ list_t* cluster_list
+ list_t* description_list
uint32_t flags
- List format_list
- List id_list
- List manager_list
- List name_list
- List server_list
- List type_list
+ list_t* format_list
+ list_t* id_list
+ list_t* manager_list
+ list_t* name_list
+ list_t* server_list
+ list_t* type_list
uint16_t with_deleted
uint16_t with_clusters
ctypedef struct slurmdb_res_rec_t:
uint32_t allocated
uint32_t last_consumed
- List clus_res_list
+ list_t* clus_res_list
slurmdb_clus_res_rec_t* clus_res_rec
uint32_t count
char* description
@@ -784,17 +791,17 @@ cdef extern from "slurm/slurmdb.h":
uint32_t type
ctypedef struct slurmdb_txn_cond_t:
- List acct_list
- List action_list
- List actor_list
- List cluster_list
- List format_list
- List id_list
- List info_list
- List name_list
+ list_t* acct_list
+ list_t* action_list
+ list_t* actor_list
+ list_t* cluster_list
+ list_t* format_list
+ list_t* id_list
+ list_t* info_list
+ list_t* name_list
time_t time_end
time_t time_start
- List user_list
+ list_t* user_list
uint16_t with_assoc_info
ctypedef struct slurmdb_txn_rec_t:
@@ -822,8 +829,8 @@ cdef extern from "slurm/slurmdb.h":
ctypedef struct slurmdb_user_cond_t:
uint16_t admin_level
slurmdb_assoc_cond_t* assoc_cond
- List def_acct_list
- List def_wckey_list
+ list_t* def_acct_list
+ list_t* def_wckey_list
uint16_t with_assocs
uint16_t with_coords
uint16_t with_deleted
@@ -836,30 +843,30 @@ cdef extern from "slurm/slurmdb.h":
cdef struct slurmdb_user_rec:
uint16_t admin_level
- List assoc_list
+ list_t* assoc_list
slurmdb_bf_usage_t* bf_usage
- List coord_accts
+ list_t* coord_accts
char* default_acct
char* default_wckey
uint32_t flags
char* name
char* old_name
uint32_t uid
- List wckey_list
+ list_t* wckey_list
ctypedef struct slurmdb_update_object_t:
- List objects
+ list_t* objects
uint16_t type
ctypedef struct slurmdb_wckey_cond_t:
- List cluster_list
- List format_list
- List id_list
- List name_list
+ list_t* cluster_list
+ list_t* format_list
+ list_t* id_list
+ list_t* name_list
uint16_t only_defs
time_t usage_end
time_t usage_start
- List user_list
+ list_t* user_list
uint16_t with_usage
uint16_t with_deleted
@@ -868,7 +875,7 @@ cdef extern from "slurm/slurmdb.h":
SLURMDB_WCKEY_FLAG_DELETED
ctypedef struct slurmdb_wckey_rec_t:
- List accounting_list
+ list_t* accounting_list
char* cluster
uint32_t flags
uint32_t id
@@ -887,49 +894,51 @@ cdef extern from "slurm/slurmdb.h":
slurmdb_assoc_rec_t* assoc
char* key
char* sort_name
- List children
+ list_t* children
ctypedef struct slurmdb_report_assoc_rec_t:
char* acct
char* cluster
+ uint32_t id
+ uint32_t id_alt
char* parent_acct
- List tres_list
+ list_t* tres_list
char* user
ctypedef struct slurmdb_report_user_rec_t:
char* acct
- List acct_list
- List assoc_list
+ list_t* acct_list
+ list_t* assoc_list
char* name
- List tres_list
+ list_t* tres_list
uid_t uid
ctypedef struct slurmdb_report_cluster_rec_t:
- List accounting_list
- List assoc_list
+ list_t* accounting_list
+ list_t* assoc_list
char* name
- List tres_list
- List user_list
+ list_t* tres_list
+ list_t* user_list
ctypedef struct slurmdb_report_job_grouping_t:
uint32_t count
- List jobs
+ list_t* jobs
uint32_t min_size
uint32_t max_size
- List tres_list
+ list_t* tres_list
ctypedef struct slurmdb_report_acct_grouping_t:
char* acct
uint32_t count
- List groups
+ list_t* groups
char* lineage
- List tres_list
+ list_t* tres_list
ctypedef struct slurmdb_report_cluster_grouping_t:
- List acct_list
+ list_t* acct_list
char* cluster
uint32_t count
- List tres_list
+ list_t* tres_list
cdef enum:
DBD_ROLLUP_HOUR
@@ -953,58 +962,58 @@ cdef extern from "slurm/slurmdb.h":
ctypedef struct slurmdb_stats_rec_t:
slurmdb_rollup_stats_t* dbd_rollup_stats
- List rollup_stats
- List rpc_list
+ list_t* rollup_stats
+ list_t* rpc_list
time_t time_start
- List user_list
+ list_t* user_list
slurmdb_cluster_rec_t* working_cluster_rec
- int slurmdb_accounts_add(void* db_conn, List acct_list)
+ int slurmdb_accounts_add(void* db_conn, list_t* acct_list)
char* slurmdb_accounts_add_cond(void* db_conn, slurmdb_add_assoc_cond_t* add_assoc, slurmdb_account_rec_t* acct)
- List slurmdb_accounts_get(void* db_conn, slurmdb_account_cond_t* acct_cond)
+ list_t* slurmdb_accounts_get(void* db_conn, slurmdb_account_cond_t* acct_cond)
- List slurmdb_accounts_modify(void* db_conn, slurmdb_account_cond_t* acct_cond, slurmdb_account_rec_t* acct)
+ list_t* slurmdb_accounts_modify(void* db_conn, slurmdb_account_cond_t* acct_cond, slurmdb_account_rec_t* acct)
- List slurmdb_accounts_remove(void* db_conn, slurmdb_account_cond_t* acct_cond)
+ list_t* slurmdb_accounts_remove(void* db_conn, slurmdb_account_cond_t* acct_cond)
int slurmdb_archive(void* db_conn, slurmdb_archive_cond_t* arch_cond)
int slurmdb_archive_load(void* db_conn, slurmdb_archive_rec_t* arch_rec)
- int slurmdb_associations_add(void* db_conn, List assoc_list)
+ int slurmdb_associations_add(void* db_conn, list_t* assoc_list)
- List slurmdb_associations_get(void* db_conn, slurmdb_assoc_cond_t* assoc_cond)
+ list_t* slurmdb_associations_get(void* db_conn, slurmdb_assoc_cond_t* assoc_cond)
- List slurmdb_associations_modify(void* db_conn, slurmdb_assoc_cond_t* assoc_cond, slurmdb_assoc_rec_t* assoc)
+ list_t* slurmdb_associations_modify(void* db_conn, slurmdb_assoc_cond_t* assoc_cond, slurmdb_assoc_rec_t* assoc)
- List slurmdb_associations_remove(void* db_conn, slurmdb_assoc_cond_t* assoc_cond)
+ list_t* slurmdb_associations_remove(void* db_conn, slurmdb_assoc_cond_t* assoc_cond)
- int slurmdb_clusters_add(void* db_conn, List cluster_list)
+ int slurmdb_clusters_add(void* db_conn, list_t* cluster_list)
- List slurmdb_clusters_get(void* db_conn, slurmdb_cluster_cond_t* cluster_cond)
+ list_t* slurmdb_clusters_get(void* db_conn, slurmdb_cluster_cond_t* cluster_cond)
- List slurmdb_clusters_modify(void* db_conn, slurmdb_cluster_cond_t* cluster_cond, slurmdb_cluster_rec_t* cluster)
+ list_t* slurmdb_clusters_modify(void* db_conn, slurmdb_cluster_cond_t* cluster_cond, slurmdb_cluster_rec_t* cluster)
- List slurmdb_clusters_remove(void* db_conn, slurmdb_cluster_cond_t* cluster_cond)
+ list_t* slurmdb_clusters_remove(void* db_conn, slurmdb_cluster_cond_t* cluster_cond)
- List slurmdb_report_cluster_account_by_user(void* db_conn, slurmdb_assoc_cond_t* assoc_cond)
+ list_t* slurmdb_report_cluster_account_by_user(void* db_conn, slurmdb_assoc_cond_t* assoc_cond)
- List slurmdb_report_cluster_user_by_account(void* db_conn, slurmdb_assoc_cond_t* assoc_cond)
+ list_t* slurmdb_report_cluster_user_by_account(void* db_conn, slurmdb_assoc_cond_t* assoc_cond)
- List slurmdb_report_cluster_wckey_by_user(void* db_conn, slurmdb_wckey_cond_t* wckey_cond)
+ list_t* slurmdb_report_cluster_wckey_by_user(void* db_conn, slurmdb_wckey_cond_t* wckey_cond)
- List slurmdb_report_cluster_user_by_wckey(void* db_conn, slurmdb_wckey_cond_t* wckey_cond)
+ list_t* slurmdb_report_cluster_user_by_wckey(void* db_conn, slurmdb_wckey_cond_t* wckey_cond)
- List slurmdb_report_job_sizes_grouped_by_account(void* db_conn, slurmdb_job_cond_t* job_cond, List grouping_list, bool flat_view, bool acct_as_parent)
+ list_t* slurmdb_report_job_sizes_grouped_by_account(void* db_conn, slurmdb_job_cond_t* job_cond, list_t* grouping_list, bool flat_view, bool acct_as_parent)
- List slurmdb_report_job_sizes_grouped_by_wckey(void* db_conn, slurmdb_job_cond_t* job_cond, List grouping_list)
+ list_t* slurmdb_report_job_sizes_grouped_by_wckey(void* db_conn, slurmdb_job_cond_t* job_cond, list_t* grouping_list)
- List slurmdb_report_job_sizes_grouped_by_account_then_wckey(void* db_conn, slurmdb_job_cond_t* job_cond, List grouping_list, bool flat_view, bool acct_as_parent)
+ list_t* slurmdb_report_job_sizes_grouped_by_account_then_wckey(void* db_conn, slurmdb_job_cond_t* job_cond, list_t* grouping_list, bool flat_view, bool acct_as_parent)
- List slurmdb_report_user_top_usage(void* db_conn, slurmdb_user_cond_t* user_cond, bool group_accounts)
+ list_t* slurmdb_report_user_top_usage(void* db_conn, slurmdb_user_cond_t* user_cond, bool group_accounts)
void* slurmdb_connection_get(uint16_t* persist_conn_flags)
@@ -1012,29 +1021,29 @@ cdef extern from "slurm/slurmdb.h":
int slurmdb_connection_commit(void* db_conn, bool commit)
- int slurmdb_coord_add(void* db_conn, List acct_list, slurmdb_user_cond_t* user_cond)
+ int slurmdb_coord_add(void* db_conn, list_t* acct_list, slurmdb_user_cond_t* user_cond)
- List slurmdb_coord_remove(void* db_conn, List acct_list, slurmdb_user_cond_t* user_cond)
+ list_t* slurmdb_coord_remove(void* db_conn, list_t* acct_list, slurmdb_user_cond_t* user_cond)
- int slurmdb_federations_add(void* db_conn, List federation_list)
+ int slurmdb_federations_add(void* db_conn, list_t* federation_list)
- List slurmdb_federations_modify(void* db_conn, slurmdb_federation_cond_t* fed_cond, slurmdb_federation_rec_t* fed)
+ list_t* slurmdb_federations_modify(void* db_conn, slurmdb_federation_cond_t* fed_cond, slurmdb_federation_rec_t* fed)
- List slurmdb_federations_remove(void* db_conn, slurmdb_federation_cond_t* fed_cond)
+ list_t* slurmdb_federations_remove(void* db_conn, slurmdb_federation_cond_t* fed_cond)
- List slurmdb_federations_get(void* db_conn, slurmdb_federation_cond_t* fed_cond)
+ list_t* slurmdb_federations_get(void* db_conn, slurmdb_federation_cond_t* fed_cond)
- List slurmdb_job_modify(void* db_conn, slurmdb_job_cond_t* job_cond, slurmdb_job_rec_t* job)
+ list_t* slurmdb_job_modify(void* db_conn, slurmdb_job_cond_t* job_cond, slurmdb_job_rec_t* job)
- List slurmdb_jobs_get(void* db_conn, slurmdb_job_cond_t* job_cond)
+ list_t* slurmdb_jobs_get(void* db_conn, slurmdb_job_cond_t* job_cond)
- int slurmdb_jobs_fix_runaway(void* db_conn, List jobs)
+ int slurmdb_jobs_fix_runaway(void* db_conn, list_t* jobs)
int slurmdb_jobcomp_init()
int slurmdb_jobcomp_fini()
- List slurmdb_jobcomp_jobs_get(slurmdb_job_cond_t* job_cond)
+ list_t* slurmdb_jobcomp_jobs_get(slurmdb_job_cond_t* job_cond)
int slurmdb_reconfig(void* db_conn)
@@ -1044,23 +1053,23 @@ cdef extern from "slurm/slurmdb.h":
int slurmdb_get_stats(void* db_conn, slurmdb_stats_rec_t** stats_pptr)
- List slurmdb_config_get(void* db_conn)
+ list_t* slurmdb_config_get(void* db_conn)
- List slurmdb_events_get(void* db_conn, slurmdb_event_cond_t* event_cond)
+ list_t* slurmdb_events_get(void* db_conn, slurmdb_event_cond_t* event_cond)
- List slurmdb_instances_get(void* db_conn, slurmdb_instance_cond_t* instance_cond)
+ list_t* slurmdb_instances_get(void* db_conn, slurmdb_instance_cond_t* instance_cond)
- List slurmdb_problems_get(void* db_conn, slurmdb_assoc_cond_t* assoc_cond)
+ list_t* slurmdb_problems_get(void* db_conn, slurmdb_assoc_cond_t* assoc_cond)
- List slurmdb_reservations_get(void* db_conn, slurmdb_reservation_cond_t* resv_cond)
+ list_t* slurmdb_reservations_get(void* db_conn, slurmdb_reservation_cond_t* resv_cond)
- List slurmdb_txn_get(void* db_conn, slurmdb_txn_cond_t* txn_cond)
+ list_t* slurmdb_txn_get(void* db_conn, slurmdb_txn_cond_t* txn_cond)
- List slurmdb_get_info_cluster(char* cluster_names)
+ list_t* slurmdb_get_info_cluster(char* cluster_names)
int slurmdb_get_first_avail_cluster(job_desc_msg_t* req, char* cluster_names, slurmdb_cluster_rec_t** cluster_rec)
- int slurmdb_get_first_het_job_cluster(List job_req_list, char* cluster_names, slurmdb_cluster_rec_t** cluster_rec)
+ int slurmdb_get_first_het_job_cluster(list_t* job_req_list, char* cluster_names, slurmdb_cluster_rec_t** cluster_rec)
void slurmdb_destroy_assoc_usage(void* object)
@@ -1214,52 +1223,56 @@ cdef extern from "slurm/slurmdb.h":
void slurmdb_init_res_cond(slurmdb_res_cond_t* cluster, bool free_it)
- List slurmdb_get_hierarchical_sorted_assoc_list(List assoc_list)
+ int slurmdb_ping(char* rem_host)
+
+ slurmdbd_ping_t* slurmdb_ping_all()
+
+ list_t* slurmdb_get_hierarchical_sorted_assoc_list(list_t* assoc_list)
- List slurmdb_get_acct_hierarchical_rec_list(List assoc_list)
+ list_t* slurmdb_get_acct_hierarchical_rec_list(list_t* assoc_list)
- char* slurmdb_tree_name_get(char* name, char* parent, List tree_list)
+ char* slurmdb_tree_name_get(char* name, char* parent, list_t* tree_list)
- int slurmdb_res_add(void* db_conn, List res_list)
+ int slurmdb_res_add(void* db_conn, list_t* res_list)
- List slurmdb_res_get(void* db_conn, slurmdb_res_cond_t* res_cond)
+ list_t* slurmdb_res_get(void* db_conn, slurmdb_res_cond_t* res_cond)
- List slurmdb_res_modify(void* db_conn, slurmdb_res_cond_t* res_cond, slurmdb_res_rec_t* res)
+ list_t* slurmdb_res_modify(void* db_conn, slurmdb_res_cond_t* res_cond, slurmdb_res_rec_t* res)
- List slurmdb_res_remove(void* db_conn, slurmdb_res_cond_t* res_cond)
+ list_t* slurmdb_res_remove(void* db_conn, slurmdb_res_cond_t* res_cond)
- int slurmdb_qos_add(void* db_conn, List qos_list)
+ int slurmdb_qos_add(void* db_conn, list_t* qos_list)
- List slurmdb_qos_get(void* db_conn, slurmdb_qos_cond_t* qos_cond)
+ list_t* slurmdb_qos_get(void* db_conn, slurmdb_qos_cond_t* qos_cond)
- List slurmdb_qos_modify(void* db_conn, slurmdb_qos_cond_t* qos_cond, slurmdb_qos_rec_t* qos)
+ list_t* slurmdb_qos_modify(void* db_conn, slurmdb_qos_cond_t* qos_cond, slurmdb_qos_rec_t* qos)
- List slurmdb_qos_remove(void* db_conn, slurmdb_qos_cond_t* qos_cond)
+ list_t* slurmdb_qos_remove(void* db_conn, slurmdb_qos_cond_t* qos_cond)
- int slurmdb_tres_add(void* db_conn, List tres_list)
+ int slurmdb_tres_add(void* db_conn, list_t* tres_list)
- List slurmdb_tres_get(void* db_conn, slurmdb_tres_cond_t* tres_cond)
+ list_t* slurmdb_tres_get(void* db_conn, slurmdb_tres_cond_t* tres_cond)
int slurmdb_usage_get(void* db_conn, void* in_, int type, time_t start, time_t end)
- int slurmdb_usage_roll(void* db_conn, time_t sent_start, time_t sent_end, uint16_t archive_data, List* rollup_stats_list_in)
+ int slurmdb_usage_roll(void* db_conn, time_t sent_start, time_t sent_end, uint16_t archive_data, list_t** rollup_stats_list_in)
- int slurmdb_users_add(void* db_conn, List user_list)
+ int slurmdb_users_add(void* db_conn, list_t* user_list)
char* slurmdb_users_add_cond(void* db_conn, slurmdb_add_assoc_cond_t* add_assoc, slurmdb_user_rec_t* user)
- List slurmdb_users_add_conn(void* db_conn, slurmdb_user_rec_t* user, slurmdb_assoc_cond_t* assoc_cond, slurmdb_assoc_rec_t* assoc)
+ list_t* slurmdb_users_add_conn(void* db_conn, slurmdb_user_rec_t* user, slurmdb_assoc_cond_t* assoc_cond, slurmdb_assoc_rec_t* assoc)
- List slurmdb_users_get(void* db_conn, slurmdb_user_cond_t* user_cond)
+ list_t* slurmdb_users_get(void* db_conn, slurmdb_user_cond_t* user_cond)
- List slurmdb_users_modify(void* db_conn, slurmdb_user_cond_t* user_cond, slurmdb_user_rec_t* user)
+ list_t* slurmdb_users_modify(void* db_conn, slurmdb_user_cond_t* user_cond, slurmdb_user_rec_t* user)
- List slurmdb_users_remove(void* db_conn, slurmdb_user_cond_t* user_cond)
+ list_t* slurmdb_users_remove(void* db_conn, slurmdb_user_cond_t* user_cond)
- int slurmdb_wckeys_add(void* db_conn, List wckey_list)
+ int slurmdb_wckeys_add(void* db_conn, list_t* wckey_list)
- List slurmdb_wckeys_get(void* db_conn, slurmdb_wckey_cond_t* wckey_cond)
+ list_t* slurmdb_wckeys_get(void* db_conn, slurmdb_wckey_cond_t* wckey_cond)
- List slurmdb_wckeys_modify(void* db_conn, slurmdb_wckey_cond_t* wckey_cond, slurmdb_wckey_rec_t* wckey)
+ list_t* slurmdb_wckeys_modify(void* db_conn, slurmdb_wckey_cond_t* wckey_cond, slurmdb_wckey_rec_t* wckey)
- List slurmdb_wckeys_remove(void* db_conn, slurmdb_wckey_cond_t* wckey_cond)
+ list_t* slurmdb_wckeys_remove(void* db_conn, slurmdb_wckey_cond_t* wckey_cond)
diff --git a/pyslurm/version.py b/pyslurm/version.py
index a8060beb..9797941c 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.5.1"
+__version__ = "24.11.0"
diff --git a/setup.cfg b/setup.cfg
index 1a849c79..43c3b737 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -4,6 +4,6 @@ packager = Giovanni Torres
doc_files = README.md
examples/
build_requires = python3-devel >= 3.6
- slurm-devel >= 24.05.0
+ slurm-devel >= 24.11.0
requires = slurm
use_bzip2 = 1