Skip to content

Restore PBS support: removed from v0.2.0 as never verified against a real scheduler #140

Description

@jeremymanning

PBS support is implemented and removed from v0.2.0 as unverified. It has never been run against a real PBS/Torque scheduler.

What exists, and where

Introduced in 4b2aba5 (2025-06-24). At 299109f:

Code Location
Job submission clustrix/executor_schedulers.py:218 submit_pbs_job
Status polling clustrix/executor_scheduler_status.py:489 _check_pbs_status
Dispatch clustrix/executor_core.py:111,547,571
Script generation clustrix/utils.py:2772 _create_pbs_script; dispatch at :2509,2546
Tutorial docs/source/notebooks/pbs_tutorial.ipynb

Known defect found while auditing, never fixed

PBS was the one scheduler that never set up its remote environment -- SLURM and SGE staged and built a venv, PBS did not, so a PBS job ran against whatever interpreter happened to be on the node. That was corrected during the v0.2.0 sweep (all four schedulers now share one staging path), but the fix was itself never exercised against a real PBS queue. So the correction is as unverified as the original.

Why it is being removed rather than fixed

Not because the code is known to be wrong. Because it has never been run against the real thing, and shipping it in the cluster-type dropdown states otherwise. A user who selects it gets a code path no one has ever seen succeed.

v0.2.0 keeps exactly the four backends that have been demonstrated end to end -- local, ssh, slurm, huggingface -- and the documentation now says the rest are planned for a future release rather than currently supported.

Restoring it

Nothing is lost: every line cited above stays reachable in git history at the commits named. Reinstating it means reverting the removal commit and then doing the part that was never done -- running it against real hardware and recording the evidence in this issue.

Definition of done

  • Backend restored from history
  • A real job submitted, executed and its result returned, with the transcript pasted into this issue
  • Failure paths exercised (job rejected, job killed, node lost)
  • Re-added to SUPPORTED_CLUSTER_TYPES, the widget dropdown and the CLI
  • Documentation moved from "planned" to "supported"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions