Added
- Support for Slurm 25.11.x
- Added new member
metrics_typetopyslurm.slurmctld.Config - The following new members have been added to the
pyslurm.Jobclass:submit_session_idallocated_licensescontainer_idkill_step_when_oomsubmit_lineextrafailed_node
Fixed
- Fixed an issue when parsing additional configs like
cgroup.conformpi.confwhen loading the slurm configuration withpyslurm.slurmctld.Config.load()
Changed
- Split up
prolog_epilog_timeoutinprolog_timeoutandepilog_timeoutinpyslurm.slurmctld.Config - Renamed
job_container_typetonamespace_plugininpyslurm.slurmctld.Config - The
uid_to_nameandgid_to_namefunctions that are used in a few places now don't error by default if the user/group doesn't exist anymore.
Now, if the user/group is gone already, the UID/GID is simply returned as astr.
Removed
-
Removed member
accounting_storage_userfrompyslurm.slurmctld.Config -
Removed
preempt_modefrom deprecated classpyslurm.qos- class will be replaced soon. -
Removed deprecated functions from the old API:
pyslurm.slurm_signal_job_step- usesend_signal()method onpyslurm.JobSteppyslurm.slurm_complete_jobpyslurm.slurm_terminate_job_steppyslurm.slurm_kill_job_step- usecancel()frompyslurm.JobSteppyslurm.slurm_ping- usepyslurm.slurmctld.ping(),pyslurm.slurmctld.ping_all(),pyslurm.slurmctld.ping_primary()orpyslurm.slurmctld.ping_backup()pyslurm.reconfigure- usepyslurm.slurmctld.reconfigure()pyslurm.slurm_shutdown- usepyslurm.slurmctld.shutdown()pyslurm.slurm_takeover- usepyslurm.slurmctld.takeover()pyslurm.slurm_set_debug_level- usepyslurm.slurmctld.set_log_level()pyslurm.slurm_set_debugflags- usepyslurm.slurmctld.add_debug_flags()pyslurm.slurm_set_schedlog_level- usepyslurm.slurmctld.enable_scheduler_logging()pyslurm.slurm_suspend- usesuspend()method onpyslurm.Jobpyslurm.slurm_resume- useunsuspend()method onpyslurm.Jobpyslurm.slurm_requeue- userequeue()method onpyslurm.Jobpyslurm.slurm_signal_job- usesend_signal()method on eitherpyslurm.Joborpyslurm.JobSteppyslurm.slurm_kill_job- usesend_signal()orcancel()method on eitherpyslurm.Joborpyslurm.JobSteppyslurm.slurm_kill_job2pyslurm.slurm_notify_job- usenotify()method onpyslurm.Jobpyslurm.get_job_state_reason- accessstate_reasonmember on apyslurm.Jobinstance (Job info must be loaded first)pyslurm.get_job_state- accessstatemember on apyslurm.Jobinstance (Job info must be loaded first)pyslurm.get_partition_state- accessstatemember on apyslurm.Partitioninstance (Partition info must be loaded first)pyslurm.get_preempt_mode- runpyslurm.slurmctld.Config.load()and accesspreempt_modememberpyslurm.get_node_state- accessstatemember on apyslurm.Nodeinstance (Node info must be loaded first)pyslurm.get_debug_flags- usepyslurm.slurmctld.get_debug_flags()pyslurm.get_node_use- just returned the node state, which is redundantpyslurm.get_last_slurm_error- usepyslurm.error.get_last_slurm_error()pyslurm.mins2time_str- usepyslurm.utils.mins_to_timestrpyslurm.secs2time_str- usepyslurm.utils.secs_to_timestrpyslurm.get_private_data_list- runpyslurm.slurmctld.Config.load()and accessprivate_datamember
-
Removed the following long deprecated old-api classes:
pyslurm.jobstep- usepyslurm.JobStepandpyslurm.JobStepspyslurm.statisticsusepyslurm.slurmctld.diag()to getpyslurm.slurmctld.Statisticspyslurm.job- usepyslurm.Job,pyslurm.Jobsandpyslurm.JobSubmitDescriptionpyslurm.reservation- usepyslurm.Reservationandpyslurm.Reservations
Reason for the removal: interfering with upgrades, and the fact that they haven't
been maintained in years anyway and better documented replacement classes are available.
Also speeds up compilation time.