github PySlurm/pyslurm v25.11.0

5 hours ago

Added

  • Support for Slurm 25.11.x
  • Added new member metrics_type to pyslurm.slurmctld.Config
  • The following new members have been added to the pyslurm.Job class:
    • submit_session_id
    • allocated_licenses
    • container_id
    • kill_step_when_oom
    • submit_line
    • extra
    • failed_node

Fixed

  • Fixed an issue when parsing additional configs like cgroup.conf or mpi.conf when loading the slurm configuration with pyslurm.slurmctld.Config.load()

Changed

  • Split up prolog_epilog_timeout in prolog_timeout and epilog_timeout in pyslurm.slurmctld.Config
  • Renamed job_container_type to namespace_plugin in pyslurm.slurmctld.Config
  • The uid_to_name and gid_to_name functions 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 a str.

Removed

  • Removed member accounting_storage_user from pyslurm.slurmctld.Config

  • Removed preempt_mode from deprecated class pyslurm.qos - class will be replaced soon.

  • Removed deprecated functions from the old API:

    • pyslurm.slurm_signal_job_step - use send_signal() method on pyslurm.JobStep
    • pyslurm.slurm_complete_job
    • pyslurm.slurm_terminate_job_step
    • pyslurm.slurm_kill_job_step - use cancel() from pyslurm.JobStep
    • pyslurm.slurm_ping - use pyslurm.slurmctld.ping(), pyslurm.slurmctld.ping_all(), pyslurm.slurmctld.ping_primary() or pyslurm.slurmctld.ping_backup()
    • pyslurm.reconfigure - use pyslurm.slurmctld.reconfigure()
    • pyslurm.slurm_shutdown - use pyslurm.slurmctld.shutdown()
    • pyslurm.slurm_takeover - use pyslurm.slurmctld.takeover()
    • pyslurm.slurm_set_debug_level - use pyslurm.slurmctld.set_log_level()
    • pyslurm.slurm_set_debugflags - use pyslurm.slurmctld.add_debug_flags()
    • pyslurm.slurm_set_schedlog_level - use pyslurm.slurmctld.enable_scheduler_logging()
    • pyslurm.slurm_suspend - use suspend() method on pyslurm.Job
    • pyslurm.slurm_resume - use unsuspend() method on pyslurm.Job
    • pyslurm.slurm_requeue - use requeue() method on pyslurm.Job
    • pyslurm.slurm_signal_job - use send_signal() method on either pyslurm.Job or pyslurm.JobStep
    • pyslurm.slurm_kill_job - use send_signal() or cancel() method on either pyslurm.Job or pyslurm.JobStep
    • pyslurm.slurm_kill_job2
    • pyslurm.slurm_notify_job - use notify() method on pyslurm.Job
    • pyslurm.get_job_state_reason - access state_reason member on a pyslurm.Job instance (Job info must be loaded first)
    • pyslurm.get_job_state - access state member on a pyslurm.Job instance (Job info must be loaded first)
    • pyslurm.get_partition_state - access state member on a pyslurm.Partition instance (Partition info must be loaded first)
    • pyslurm.get_preempt_mode - run pyslurm.slurmctld.Config.load() and access preempt_mode member
    • pyslurm.get_node_state - access state member on a pyslurm.Node instance (Node info must be loaded first)
    • pyslurm.get_debug_flags - use pyslurm.slurmctld.get_debug_flags()
    • pyslurm.get_node_use - just returned the node state, which is redundant
    • pyslurm.get_last_slurm_error - use pyslurm.error.get_last_slurm_error()
    • pyslurm.mins2time_str - use pyslurm.utils.mins_to_timestr
    • pyslurm.secs2time_str - use pyslurm.utils.secs_to_timestr
    • pyslurm.get_private_data_list - run pyslurm.slurmctld.Config.load() and access private_data member
  • Removed the following long deprecated old-api classes:

    • pyslurm.jobstep - use pyslurm.JobStep and pyslurm.JobSteps
    • pyslurm.statistics use pyslurm.slurmctld.diag() to get pyslurm.slurmctld.Statistics
    • pyslurm.job - use pyslurm.Job, pyslurm.Jobs and pyslurm.JobSubmitDescription
    • pyslurm.reservation - use pyslurm.Reservation and pyslurm.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.

Don't miss a new pyslurm release

NewReleases is sending notifications on new releases.