Skip to content

socactl schedulers

socactl schedulers help you manage the schedulers you are planning to register to SOCA (see: SOCA HPC Schedulers

Run socactl schedulers --help to display help message.

schedulers get

Retrieve your schedulers list . Use --output to change output format

./socactl schedulers get --output json
{
    "lsf-default-soca-testenv": {
        "enabled": true,
        "provider": "lsf",
        "endpoint": "ip-205-0-97-91.us-east-2.compute.internal",
        "binary_folder_paths": "",
        "soca_managed_nodes_provisioning": true,
        "identifier": "lsf-default-soca-testenv",
        "lsf_configuration": {
            "version": "10.1",
            "lsf_top": "/opt/soca/soca-testenv/schedulers/default/lsf"
        }
    },
    "openpbs-default-soca-testenv": {
        "enabled": true,
        "provider": "openpbs",
        "endpoint": "ip-205-0-97-91.us-east-2.compute.internal",
        "binary_folder_paths": "/opt/soca/soca-testenv/schedulers/default/pbs/bin",
        "soca_managed_nodes_provisioning": true,
        "identifier": "openpbs-default-soca-testenv",
        "pbs_configuration": {
            "install_prefix_path": "/opt/soca/soca-testenv/schedulers/default/pbs",
            "pbs_home": "/opt/soca/soca-testenv/schedulers/default/pbs/var/spool/pbs"
        }
    },
    "slurm-default-soca-testenv": {
        "enabled": true,
        "provider": "slurm",
        "endpoint": "ip-205-0-97-91.us-east-2.compute.internal",
        "binary_folder_paths": "/opt/soca/soca-testenv/schedulers/default/slurm/bin:/opt/soca/soca-testenv/schedulers/default/slurm/sbin",
        "soca_managed_nodes_provisioning": false,
        "identifier": "slurm-default-soca-testenv",
        "slurm_configuration": {
            "install_prefix_path": "/opt/soca/soca-testenv/schedulers/default/slurm",
            "install_sysconfig_path": "/opt/soca/soca-testenv/schedulers/default/slurm/etc"
        }
    }
}

Specify --scheduler-identifier to filter a specific scheduler

./socactl schedulers get --scheduler-identifier openpbs-default-soca-testenv --output json
{
    "enabled": true,
    "provider": "openpbs",
    "endpoint": "ip-205-0-97-91.us-east-2.compute.internal",
    "binary_folder_paths": "/opt/soca/soca-testenv/schedulers/default/pbs/bin",
    "soca_managed_nodes_provisioning": true,
    "identifier": "openpbs-default-soca-testenv",
    "pbs_configuration": {
        "install_prefix_path": "/opt/soca/soca-testenv/schedulers/default/pbs",
        "pbs_home": "/opt/soca/soca-testenv/schedulers/default/pbs/var/spool/pbs"
    }
}

schedulers set

Create a new scheduler. View all options via filesystems schedulers --help

Note

Extra parameters are required based on scheduler provider (e.g: you must specify --lsf-configuration if using lsf)

./socactl schedulers set --binary-folder-paths "/opt/soca/schedulers/test/bin:/opt/soca/schedulers/test/sbin" \
  --enabled "true" \
  --scheduler-identifier "soca-test" \
  --endpoint "203.0.171.51" \
  --provider "slurm" \
  --manage-host-provisioning "false" \
  --slurm-configuration '{"install_prefix_path": "/opt/soca/schedulers/test", "install_sysconfig_path": "/opt/soca/schedulers/conf/pcs"}'
{
    "enabled": true,
    "provider": "slurm",
    "endpoint": "203.0.171.51",
    "binary_folder_paths": "/opt/soca/schedulers/test/bin:/opt/soca/schedulers/test/sbin",
    "soca_managed_nodes_provisioning": false,
    "identifier": "soca-test",
    "slurm_configuration": "{\"install_prefix_path\": \"/opt/soca/schedulers/test\", \"install_sysconfig_path\": \"/opt/soca/schedulers/conf/pcs\"}"
}
Do you want to create this new scheduler (add --force to skip this confirmation)? (yes/no)yes
Cache updated
Success: Key has been updated successfully

Note

Use --force to skip confirmation prompt.

schedulers update

Update an existing scheduler

./socactl schedulers update --scheduler-identifier "openpbs-default-soca-testenv" \
   --key "enabled" \
   --value "false"
Cache updated
Success: Key has been updated successfully

## Verify
./socactl schedulers get --scheduler-identifier "openpbs-default-soca-testenv" --output json
{
    "enabled": false,  # <---- enabled has been updated correctly
    "provider": "openpbs",
    "endpoint": "ip-205-0-97-91.us-east-2.compute.internal",
    "binary_folder_paths": "/opt/soca/soca-testenv/schedulers/default/pbs/bin",
    "soca_managed_nodes_provisioning": false,
    "identifier": "openpbs-default-soca-testenv",
    "pbs_configuration": {
        "install_prefix_path": "/opt/soca/soca-testenv/schedulers/default/pbs",
        "pbs_home": "/opt/soca/soca-testenv/schedulers/default/pbs/var/spool/pbs"
    }
}

Note

You can only update the following keys:

  • enabled
  • endpoint
  • binary_folder_paths
  • lsf_configuration
  • pbs_configuration
  • slurm_configuration
  • soca_managed_nodes_provisioning