[Feature]: HTCondor scheduler (shared `_htcondor` core) for BatchBackend
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start with the HTCondorScheduler and the shared _htcondor module described in the issue, then read IC-ADR-001 §3 and the existing DIRAC STATES_MAP/HOLD_REASON_SUBCODE test fixtures. Run the contract suite marked scheduler and htcondor against a plain schedd. Done means queue N fan-out, native output transfer, state parsing, and an importable _htcondor core without scheduler-class dependencies.
Written by the indexing model from the issue text.
Description
User Story
As the WMS consumer,
I want BatchBackend(SSHTransport|LocalTransport, HTCondorScheduler) working against a real
schedd,
So that the second scheduler proves the Scheduler protocol generalises, and the _htcondor core
is ready for reuse by the HTCondor-CE backend.
Feature Description
_htcondorinternal module (Tier C, shared with #): submit-description builder
fromSubmissionSpec(incl.queue Nforcountfan-out,should_transfer_files/
transfer_output_filesfromOutputSpec),condor_q/condor_historyClassAd/JSON parsing,
native state map incl. hold codes/subcodes (port DIRAC'sSTATES_MAP/HOLD_REASON_SUBCODE).HTCondorScheduler: drives a schedd via the transport (CLIcondor_submit/condor_q/
condor_rmoverTransport.run);stages_own_files=True— HTCondor declares file transfer in
the submit description (the cross-scheduler staging axis from IC-ADR-001 §3).- Phase 2 wiring: contract suite against the
htcondorstack's plain-schedd path
(markersscheduler and htcondor);ssh-condorstack optional here, may land later.
Definition of Done
- Contract suite green against the
htcondorstack (plain schedd) -
count > 1submits as onequeue N(asserted) - Output sandbox via native file transfer, honouring
OutputSpecat submit time - State mapping unit-tested against canned
condor_q/condor_historyoutput (port DIRAC's
test fixtures) -
_htcondorhas no scheduler-class dependencies (importable by the CE backend, #)
Alternatives Considered
- Python
htcondorbindings instead of CLI-over-transport — bindings can't run over SSH to a
remote schedd; CLI-over-transport keeps the transport axis orthogonal. Bindings remain an option
for the monolithic CE backend (issue-15), where the schedd is reached natively.
Related Issues
Additional Context
IC-ADR-001 §3 "Shared batch-system knowledge": scheduler adapter and monolithic CE share the
_htcondor functions, never a subtype.
- Dominant language
- Python
- Stars
- 3
- Forks
- 3
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DIRACGrid/intercede
-
Difficulty 5/5 Over a week Newbie friendliness 38/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 28/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
All issues in DIRACGrid/intercede
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100