OpenPBS
Configure SOCA installer to deploy OpenPBS¶
OpenPBS is the original HPC scheduler on SOCA and enabled by default default_config.yml.
scheduler:
# Scheduler(s) to install/configure on the SOCA_CONTROLLER host
scheduler_engine:
- "openpbs" # Production ready - Stable & Tested
# - "lsf" # Preview - Development, not stable, not fully tested and not suitable for production.
# - "slurm" # Preview - Development, not stable, not fully tested and not suitable for production.
Note
You can keep lsf / slurm if you want to run a dual-scheduler setup, or you can choose to use only OpenPBS.
Navigate to system.scheduler.openpbs section below and update the following parameters:
openpbs:
# Install path. We recommend you to not change this path
# if you do, make sure to update relevant cluster_analytics / log_backup paths as well
# Note: $SOCA_CLUSTER_ID will be automatically replaced by the SOCA Cluster Name specified at install time
install_prefix_path: "/opt/soca/$SOCA_CLUSTER_ID/schedulers/default/pbs"
pbs_home: "/opt/soca/$SOCA_CLUSTER_ID/schedulers/default/pbs/var/spool/pbs" # include spooler dirs, hierarchy will be created at compilation time but use the same tree as install_prefix_path. You can override this setting if needed.
deployment_type: "git" # tgz or git
tgz: # Download OpenPBS tgz from the URL listed below
version: "23.06.06"
url: "https://github.com/openpbs/openpbs/archive/v23.06.06.tar.gz"
sha256: "689df6caa101422237118d81f9cfb0e6cad432209c77a6b3b8021cf984a91a90"
git: # Install OpenPBS from Source.
version: "23.06.06" # Version to install (this can be anything, it's just used to avoid re-installation if the same version is already detected)
repo: "https://github.com/openpbs/openpbs.git" # Repo to clone from, e.g https://github.com/openpbs/openpbs.git
branch: "master" # (Optional: Specify the branch if you do not want to use the default)
commit_id: "2bf8f31fbd5bbd7fff4b1c620c625d2944b422b1" # (Optional: Specify the commit id if you do not want to use the default)
compatibility_packages:
# Package installed/replaced on older distro (RHEL8, Rocky8 ..) to enable OpenPBS compilation for python3.13
automake:
url: "https://ftp.gnu.org/gnu/automake/automake-1.16.5.tar.gz"
sha256: "07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605"
# Package installed/replaced on older distro (RHEL8, Rocky8 ..) to enable OpenPBS compilation for python3.13
libtool:
url: "https://ftp.gnu.org/gnu/libtool/libtool-2.4.7.tar.gz"
sha256: "04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8"
# Package installed/replaced on older distro (RHEL8, Rocky8 ..) to enable OpenPBS compilation for python3.13
pkgconfig:
url: "https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz"
sha256: "6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591"
# Dependency when compiling OpenPBS from source
cjson:
url: "https://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.18.tar.gz"
sha256: "3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5"
You're all set, you can now continue with a regular SOCA installation. While your cluster is provisioning, we suggest reviewing the SOCA OpenPBS bootstrap scripts to become familiar with the automation happening behind the scenes.
Interact with your OpenPBS cluster¶
Load your OpenPBS shell¶
Once your system is up and running, load your openpbs shell by running soca_openpbs-<scheduler_identifier> on your machine, where <scheduler_identifier> is a unique identifier automatically generated by SOCA.
This unique identifier is helpful if you plan to host multiple OpenPBS environments on your SOCA controller or if you intend to access an on-premises OpenPBS system through SOCA. You can install as many OpenPBS environment(s) as you want on your SOCA environment.
# Load your OpenPBS env using soca_openpbs_<identifier> command
[socaadmin@ip-202-0-107-9 ~]$ soca_pbs_openpbs-default-soca-demo
========= SOCA =========
>> PBS environment loaded, you can now run commands such as qsub/qstat/qalter etc ...
>> PBS is installed under: /opt/soca/soca-demo/schedulers/default/pbs
>> Add /bin/soca_pbs to your .bashrc or .bash_profile to automatically run this script
>> Type exit to close this shell
========================
(soca_openpbs) socaadmin@ip-202-0-107-9:~#
# You can now run all your regular OpenPBS commands specific to your environment
(soca_openpbs) socaadmin@ip-202-0-107-9:~# qstat
Job id Name User Time Use S Queue
---------------- ---------------- ---------------- -------- - -----
0.ip-202-0-107-9 STDIN socaadmin 0 Q normal
Submit a job¶
CLI¶
You can submit an OpenPBS job using the qsub command. You can refer to this page to get additional details about OpenPBS job submission.
Pass the SOCA Job Resource Parameters via -l parameter.
Web Interface¶
You can submit your OpenPBS jobs using the SOCA Web Interface
HTTP API¶
You can your submit your OpenPBS job using the SOCA HTTP REST API.
View jobs using Web Interface¶
You can view and control your OpenPBS HPC jobs using "My Job Queue" page on the SOCA Web Interface:
