schrodinger.autoinstall.slurm_install module

schrodinger.autoinstall.slurm_install.download_slurm(version: str, tmpdir: str, logger)

Downloads the SLURM source tarball from schedmd.com.

Parameters:
  • version – The version of SLURM to download.

  • tmpdir – The temporary directory to download the file to.

  • logger – A logger instance for logging messages.

schrodinger.autoinstall.slurm_install.compile_slurm(version: str, os_enum: OperatingSystem, tmpdir: str, logger)

Compiles and installs SLURM from source.

This function unpacks the tarball, installs build dependencies for the detected OS, and runs /configure, make, and make install.

Parameters:
  • version – The version of SLURM being installed.

  • os_enum – The detected operating system.

  • tmpdir – The temporary directory where the source is located.

  • logger – A logger instance for logging messages.

schrodinger.autoinstall.slurm_install.create_acc_db(db_pw: str, logger)

Creates and configures the MariaDB database for SLURM accounting.

Parameters:
  • db_pw – The password for the ‘slurm’ database user.

  • logger – A logger instance for logging messages.

schrodinger.autoinstall.slurm_install.config_slurm(os_enum: OperatingSystem, hostname: str, ncpu: int, ngpu: int, db_pw: str, logger)

Configures SLURM and its dependencies like munge.

This function sets up users, directories, permissions, and creates the slurm.conf and slurmdbd.conf files from Jinja2 templates.

Parameters:
  • os_enum – The detected operating system.

  • hostname – The hostname of the machine.

  • ncpu – The number of CPU cores.

  • ngpu – The number of GPUs.

  • db_pw – The password for the SLURM database user. Can be None.

  • logger – A logger instance for logging messages.

schrodinger.autoinstall.slurm_install.setup_lic_checking(vschrod: str, ipath: str, hostname: str, logger)

Configures the Schrodinger license sensor for SLURM integration.

Parameters:
  • vschrod – The version of the Schrodinger suite.

  • ipath – The installation path for the Schrodinger suite.

  • hostname – The hostname of the machine.

  • logger – A logger instance for logging messages.

schrodinger.autoinstall.slurm_install.run(vslurm: str, vschrod: str, ipath: str, os_enum: OperatingSystem, hostname: str, ncpu: int, ngpu: int, liccheck: bool, tmpdir: str)

Main routine to install and configure SLURM and its integration.

Parameters:
  • vslurm – The version of SLURM to install.

  • vschrod – The version of the Schrodinger suite.

  • ipath – The installation path for the Schrodinger suite.

  • os_enum – The detected operating system.

  • hostname – The hostname of the machine.

  • ncpu – The number of CPU cores.

  • ngpu – The number of GPUs.

  • liccheck – A boolean to enable license checking features.

  • tmpdir – The temporary directory for downloads and compilation.