Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Feature]: HTCondor scheduler (shared `_htcondor` core) for BatchBackend

未关闭
#21 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
冷清
技术栈
python
领域
backend

调研方向

从 issue 中描述的 HTCondorScheduler 和共享 _htcondor 模块开始,然后阅读 IC-ADR-001 §3 以及现有的 DIRAC STATES_MAP/HOLD_REASON_SUBCODE 测试 fixture。针对一个普通 schedd 运行标记为 scheduler 和 htcondor 的 contract suite。当 queue N fan-out、原生输出传输、状态解析,以及一个不依赖 scheduler 类的可导入 _htcondor 核心均能工作时,即算完成。

由索引模型根据 Issue 内容生成。

描述

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

  • _htcondor internal module (Tier C, shared with #): submit-description builder
    from SubmissionSpec (incl. queue N for count fan-out, should_transfer_files/
    transfer_output_files from OutputSpec), condor_q/condor_history ClassAd/JSON parsing,
    native state map incl. hold codes/subcodes (port DIRAC's STATES_MAP/HOLD_REASON_SUBCODE).
  • HTCondorScheduler: drives a schedd via the transport (CLI condor_submit/condor_q/
    condor_rm over Transport.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 htcondor stack's plain-schedd path
    (markers scheduler and htcondor); ssh-condor stack optional here, may land later.

Definition of Done

  • Contract suite green against the htcondor stack (plain schedd)
  • count > 1 submits as one queue N (asserted)
  • Output sandbox via native file transfer, honouring OutputSpec at submit time
  • State mapping unit-tested against canned condor_q/condor_history output (port DIRAC's
    test fixtures)
  • _htcondor has no scheduler-class dependencies (importable by the CE backend, #)

Alternatives Considered

  • Python htcondor bindings 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.

主要语言
Python
星标
3
派生
4
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

DIRACGrid/intercede 的其他 Issue

查看 DIRACGrid/intercede 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。