Slurm::Constant(3)

πŸ’– Slurm::Constant(3) πŸ’–

from User Contributed Perl Documentation

okay bestie, this is Slurm::Constant, and it is part 1 of 2 🫢. We're talking constants for use with Slurm β€” enumerations, defined macros, all the little named values β€” and they get exported to package Slurm and to whatever package says use Slurm qw(:constant); ✨. No cap, this page is long, but every constant is coming through in the original order πŸ’….

πŸŽ€ NAME πŸŽ€

Slurm::Constant β€” constants for use with Slurm. That's the whole name vibe, periodt πŸ‘‘.

🌸 SYNOPSIS 🌸

Here's the synopsis, copied exactly β€” no edits from me:

use Slurm qw(:constant);

if ($rc != SLURM_SUCCESS {
        print STDERR "action failed!\n";
}

πŸ¦‹ DESCRIPTION πŸ¦‹

So this package exports constants for use with Slurm, bestie. That includes enumerations and defined macros. The constants get exported to package Slurm and the package which use Slurm qw(:constant); β€” yes, both πŸ’–. If you're in that :constant club, these names show up ready to use like little pre-made values πŸ‘‘.

✨ EXPORTED CONSTANTS ✨

This is the big main-character list. We're keeping the original order and every single name/value, fr fr.

🧚 DEFINED MACROS 🧚

Macros, constants, defined little values β€” here we go.

Misc values

Misc values first β€” the foundational besties:

  • TRUE β€” 1
  • FALSE β€” 0
  • INFINITE β€” 0xffffffff
  • INFINITE64 β€” 0xffffffffffffffff
  • NO_VAL β€” 0xfffffffe
  • NO_VAL64 β€” 0xfffffffffffffffe
  • MAX_TASKS_PER_NODE β€” 128
  • SLURM_BATCH_SCRIPT β€” 0xfffffffe

Job state flags

Job state flags, all lined up like little status stickers:

  • JOB_STATE_BASE β€” 0x000000ff
  • JOB_STATE_FLAGS β€” 0xffffff00
  • JOB_COMPLETING β€” 0x00008000
  • JOB_CONFIGURING β€” 0x00004000
  • JOB_RESIZING β€” 0x00002000
  • JOB_SIGNALING β€” 0x00400000
  • READY_JOB_FATAL β€” -2
  • READY_JOB_ERROR β€” -1
  • READY_NODE_STATE β€” 0x01
  • READY_JOB_STATE β€” 0x02

Job mail notification

Mail notification constants, because sometimes the job wants to send a little update:

  • MAIL_JOB_BEGIN β€” 0x0001
  • MAIL_JOB_END β€” 0x0002
  • MAIL_JOB_FAIL β€” 0x0004
  • MAIL_JOB_REQUEUE β€” 0x0008
  • MAIL_INVALID_DEPEND β€” 0x0400

Offset for job's nice value

Just one little offset here:

  • NICE_OFFSET β€” 0x80000000

Partition state flags

Partition state flags, doing their partition-state thing:

  • PARTITION_SUBMIT β€” 0x01
  • PARTITION_SCHED β€” 0x02
  • PARTITION_DOWN β€” 0x01
  • PARTITION_UP β€” 0x03
  • PARTITION_DRAIN β€” 0x02
  • PARTITION_INACTIVE β€” 0x00

Open stdout/stderr mode

Open mode values for stdout/stderr, short and sweet:

  • OPEN_MODE_APPEND β€” 1
  • OPEN_MODE_TRUNCATE β€” 2

Node state flags

Node state flags β€” yes, there are a bunch, and yes, they all matter:

  • NODE_STATE_BASE β€” 0x000f
  • NODE_STATE_FLAGS β€” 0xfff0
  • NODE_STATE_RES β€” 0x0020
  • NODE_STATE_UNDRAIN β€” 0x0040
  • NODE_STATE_CLOUD β€” 0x0080
  • NODE_RESUME β€” 0x0100
  • NODE_STATE_DRAIN β€” 0x0200
  • NODE_STATE_COMPLETING β€” 0x0400
  • NODE_STATE_NO_RESPOND β€” 0x0800
  • NODE_STATE_POWERED_DOWN β€” 0x1000
  • NODE_STATE_FAIL β€” 0x2000
  • NODE_STATE_POWER_UP β€” 0x4000
  • NODE_STATE_MAINT β€” 0x8000

show_flags of slurm_get_/slurm_load_ function calls

These are the show_flags values for slurm_get_/slurm_load_ function calls:

  • SHOW_ALL β€” 0x0001
  • SHOW_DETAIL β€” 0x0002

Consumerable resources parameters

Consumerable resources parameters β€” keeping the original spelling, bestie:

  • CR_CPU β€” 0x0001
  • CR_SOCKET β€” 0x0002
  • CR_CORE β€” 0x0004
  • CR_MEMORY β€” 0x0010
  • CR_ONE_TASK_PER_CORE β€” 0x0100
  • CR_CORE_DEFAULT_DIST_BLOCK β€” 0x1000
  • MEM_PER_CPU β€” 0x8000000000000000
  • SHARED_FORCE β€” 0x8000

Private data values

Private data values, one for each little data category:

  • PRIVATE_DATA_JOBS β€” 0x0001
  • PRIVATE_DATA_NODES β€” 0x0002
  • PRIVATE_DATA_PARTITIONS β€” 0x0004
  • PRIVATE_DATA_USAGE β€” 0x0008
  • PRIVATE_DATA_USERS β€” 0x0010
  • PRIVATE_DATA_ACCOUNTS β€” 0x0020
  • PRIVATE_DATA_RESERVATIONS β€” 0x0040

Priority reset period

Priority reset periods β€” from none to yearly:

  • PRIORITY_RESET_NONE β€” 0x0000
  • PRIORITY_RESET_NOW β€” 0x0001
  • PRIORITY_RESET_DAILY β€” 0x0002
  • PRIORITY_RESET_WEEKLY β€” 0x0003
  • PRIORITY_RESET_MONTHLY β€” 0x0004
  • PRIORITY_RESET_QUARTERLY β€” 0x0005
  • PRIORITY_RESET_YEARLY β€” 0x0006

Process priority propagation

Process priority propagation values:

  • PROP_PRIO_OFF β€” 0x0000
  • PROP_PRIO_ON β€” 0x0001
  • PROP_PRIO_NICER β€” 0x0002

Partition state information

Partition state information flags, including the _CLR crew:

  • PART_FLAG_DEFAULT β€” 0x0001
  • PART_FLAG_HIDDEN β€” 0x0002
  • PART_FLAG_NO_ROOT β€” 0x0004
  • PART_FLAG_ROOT_ONLY β€” 0x0008
  • PART_FLAG_DEFAULT_CLR β€” 0x0100
  • PART_FLAG_HIDDEN_CLR β€” 0x0200
  • PART_FLAG_NO_ROOT_CLR β€” 0x0400
  • PART_FLAG_ROOT_ONLY_CLR β€” 0x0800

Reservation flags

Reservation flags β€” lots of them, all accounted for:

  • RESERVE_FLAG_MAINT β€” 0x00000001
  • RESERVE_FLAG_NO_MAINT β€” 0x00000002
  • RESERVE_FLAG_DAILY β€” 0x00000004
  • RESERVE_FLAG_NO_DAILY β€” 0x00000008
  • RESERVE_FLAG_WEEKLY β€” 0x00000010
  • RESERVE_FLAG_NO_WEEKLY β€” 0x00000020
  • RESERVE_FLAG_IGN_JOBS β€” 0x00000040
  • RESERVE_FLAG_NO_IGN_JOB β€” 0x00000080
  • RESERVE_FLAG_OVERLAP β€” 0x00004000
  • RESERVE_FLAG_SPEC_NODES β€” 0x00008000
  • RESERVE_FLAG_HOURLY β€” 0x00010000
  • RESERVE_FLAG_NO_HOURLY β€” 0x00020000

Log debug flags

Log debug flags β€” the whole debug-flag lineup:

  • DEBUG_FLAG_SELECT_TYPE β€” 0x00000001
  • DEBUG_FLAG_STEPS β€” 0x00000002
  • DEBUG_FLAG_TRIGGERS β€” 0x00000004
  • DEBUG_FLAG_CPU_BIND β€” 0x00000008
  • DEBUG_FLAG_WIKI β€” 0x00000010
  • DEBUG_FLAG_NO_CONF_HASH β€” 0x00000020
  • DEBUG_FLAG_GRES β€” 0x00000040
  • DEBUG_FLAG_BG_PICK β€” 0x00000080
  • DEBUG_FLAG_BG_WIRES β€” 0x00000100
  • DEBUG_FLAG_BG_ALGO β€” 0x00000200
  • DEBUG_FLAG_BG_ALGO_DEEP β€” 0x00000400
  • DEBUG_FLAG_PRIO β€” 0x00000800
  • DEBUG_FLAG_BACKFILL β€” 0x00001000
  • DEBUG_FLAG_GANG β€” 0x00002000
  • DEBUG_FLAG_RESERVATION β€” 0x00004000

Preempt mode

Preempt mode values:

  • PREEMPT_MODE_OFF β€” 0x0000
  • PREEMPT_MODE_SUSPEND β€” 0x0001
  • PREEMPT_MODE_REQUEUE β€” 0x0002
  • PREEMPT_MODE_CANCEL β€” 0x0008
  • PREEMPT_MODE_GANG β€” 0x8000

Trigger type

Trigger resource types and trigger types β€” both sets, no skipping:

Trigger resource types

  • TRIGGER_RES_TYPE_JOB β€” 0x0001
  • TRIGGER_RES_TYPE_NODE β€” 0x0002
  • TRIGGER_RES_TYPE_SLURMCTLD β€” 0x0003
  • TRIGGER_RES_TYPE_SLURMDBD β€” 0x0004
  • TRIGGER_RES_TYPE_DATABASE β€” 0x0005

Trigger types

  • TRIGGER_TYPE_UP β€” 0x00000001
  • TRIGGER_TYPE_DOWN β€” 0x00000002
  • TRIGGER_TYPE_FAIL β€” 0x00000004
  • TRIGGER_TYPE_TIME β€” 0x00000008
  • TRIGGER_TYPE_FINI β€” 0x00000010
  • TRIGGER_TYPE_RECONFIG β€” 0x00000020
  • TRIGGER_TYPE_BLOCK_ERR β€” 0x00000040
  • TRIGGER_TYPE_IDLE β€” 0x00000080
  • TRIGGER_TYPE_DRAINED β€” 0x00000100
  • TRIGGER_TYPE_PRI_CTLD_FAIL β€” 0x00000200
  • TRIGGER_TYPE_PRI_CTLD_RES_OP β€” 0x00000400
  • TRIGGER_TYPE_PRI_CTLD_RES_CTRL β€” 0x00000800
  • TRIGGER_TYPE_PRI_CTLD_ACCT_FULL β€” 0x00001000
  • TRIGGER_TYPE_BU_CTLD_FAIL β€” 0x00002000
  • TRIGGER_TYPE_BU_CTLD_RES_OP β€” 0x00004000
  • TRIGGER_TYPE_BU_CTLD_AS_CTRL β€” 0x00008000
  • TRIGGER_TYPE_PRI_DBD_FAIL β€” 0x00010000
  • TRIGGER_TYPE_PRI_DBD_RES_OP β€” 0x00020000
  • TRIGGER_TYPE_PRI_DB_FAIL β€” 0x00040000
  • TRIGGER_TYPE_PRI_DB_RES_OP β€” 0x00080000
  • TRIGGER_TYPE_BURST_BUFFER β€” 0x00100000
  • TRIGGER_TYPE_DRAINING β€” 0x00200000
  • TRIGGER_TYPE_RESUME β€” 0x00400000

🌈 Enumerations 🌈

Enumerations now β€” the numbered besties:

Job states

Job states, from pending to end:

  • JOB_PENDING β€” 0
  • JOB_RUNNING β€” 1
  • JOB_SUSPENDED β€” 2
  • JOB_COMPLETE β€” 3
  • JOB_CANCELLED β€” 4
  • JOB_FAILED β€” 5
  • JOB_TIMEOUT β€” 6
  • JOB_NODE_FAIL β€” 7
  • JOB_PREEMPTED β€” 8
  • JOB_BOOT_FAIL β€” 9
  • JOB_END β€” 10

Job state reason

Job state reasons β€” yes, all of them, from WAIT_NO_REASON all the way to WAIT_QOS_THRES:

  • WAIT_NO_REASON β€” 0
  • WAIT_PRIORITY β€” 1
  • WAIT_DEPENDENCY β€” 2
  • WAIT_RESOURCES β€” 3
  • WAIT_PART_NODE_LIMIT β€” 4
  • WAIT_PART_TIME_LIMIT β€” 5
  • WAIT_PART_DOWN β€” 6
  • WAIT_PART_INACTIVE β€” 7
  • WAIT_HELD β€” 8
  • WAIT_TIME β€” 9
  • WAIT_LICENSES β€” 10
  • WAIT_ASSOC_JOB_LIMIT β€” 11
  • WAIT_ASSOC_RESOURCE_LIMIT β€” 12
  • WAIT_ASSOC_TIME_LIMIT β€” 13
  • WAIT_RESERVATION β€” 14
  • WAIT_NODE_NOT_AVAIL β€” 15
  • WAIT_HELD_USER β€” 16
  • WAIT_TBD2 β€” 17
  • FAIL_DOWN_PARTITION β€” 18
  • FAIL_DOWN_NODE β€” 19
  • FAIL_BAD_CONSTRAINTS β€” 20
  • FAIL_SYSTEM β€” 21
  • FAIL_LAUNCH β€” 22
  • FAIL_EXIT_CODE β€” 23
  • FAIL_TIMEOUT β€” 24
  • FAIL_INACTIVE_LIMIT β€” 25
  • FAIL_ACCOUNT β€” 26
  • FAIL_QOS β€” 27
  • WAIT_QOS_THRES β€” 28

Job account types

Job account types:

  • JOB_START β€” 0
  • JOB_STEP β€” 1
  • JOB_SUSPEND β€” 2
  • JOB_TERMINATED β€” 3

Job Condition Flags

Job Condition Flags β€” including the HETJOB ones, exactly as written:

  • JOBCOND_FLAG_DUP β€” 0x00000001
  • JOBCOND_FLAG_NO_STEP β€” 0x00000002
  • JOBCOND_FLAG_NO_TRUNC β€” 0x00000004
  • JOBCOND_FLAG_RUNAWAY β€” 0x00000008
  • JOBCOND_FLAG_WHOLE_HETJOB β€” 0x00000010
  • JOBCOND_FLAG_NO_WHOLE_HETJOB β€” 0x00000020

Select nodedata type

Select nodedata type values:

  • SELECT_NODEDATA_SUBCNT β€” 2
  • SELECT_NODEDATA_PTR β€” 5

Select print mode

Select print modes, from head to resv id:

  • SELECT_PRINT_HEAD β€” 0
  • SELECT_PRINT_DATA β€” 1
  • SELECT_PRINT_MIXED β€” 2
  • SELECT_PRINT_MIXED_SHORT β€” 3
  • SELECT_PRINT_BG_ID β€” 4
  • SELECT_PRINT_NODES β€” 5
  • SELECT_PRINT_CONNECTION β€” 6
  • SELECT_PRINT_ROTATE β€” 7
  • SELECT_PRINT_GEOMETRY β€” 8
  • SELECT_PRINT_START β€” 9
  • SELECT_PRINT_BLRTS_IMAGE β€” 10
  • SELECT_PRINT_LINUX_IMAGE β€” 11
  • SELECT_PRINT_MLOADER_IMAGE β€” 12
  • SELECT_PRINT_RAMDISK_IMAGE β€” 13
  • SELECT_PRINT_REBOOT β€” 14
  • SELECT_PRINT_RESV_ID β€” 15

Select node cnt

Select node cnt values:

  • SELECT_GET_NODE_SCALING β€” 0
  • SELECT_GET_NODE_CPU_CNT β€” 1
  • SELECT_GET_BP_CPU_CNT β€” 2
  • SELECT_APPLY_NODE_MIN_OFFSET β€” 3
  • SELECT_APPLY_NODE_MAX_OFFSET β€” 4
  • SELECT_SET_NODE_CNT β€” 5
  • SELECT_SET_BP_CNT β€” 6

Jobacct data type

Jobacct data types β€” all the totals, maxes, and IDs:

  • JOBACCT_DATA_TOTAL β€” 0
  • JOBACCT_DATA_PIPE β€” 1
  • JOBACCT_DATA_RUSAGE β€” 2
  • JOBACCT_DATA_MAX_VSIZE β€” 3
  • JOBACCT_DATA_MAX_VSIZE_ID β€” 4
  • JOBACCT_DATA_TOT_VSIZE β€” 5
  • JOBACCT_DATA_MAX_RSS β€” 6
  • JOBACCT_DATA_MAX_RSS_ID β€” 7
  • JOBACCT_DATA_TOT_RSS β€” 8
  • JOBACCT_DATA_MAX_PAGES β€” 9
  • JOBACCT_DATA_MAX_PAGES_ID β€” 10
  • JOBACCT_DATA_TOT_PAGES β€” 11
  • JOBACCT_DATA_MIN_CPU β€” 12
  • JOBACCT_DATA_MIN_CPU_ID β€” 13
  • JOBACCT_DATA_TOT_CPU β€” 14

TRES Records

TRES Records β€” the final little crew in part 1:

  • TRES_CPU β€” 1
  • TRES_MEM β€” 2
  • TRES_ENERGY β€” 3
  • TRES_NODE β€” 4
  • TRES_BILLING β€” 5
  • TRES_FS_DISK β€” 6
  • TRES_VMEM β€” 7
  • TRES_PAGES β€” 8

πŸŒ€ Task distribution πŸŒ€

okay so these are the little ints that tell Slurm how to hand out tasks across nodes, bestie, no cap:

  • SLURM_DIST_CYCLIC β€” 1
  • SLURM_DIST_BLOCK β€” 2
  • SLURM_DIST_ARBITRARY β€” 3
  • SLURM_DIST_PLANE β€” 4
  • SLURM_DIST_CYCLIC_CYCLIC β€” 5
  • SLURM_DIST_CYCLIC_BLOCK β€” 6
  • SLURM_DIST_BLOCK_CYCLIC β€” 7
  • SLURM_DIST_BLOCK_BLOCK β€” 8
  • SLURM_NO_LLLP_DIST β€” 9
  • SLURM_DIST_UNKNOWN β€” 10

πŸ’… CPU bind type πŸ’…

these are bit flags (hex, periodt β€” do not treat them like plain counters, that's the whole vibe check):

  • CPU_BIND_VERBOSE β€” 0x01
  • CPU_BIND_TO_THREADS β€” 0x02
  • CPU_BIND_TO_CORES β€” 0x04
  • CPU_BIND_TO_SOCKETS β€” 0x08
  • CPU_BIND_TO_LDOMS β€” 0x10
  • CPU_BIND_NONE β€” 0x20
  • CPU_BIND_RANK β€” 0x40
  • CPU_BIND_MAP β€” 0x80
  • CPU_BIND_MASK β€” 0x100
  • CPU_BIND_LDRANK β€” 0x200
  • CPU_BIND_LDMAP β€” 0x400
  • CPU_BIND_LDMASK β€” 0x800

🧠 Memory bind type 🧠

same energy, also flags, also hex ✨:

  • MEM_BIND_VERBOSE β€” 0x01
  • MEM_BIND_NONE β€” 0x02
  • MEM_BIND_RANK β€” 0x04
  • MEM_BIND_MAP β€” 0x08
  • MEM_BIND_MASK β€” 0x10
  • MEM_BIND_LOCAL β€” 0x20

πŸ–₯️ Node state πŸ–₯️

the whole node mood ring, lowkey:

  • NODE_STATE_UNKNOWN β€” 0
  • NODE_STATE_DOWN β€” 1
  • NODE_STATE_IDLE β€” 2
  • NODE_STATE_ALLOCATED β€” 3
  • NODE_STATE_ERROR β€” 4
  • NODE_STATE_MIXED β€” 5
  • NODE_STATE_FUTURE β€” 6
  • NODE_STATE_END β€” 7

πŸ”‘ Ctx keys πŸ”‘

these are the indexes into the step context, iykyk 🫢:

  • SLURM_STEP_CTX_STEPID β€” 0
  • SLURM_STEP_CTX_TASKS β€” 1
  • SLURM_STEP_CTX_TID β€” 2
  • SLURM_STEP_CTX_RESP β€” 3
  • SLURM_STEP_CTX_CRED β€” 4
  • SLURM_STEP_CTX_SWITCH_JOB β€” 5
  • SLURM_STEP_CTX_NUM_HOSTS β€” 6
  • SLURM_STEP_CTX_HOST β€” 7
  • SLURM_STEP_CTX_JOBID β€” 8
  • SLURM_STEP_CTX_USER_MANAGED_SOCKETS β€” 9

πŸ’€ SLURM ERRNO πŸ’€

buckle up bestie, this is the error code zoo 🌈 β€” every single one, no skips, fr fr.

Defined macro error values

the two OGs:

  • SLURM_SUCCESS β€” 0
  • SLURM_ERROR β€” -1

General Message error codes

  • SLURM_UNEXPECTED_MSG_ERROR β€” 1000
  • SLURM_COMMUNICATIONS_CONNECTION_ERROR β€” 1001
  • SLURM_COMMUNICATIONS_SEND_ERROR β€” 1002
  • SLURM_COMMUNICATIONS_RECEIVE_ERROR β€” 1003
  • SLURM_COMMUNICATIONS_SHUTDOWN_ERROR β€” 1004
  • SLURM_PROTOCOL_VERSION_ERROR β€” 1005
  • SLURM_PROTOCOL_IO_STREAM_VERSION_ERROR β€” 1006
  • SLURM_PROTOCOL_AUTHENTICATION_ERROR β€” 1007
  • SLURM_PROTOCOL_INSANE_MSG_LENGTH β€” 1008
  • SLURM_MPI_PLUGIN_NAME_INVALID β€” 1009
  • SLURM_MPI_PLUGIN_PRELAUNCH_SETUP_FAILED β€” 1010
  • SLURM_PLUGIN_NAME_INVALID β€” 1011
  • SLURM_UNKNOWN_FORWARD_ADDR β€” 1012

πŸ“‘ communication failures to/from slurmctld 🫢

  • SLURMCTLD_COMMUNICATIONS_CONNECTION_ERROR β€” 1800
  • SLURMCTLD_COMMUNICATIONS_SEND_ERROR β€” 1801
  • SLURMCTLD_COMMUNICATIONS_RECEIVE_ERROR β€” 1802
  • SLURMCTLD_COMMUNICATIONS_SHUTDOWN_ERROR β€” 1803

_info.c/communication layer RESPONSE_SLURM_RC message codes

just the one icon:

  • SLURM_NO_CHANGE_IN_DATA β€” 1900

πŸ‘‘ slurmctld error codes πŸ‘‘

the big one, bestie. look at all these ESLURM_ baddies:

  • ESLURM_INVALID_PARTITION_NAME β€” 2000
  • ESLURM_DEFAULT_PARTITION_NOT_SET β€” 2001
  • ESLURM_ACCESS_DENIED β€” 2002
  • ESLURM_JOB_MISSING_REQUIRED_PARTITION_GROUP β€” 2003
  • ESLURM_REQUESTED_NODES_NOT_IN_PARTITION β€” 2004
  • ESLURM_TOO_MANY_REQUESTED_CPUS β€” 2005
  • ESLURM_INVALID_NODE_COUNT β€” 2006
  • ESLURM_MAX_JOB_COUNT β€” 2007
  • ESLURM_JOB_MISSING_SIZE_SPECIFICATION β€” 2008
  • ESLURM_JOB_SCRIPT_MISSING β€” 2009
  • ESLURM_USER_ID_MISSING β€” 2010
  • ESLURM_DUPLICATE_JOB_ID β€” 2011
  • ESLURM_PATHNAME_TOO_LONG β€” 2012
  • ESLURM_NOT_TOP_PRIORITY β€” 2013
  • ESLURM_REQUESTED_NODE_CONFIG_UNAVAILABLE β€” 2014
  • ESLURM_REQUESTED_PART_CONFIG_UNAVAILABLE β€” 2015
  • ESLURM_NODES_BUSY β€” 2016
  • ESLURM_INVALID_JOB_ID β€” 2017
  • ESLURM_INVALID_NODE_NAME β€” 2018
  • ESLURM_WRITING_TO_FILE β€” 2019
  • ESLURM_TRANSITION_STATE_NO_UPDATE β€” 2020
  • ESLURM_ALREADY_DONE β€” 2021
  • ESLURM_INTERCONNECT_FAILURE β€” 2022
  • ESLURM_BAD_DIST β€” 2023
  • ESLURM_JOB_PENDING β€” 2024
  • ESLURM_BAD_TASK_COUNT β€” 2025
  • ESLURM_INVALID_JOB_CREDENTIAL β€” 2026
  • ESLURM_IN_STANDBY_MODE β€” 2027
  • ESLURM_INVALID_NODE_STATE β€” 2028
  • ESLURM_INVALID_FEATURE β€” 2029
  • ESLURM_INVALID_AUTHTYPE_CHANGE β€” 2030
  • ESLURM_INVALID_SCHEDTYPE_CHANGE β€” 2032
  • ESLURM_INVALID_SELECTTYPE_CHANGE β€” 2033
  • ESLURM_INVALID_SWITCHTYPE_CHANGE β€” 2034
  • ESLURM_FRAGMENTATION β€” 2035
  • ESLURM_NOT_SUPPORTED β€” 2036
  • ESLURM_DISABLED β€” 2037
  • ESLURM_DEPENDENCY β€” 2038
  • ESLURM_BATCH_ONLY β€” 2039
  • ESLURM_JOB_HELD β€” 2042
  • ESLURM_INVALID_CRED_TYPE_CHANGE β€” 2043
  • ESLURM_INVALID_TASK_MEMORY β€” 2044
  • ESLURM_INVALID_ACCOUNT β€” 2045
  • ESLURM_INVALID_PARENT_ACCOUNT β€” 2046
  • ESLURM_SAME_PARENT_ACCOUNT β€” 2047
  • ESLURM_INVALID_LICENSES β€” 2048
  • ESLURM_NEED_RESTART β€” 2049
  • ESLURM_ACCOUNTING_POLICY β€” 2050
  • ESLURM_INVALID_TIME_LIMIT β€” 2051
  • ESLURM_RESERVATION_ACCESS β€” 2052
  • ESLURM_RESERVATION_INVALID β€” 2053
  • ESLURM_INVALID_TIME_VALUE β€” 2054
  • ESLURM_RESERVATION_BUSY β€” 2055
  • ESLURM_RESERVATION_NOT_USABLE β€” 2056
  • ESLURM_INVALID_WCKEY β€” 2057
  • ESLURM_RESERVATION_OVERLAP β€” 2058
  • ESLURM_PORTS_BUSY β€” 2059
  • ESLURM_PORTS_INVALID β€” 2060
  • ESLURM_PROLOG_RUNNING β€” 2061
  • ESLURM_NO_STEPS β€” 2062
  • ESLURM_INVALID_QOS β€” 2066
  • ESLURM_QOS_PREEMPTION_LOOP β€” 2067
  • ESLURM_NODE_NOT_AVAIL β€” 2068
  • ESLURM_INVALID_CPU_COUNT β€” 2069
  • ESLURM_PARTITION_NOT_AVAIL β€” 2070
  • ESLURM_CIRCULAR_DEPENDENCY β€” 2071
  • ESLURM_INVALID_GRES β€” 2072
  • ESLURM_JOB_NOT_PENDING β€” 2073
πŸ’€ note the gaps in the numbering β€” that's not me skipping, that's genuinely how they're defined. transcribe carefully bestie, the numbers matter.

switch specific error codes specific values defined in plugin module

these are ranges handed off to plugins, so like, the actual values get defined in the plugin module itself:

  • ESLURM_SWITCH_MIN β€” 3000
  • ESLURM_SWITCH_MAX β€” 3099
  • ESLURM_JOBCOMP_MIN β€” 3100
  • ESLURM_JOBCOMP_MAX β€” 3199
  • ESLURM_SCHED_MIN β€” 3200
  • ESLURM_SCHED_MAX β€” 3299

slurmd error codes

the daemon-side drama, all ESLURMD_ flavored πŸ“:

  • ESLURMD_KILL_TASK_FAILED β€” 4001
  • ESLURMD_KILL_JOB_ALREADY_COMPLETE β€” 4002
  • ESLURMD_INVALID_ACCT_FREQ β€” 4003
  • ESLURMD_INVALID_JOB_CREDENTIAL β€” 4004
  • ESLURMD_CREDENTIAL_EXPIRED β€” 4007
  • ESLURMD_CREDENTIAL_REVOKED β€” 4008
  • ESLURMD_CREDENTIAL_REPLAYED β€” 4009
  • ESLURMD_CREATE_BATCH_DIR_ERROR β€” 4010
  • ESLURMD_SETUP_ENVIRONMENT_ERROR β€” 4014
  • ESLURMD_SET_UID_OR_GID_ERROR β€” 4016
  • ESLURMD_EXECVE_FAILED β€” 4020
  • ESLURMD_IO_ERROR β€” 4021
  • ESLURMD_PROLOG_FAILED β€” 4022
  • ESLURMD_EPILOG_FAILED β€” 4023
  • ESLURMD_TOOMANYSTEPS β€” 4025
  • ESLURMD_STEP_EXISTS β€” 4026
  • ESLURMD_STEP_NOTRUNNING β€” 4027
  • ESLURMD_STEP_SUSPENDED β€” 4028
  • ESLURMD_STEP_NOTSUSPENDED β€” 4029
  • ESLURMD_INVALID_SOCKET_NAME_LEN β€” 4030

πŸ”Œ socket specific Slurm communications error πŸ”Œ

  • ESLURM_PROTOCOL_INCOMPLETE_PACKET β€” 5003
  • SLURM_PROTOCOL_SOCKET_IMPL_TIMEOUT β€” 5004
  • SLURM_PROTOCOL_SOCKET_ZERO_BYTES_SENT β€” 5005

πŸ” slurm_auth errors πŸ”

  • ESLURM_AUTH_CRED_INVALID β€” 6000
  • ESLURM_AUTH_BADARG β€” 6004
  • ESLURM_AUTH_UNPACK β€” 6007
  • ESLURM_AUTH_SKIP β€” 6008

πŸ’Έ accounting errors πŸ’Έ

  • ESLURM_DB_CONNECTION β€” 7000
  • ESLURM_JOBS_RUNNING_ON_ASSOC β€” 7001
  • ESLURM_CLUSTER_DELETED β€” 7002
  • ESLURM_ONE_CHANGE β€” 7003

🌸 SEE ALSO 🌸

  • Slurm β€” yeah bestie, go read that one too 🫢

πŸŽ€ AUTHOR πŸŽ€

slay, credit where credit's due: this library is created by Hongjia Cao, <hjcao(AT)nudt.edu.cn>, and Danny Auble, <da(AT)llnl.gov>. It is distributed with Slurm. iconic behavior, honestly πŸ’–


real talk, the legal bit β€” but make it cute:

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or, at your option, any later version of Perl 5 you may have available.


πŸ¦‹ okay that's the whole page bestie, you made it to the end, main character energy fr fr. go forth and use Slurm::Constant responsibly πŸ’…βœ¨

and for the little footnote at the bottom β€” that's perl v5.40.2, dated 2026-10-14, from the Slurm::Constant(3) page πŸŽ€ bye ily 🫢

πŸ“¦ where this page comes from