Skip to content

Commit

Permalink
Support for Slurm 23.02.X (#277)
Browse files Browse the repository at this point in the history
  • Loading branch information
tazend committed Apr 7, 2023
1 parent 3b89325 commit f506d63
Show file tree
Hide file tree
Showing 10 changed files with 229 additions and 155 deletions.
12 changes: 6 additions & 6 deletions README.md
Expand Up @@ -12,7 +12,7 @@ PySlurm is the Python client library for the [Slurm](https://slurm.schedmd.com)
* [Python](https://www.python.org) - >= 3.6
* [Cython](https://cython.org) - >= 0.29.30 but < 3.0

This PySlurm branch is for the Slurm Major-Release 22.05
This PySlurm branch is for the Slurm Major-Release 23.02

## Installation

Expand All @@ -24,8 +24,8 @@ the corresponding paths to the necessary files.
You can specify these Paths with environment variables (recommended), for example:

```shell
export SLURM_INCLUDE_DIR=/opt/slurm/22.05/include
export SLURM_LIB_DIR=/opt/slurm/22.05/lib
export SLURM_INCLUDE_DIR=/opt/slurm/23.02/include
export SLURM_LIB_DIR=/opt/slurm/23.02/lib
```

Then you can proceed to install PySlurm, for example by cloning the Repository:
Expand All @@ -44,9 +44,9 @@ Also see `python setup.py --help`

PySlurm's versioning scheme follows the official Slurm versioning. The first
two numbers (MAJOR.MINOR) always correspond to Slurms Major-Release, for example
`22.05`. The last number (MICRO) is however not tied in any way to Slurms
MICRO version. For example, any PySlurm 22.05.X version should work with any
Slurm 22.05.X release.
`23.02`. The last number (MICRO) is however not tied in any way to Slurms
MICRO version. For example, any PySlurm 23.02.X version should work with any
Slurm 23.02.X release.

## Documentation

Expand Down
2 changes: 1 addition & 1 deletion pyslurm/__version__.py
@@ -1 +1 @@
__version__ = "22.5.1"
__version__ = "23.2.0"
2 changes: 0 additions & 2 deletions pyslurm/pydefines/slurm_defines.pxi
Expand Up @@ -157,7 +157,6 @@ PRIVATE_DATA_USAGE = slurm.PRIVATE_DATA_USAGE
PRIVATE_DATA_USERS = slurm.PRIVATE_DATA_USERS
PRIVATE_DATA_ACCOUNTS = slurm.PRIVATE_DATA_ACCOUNTS
PRIVATE_DATA_RESERVATIONS = slurm.PRIVATE_DATA_RESERVATIONS
PRIVATE_CLOUD_NODES = slurm.PRIVATE_CLOUD_NODES
PRIVATE_DATA_EVENTS = slurm.PRIVATE_DATA_EVENTS

PRIORITY_RESET_NONE = slurm.PRIORITY_RESET_NONE
Expand Down Expand Up @@ -329,7 +328,6 @@ DEBUG_FLAG_POWER = slurm.DEBUG_FLAG_POWER
DEBUG_FLAG_TIME_CRAY = slurm.DEBUG_FLAG_TIME_CRAY
DEBUG_FLAG_DB_ARCHIVE = slurm.DEBUG_FLAG_DB_ARCHIVE
DEBUG_FLAG_DB_TRES = slurm.DEBUG_FLAG_DB_TRES
DEBUG_FLAG_ESEARCH = slurm.DEBUG_FLAG_ESEARCH
DEBUG_FLAG_NODE_FEATURES = slurm.DEBUG_FLAG_NODE_FEATURES
DEBUG_FLAG_FEDR = slurm.DEBUG_FLAG_FEDR
DEBUG_FLAG_HETJOB = slurm.DEBUG_FLAG_HETJOB
Expand Down
6 changes: 0 additions & 6 deletions pyslurm/pydefines/slurm_enums.pxi
Expand Up @@ -52,8 +52,6 @@ WAIT_QOS_THRES = slurm.WAIT_QOS_THRES
WAIT_QOS_JOB_LIMIT = slurm.WAIT_QOS_JOB_LIMIT
WAIT_QOS_RESOURCE_LIMIT = slurm.WAIT_QOS_RESOURCE_LIMIT
WAIT_QOS_TIME_LIMIT = slurm.WAIT_QOS_TIME_LIMIT
WAIT_BLOCK_MAX_ERR = slurm.WAIT_BLOCK_MAX_ERR
WAIT_BLOCK_D_ACTION = slurm.WAIT_BLOCK_D_ACTION
WAIT_CLEANING = slurm.WAIT_CLEANING
WAIT_PROLOG = slurm.WAIT_PROLOG
WAIT_QOS = slurm.WAIT_QOS
Expand Down Expand Up @@ -260,11 +258,7 @@ SWITCH_PLUGIN_CRAY = slurm.SWITCH_PLUGIN_CRAY

# enum select_jobdata_type

SELECT_JOBDATA_PAGG_ID = slurm.SELECT_JOBDATA_PAGG_ID
SELECT_JOBDATA_PTR = slurm.SELECT_JOBDATA_PTR
SELECT_JOBDATA_CLEANING = slurm.SELECT_JOBDATA_CLEANING
SELECT_JOBDATA_NETWORK = slurm.SELECT_JOBDATA_NETWORK
SELECT_JOBDATA_RELEASED = slurm.SELECT_JOBDATA_RELEASED

# end enum select_jobdata_type

Expand Down
27 changes: 0 additions & 27 deletions pyslurm/pydefines/slurm_errno_enums.pxi
Expand Up @@ -56,8 +56,6 @@ ESLURM_NOT_SUPPORTED = slurm.ESLURM_NOT_SUPPORTED
ESLURM_DISABLED = slurm.ESLURM_DISABLED
ESLURM_DEPENDENCY = slurm.ESLURM_DEPENDENCY
ESLURM_BATCH_ONLY = slurm.ESLURM_BATCH_ONLY
ESLURM_TASKDIST_ARBITRARY_UNSUPPORTED = slurm.ESLURM_TASKDIST_ARBITRARY_UNSUPPORTED
ESLURM_TASKDIST_REQUIRES_OVERCOMMIT = slurm.ESLURM_TASKDIST_REQUIRES_OVERCOMMIT
ESLURM_JOB_HELD = slurm.ESLURM_JOB_HELD
ESLURM_INVALID_CRED_TYPE_CHANGE = slurm.ESLURM_INVALID_CRED_TYPE_CHANGE
ESLURM_INVALID_TASK_MEMORY = slurm.ESLURM_INVALID_TASK_MEMORY
Expand All @@ -79,9 +77,6 @@ ESLURM_PORTS_BUSY = slurm.ESLURM_PORTS_BUSY
ESLURM_PORTS_INVALID = slurm.ESLURM_PORTS_INVALID
ESLURM_PROLOG_RUNNING = slurm.ESLURM_PROLOG_RUNNING
ESLURM_NO_STEPS = slurm.ESLURM_NO_STEPS
ESLURM_INVALID_BLOCK_STATE = slurm.ESLURM_INVALID_BLOCK_STATE
ESLURM_INVALID_BLOCK_LAYOUT = slurm.ESLURM_INVALID_BLOCK_LAYOUT
ESLURM_INVALID_BLOCK_NAME = slurm.ESLURM_INVALID_BLOCK_NAME
ESLURM_INVALID_QOS = slurm.ESLURM_INVALID_QOS
ESLURM_QOS_PREEMPTION_LOOP = slurm.ESLURM_QOS_PREEMPTION_LOOP
ESLURM_NODE_NOT_AVAIL = slurm.ESLURM_NODE_NOT_AVAIL
Expand Down Expand Up @@ -141,53 +136,31 @@ ESLURM_INVALID_TIME_MIN_LIMIT = slurm.ESLURM_INVALID_TIME_MIN_LIMIT
ESLURM_DEFER = slurm.ESLURM_DEFER
ESLURM_CONFIGLESS_DISABLED = slurm.ESLURM_CONFIGLESS_DISABLED
ESLURM_ENVIRONMENT_MISSING = slurm.ESLURM_ENVIRONMENT_MISSING
ESLURMD_PIPE_ERROR_ON_TASK_SPAWN = slurm.ESLURMD_PIPE_ERROR_ON_TASK_SPAWN
ESLURMD_KILL_TASK_FAILED = slurm.ESLURMD_KILL_TASK_FAILED
ESLURMD_KILL_JOB_ALREADY_COMPLETE = slurm.ESLURMD_KILL_JOB_ALREADY_COMPLETE
ESLURMD_INVALID_ACCT_FREQ = slurm.ESLURMD_INVALID_ACCT_FREQ
ESLURMD_INVALID_JOB_CREDENTIAL = slurm.ESLURMD_INVALID_JOB_CREDENTIAL
ESLURMD_UID_NOT_FOUND = slurm.ESLURMD_UID_NOT_FOUND
ESLURMD_GID_NOT_FOUND = slurm.ESLURMD_GID_NOT_FOUND
ESLURMD_CREDENTIAL_EXPIRED = slurm.ESLURMD_CREDENTIAL_EXPIRED
ESLURMD_CREDENTIAL_REVOKED = slurm.ESLURMD_CREDENTIAL_REVOKED
ESLURMD_CREDENTIAL_REPLAYED = slurm.ESLURMD_CREDENTIAL_REPLAYED
ESLURMD_CREATE_BATCH_DIR_ERROR = slurm.ESLURMD_CREATE_BATCH_DIR_ERROR
ESLURMD_MODIFY_BATCH_DIR_ERROR = slurm.ESLURMD_MODIFY_BATCH_DIR_ERROR
ESLURMD_CREATE_BATCH_SCRIPT_ERROR = slurm.ESLURMD_CREATE_BATCH_SCRIPT_ERROR
ESLURMD_MODIFY_BATCH_SCRIPT_ERROR = slurm.ESLURMD_MODIFY_BATCH_SCRIPT_ERROR
ESLURMD_SETUP_ENVIRONMENT_ERROR = slurm.ESLURMD_SETUP_ENVIRONMENT_ERROR
ESLURMD_SHARED_MEMORY_ERROR = slurm.ESLURMD_SHARED_MEMORY_ERROR
ESLURMD_SET_UID_OR_GID_ERROR = slurm.ESLURMD_SET_UID_OR_GID_ERROR
ESLURMD_SET_SID_ERROR = slurm.ESLURMD_SET_SID_ERROR
ESLURMD_CANNOT_SPAWN_IO_THREAD = slurm.ESLURMD_CANNOT_SPAWN_IO_THREAD
ESLURMD_FORK_FAILED = slurm.ESLURMD_FORK_FAILED
ESLURMD_EXECVE_FAILED = slurm.ESLURMD_EXECVE_FAILED
ESLURMD_IO_ERROR = slurm.ESLURMD_IO_ERROR
ESLURMD_PROLOG_FAILED = slurm.ESLURMD_PROLOG_FAILED
ESLURMD_EPILOG_FAILED = slurm.ESLURMD_EPILOG_FAILED
ESLURMD_SESSION_KILLED = slurm.ESLURMD_SESSION_KILLED
ESLURMD_TOOMANYSTEPS = slurm.ESLURMD_TOOMANYSTEPS
ESLURMD_STEP_EXISTS = slurm.ESLURMD_STEP_EXISTS
ESLURMD_JOB_NOTRUNNING = slurm.ESLURMD_JOB_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
ESCRIPT_CHDIR_FAILED = slurm.ESCRIPT_CHDIR_FAILED
ESCRIPT_OPEN_OUTPUT_FAILED = slurm.ESCRIPT_OPEN_OUTPUT_FAILED
ESCRIPT_NON_ZERO_RETURN = slurm.ESCRIPT_NON_ZERO_RETURN
SLURM_PROTOCOL_SOCKET_IMPL_ZERO_RECV_LENGTH = slurm.SLURM_PROTOCOL_SOCKET_IMPL_ZERO_RECV_LENGTH
SLURM_PROTOCOL_SOCKET_IMPL_NEGATIVE_RECV_LENGTH = slurm.SLURM_PROTOCOL_SOCKET_IMPL_NEGATIVE_RECV_LENGTH
SLURM_PROTOCOL_SOCKET_IMPL_NOT_ALL_DATA_SENT = slurm.SLURM_PROTOCOL_SOCKET_IMPL_NOT_ALL_DATA_SENT
ESLURM_PROTOCOL_INCOMPLETE_PACKET = slurm.ESLURM_PROTOCOL_INCOMPLETE_PACKET
SLURM_PROTOCOL_SOCKET_IMPL_TIMEOUT = slurm.SLURM_PROTOCOL_SOCKET_IMPL_TIMEOUT
SLURM_PROTOCOL_SOCKET_ZERO_BYTES_SENT = slurm.SLURM_PROTOCOL_SOCKET_ZERO_BYTES_SENT
ESLURM_AUTH_CRED_INVALID = slurm.ESLURM_AUTH_CRED_INVALID
ESLURM_AUTH_FOPEN_ERROR = slurm.ESLURM_AUTH_FOPEN_ERROR
ESLURM_AUTH_NET_ERROR = slurm.ESLURM_AUTH_NET_ERROR
ESLURM_AUTH_UNABLE_TO_SIGN = slurm.ESLURM_AUTH_UNABLE_TO_SIGN
ESLURM_AUTH_BADARG = slurm.ESLURM_AUTH_BADARG
ESLURM_AUTH_MEMORY = slurm.ESLURM_AUTH_MEMORY
ESLURM_AUTH_INVALID = slurm.ESLURM_AUTH_INVALID
ESLURM_AUTH_UNPACK = slurm.ESLURM_AUTH_UNPACK
ESLURM_DB_CONNECTION = slurm.ESLURM_DB_CONNECTION
ESLURM_JOBS_RUNNING_ON_ASSOC = slurm.ESLURM_JOBS_RUNNING_ON_ASSOC
Expand Down
1 change: 0 additions & 1 deletion pyslurm/pydefines/slurmdb_defines.pxi
Expand Up @@ -60,7 +60,6 @@ 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_A1 = slurm.CLUSTER_FLAG_A1
CLUSTER_FLAG_A2 = slurm.CLUSTER_FLAG_A2
CLUSTER_FLAG_A3 = slurm.CLUSTER_FLAG_A3
CLUSTER_FLAG_A4 = slurm.CLUSTER_FLAG_A4
Expand Down
6 changes: 0 additions & 6 deletions pyslurm/pyslurm.pyx
Expand Up @@ -641,8 +641,6 @@ cdef class config:
Ctl_dict['keep_alive_time'] = slurm.int16orNone(self.__Config_ptr.keepalive_time)
Ctl_dict['kill_on_bad_exit'] = bool(self.__Config_ptr.kill_on_bad_exit)
Ctl_dict['kill_wait'] = self.__Config_ptr.kill_wait
Ctl_dict['launch_params'] = slurm.stringOrNone(self.__Config_ptr.launch_type, '')
Ctl_dict['launch_type'] = slurm.stringOrNone(self.__Config_ptr.launch_type, '')
Ctl_dict['licenses'] = __get_licenses(self.__Config_ptr.licenses)
Ctl_dict['log_fmt'] = self.__Config_ptr.log_fmt
Ctl_dict['mail_domain'] = slurm.stringOrNone(self.__Config_ptr.mail_domain, '')
Expand Down Expand Up @@ -738,7 +736,6 @@ cdef class config:
# TODO: slurmctld_host
Ctl_dict['slurmctld_logfile'] = slurm.stringOrNone(self.__Config_ptr.slurmctld_logfile, '')
Ctl_dict['slurmctld_pidfile'] = slurm.stringOrNone(self.__Config_ptr.slurmctld_pidfile, '')
Ctl_dict['slurmctld_plugstack'] = slurm.stringOrNone(self.__Config_ptr.slurmctld_plugstack, '')
Ctl_dict['slurmctld_port'] = self.__Config_ptr.slurmctld_port
Ctl_dict['slurmctld_port_count'] = self.__Config_ptr.slurmctld_port_count
Ctl_dict['slurmctld_primary_off_prog'] = slurm.stringOrNone(self.__Config_ptr.slurmctld_primary_off_prog, '')
Expand Down Expand Up @@ -6297,9 +6294,6 @@ cdef inline list debug_flags2str(uint64_t debug_flags):
if (debug_flags & DEBUG_FLAG_DB_WCKEY):
debugFlags.append('DB_WCKey')
if (debug_flags & DEBUG_FLAG_ESEARCH):
debugFlags.append('Elasticsearch')
if (debug_flags & DEBUG_FLAG_ENERGY):
debugFlags.append('Energy')
Expand Down

0 comments on commit f506d63

Please sign in to comment.