Requirements

Hardware

OKA should be installed on a virtual machine (VM) or physical server separated from the main cluster frontend node.

Minimal hardware requirements are:

  • CPU: 4 cores

    Attention

    CPU model is required to have AVX and SSE4 flags due to some internal Python package requirements.

  • Memory: 32GB to 64GB of RAM in case OKA is configured to use a local Elasticsearch database and/or memcached; 8GB otherwise.

  • Disk space:

    • At least 15GB of free disk space for the VM.

    • +1.5GB per millions of jobs for Elasticsearch storage space.

System

  • Operating Systems: Amazon Linux 2/2023, Debian 11, RHEL 7/8/9, Rocky Linux 8/9

  • A user account, different from the root account to run OKA (e.g., okauser)

Software Requirements

The following table lists all the software dependencies needed by OKA:

Software

Version

Mandatory

Elasticsearch

>= 9.1

Yes

PostgreSQL

>= 12 <= 15

Yes

RabbitMQ

>= 3.0.0

Yes

uv

>= 0.8.3

Yes

NGINX

>= 1.20

Yes

sudo

Yes, if running installer as root

[envsubst]

Yes

Memcached

>= 1.6.6

Optional

OpenLDAP

>= 2.4.11

Yes

[envsubst]

Part of gettext or gettext-base package

Note

Each dependency must be installed carefully in agreement with their minimum system requirements. The following pages also provides information on hardware requirements scaling with the use of OKA, and will guide you through the installation of all dependencies needed to run OKA in production.

Job Scheduler

OKA needs to have access to a job scheduler to retrieve accounting logs. Supported job schedulers are described in the following sections, along with required configurations.

Note

OKA can either access job scheduler logs directly on the server where it is running, or through SSH commands. In this case, OKA must be allowed to SSH (with a keypair or password) to the server where the job scheduler commands/log files are accessible.`

SLURM™

Supported Versions: 17.02 to 24.11

Requirements:

SLURM™ binaries must be accessible from the PATH environment variable.

The SLURM™ SlurmDBD server must be reachable from the server where OKA will run the extraction commands (sacct).

Accounting must be enabled with SlurmDBD configuration (for detailed configuration instructions, refer to the SLURM accounting documentation):

  • AccountingStorageType must be set to accounting_storage/slurmdbd

  • JobAcctGatherType must be set to jobacct_gather/linux

For GPU information collection, you must specify gres/gpu in the AccountingStorageTRES configuration parameter. See the SLURM TRES documentation for complete details.

For License usage, OKA relies on the Licenses field in sacct. Jobs must be submitted with the -L/--licenses parameter (sbatch/salloc/srun). See Licenses Guide to configure Slurm to track your licenses.

Open Grid Engine (GE) and Univa® Grid Engine® (UGE)

Supported Versions:

  • Open Grid Engine: GE 6.0u6 to 2011.11

  • Univa® Grid Engine®: UGE 8.5.4 to 8.6.18

Requirements:

OKA relies on the Grid Engine accounting file for data extraction. This file is only generated when accounting is enabled by setting accounting=true in the reporting_params configuration option.

The accounting file must be readable from the server where OKA executes its commands. The default location is $SGE_ROOT/$CELL/common/accounting.

Altair® PBS Professional® and OpenPBS

Supported Versions:

  • Altair® PBS Professional®: 19.2 to 2024.1

  • OpenPBS: 19.1.3 to 22.05.11

Requirements:

The PBS logging directory must be accessible and readable from the server where OKA runs its commands. The default directory location is <PBS_HOME>/server_priv/accounting/.

For License usage, OKA parses the Resource_List fields of PBS logs with a regex (see Cluster configuration to define the regex). You need to configure two things in PBS to track licenses (refer to PBS Admin Guide for the following steps, you can also see this quick tutorial: PBS Professional License Aware Scheduling Tutorial), for each license type:

  • a set of resources of type long that will be queried at job submission with the -l option of qsub. E.g., qmgr -c "create resource lic_myapp type = long"

  • a script to dynamically query your license server to update the number of available licenses, and use it in /var/spool/pbs/sched_priv/sched_config

    • add a server_dyn_res line: server_dyn_res: "lic_myapp !/path/to/script.sh"

    • also add lic_myapp in the resources parameter

Torque

Supported Versions: 5.0 to 6.1.3

Requirements:

The Torque logging directory must be readable from the server where OKA executes its commands. This directory is typically located at <TORQUEROOT>/server_priv/accounting/.

LSF

Supported Versions: 10

Requirements:

The LSF lsb.acct files must be accessible and readable from the server where OKA runs its commands. These files are typically found in the <LSB_SHAREDIR>/cluster_name/logdir directory.

Web browser

OKA functionalities are accessible through most popular modern browsers. Generally speaking, OKA supports the latest versions of each major platform’s (Linux®, Apple® Mac® OS X®, and Microsoft® Windows®) default browsers (Google™ Chrome™, Mozilla Firefox®, Apple® Safari®, Microsoft® Edge®).

Requirements:

  • JavaScript® must be enabled on browsers.

  • The width of the page must at least 1280px.