cc-slurm-adapter Configuration

cc-slurm-adapter configuration reference

Configuration File Location

Default: /etc/cc-slurm-adapter/config.json

Example Configuration

{
  "pidFilePath": "/run/cc-slurm-adapter/daemon.pid",
  "prepSockListenPath": "/run/cc-slurm-adapter/daemon.sock",
  "prepSockConnectPath": "/run/cc-slurm-adapter/daemon.sock",
  "lastRunPath": "/var/lib/cc-slurm-adapter/last_run",
  "slurmPollInterval": 60,
  "slurmQueryDelay": 1,
  "slurmQueryMaxSpan": 604800,
  "slurmQueryMaxRetries": 5,
  "ccPollInterval": 21600,
  "ccRestSubmitJobs": true,
  "ccRestUrl": "https://my-cc-backend-instance.example",
  "ccRestJwt": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "gpuPciAddrs": {
    "^nodehostname0[0-9]$": ["00000000:00:10.0", "00000000:00:3F.0"],
    "^nodehostname1[0-9]$": ["00000000:00:10.0", "00000000:00:3F.0"]
  },
  "ignoreHosts": "^nodehostname9\\w+$",
  "natsServer": "mynatsserver.example",
  "natsPort": 4222,
  "natsSubject": "mysubject",
  "natsUser": "myuser",
  "natsPassword": "123456789",
  "natsCredsFile": "/etc/cc-slurm-adapter/nats.creds",
  "natsNKeySeedFile": "/etc/ss-slurm-adapter/nats.nkey"
}

Configuration Reference

Required Settings

Config KeyTypeDescription
ccRestUrlstringURL to cc-backend’s REST API (must not contain trailing slash)
ccRestJwtstringJWT token from cc-backend for REST API access

Daemon Settings

Config KeyTypeDefaultDescription
pidFilePathstring/run/cc-slurm-adapter/daemon.pidPath to PID file (prevents concurrent execution)
lastRunPathstring/var/lib/cc-slurm-adapter/lastrunPath to file storing last successful sync timestamp (as file mtime)

Socket Settings

Config KeyTypeDefaultDescription
prepSockListenPathstring/run/cc-slurm-adapter/daemon.sockSocket for daemon to receive prolog/epilog events. Supports UNIX and TCP formats (see below)
prepSockConnectPathstring/run/cc-slurm-adapter/daemon.sockSocket for prolog/epilog mode to connect to daemon

Socket Formats:

  • UNIX: /run/cc-slurm-adapter/daemon.sock or unix:/run/cc-slurm-adapter/daemon.sock
  • TCP IPv4: tcp:127.0.0.1:12345 or tcp:0.0.0.0:12345
  • TCP IPv6: tcp:[::1]:12345, tcp:[::]:12345, tcp::12345

Slurm Polling Settings

Config KeyTypeDefaultDescription
slurmPollIntervalint60Interval (seconds) for periodic sync to cc-backend
slurmQueryDelayint1Wait time (seconds) after prolog/epilog event before querying Slurm
slurmQueryMaxSpanint604800Maximum time (seconds) to query jobs from the past (prevents flooding)
slurmQueryMaxRetriesint10Maximum Slurm query attempts on Prolog/Epilog events

cc-backend Settings

Config KeyTypeDefaultDescription
ccPollIntervalint21600Interval (seconds) to query all jobs from cc-backend (prevents stuck jobs)
ccRestSubmitJobsbooltrueSubmit started/stopped jobs to cc-backend via REST (set false if using NATS-only)

Hardware Mapping

Config KeyTypeDefaultDescription
gpuPciAddrsobject{}Map of hostname regexes to GPU PCI address arrays (must match NVML/nvidia-smi order)
ignoreHostsstring""Regex of hostnames to ignore (jobs only on matching hosts are discarded)

NATS Settings

Config KeyTypeDefaultDescription
natsServerstring""NATS server hostname (leave blank to disable NATS)
natsPortuint164222NATS server port
natsSubjectstring"jobs"Subject to publish job information to
natsUserstring""NATS username (for user auth)
natsPasswordstring""NATS password
natsCredsFilestring""Path to NATS credentials file
natsNKeySeedFilestring""Path to NATS NKey seed file (private key)

Note: The deprecated ipcSockPath option has been removed. Use prepSockListenPath and prepSockConnectPath instead.