con / con/mechababs

Cluster YAMLs hardcode an allocation-assigned, expiring workspace path

Open
#85 0 comments 0 reactions 0 assignees View on GitHub
automation generalize
Dominant language
Python
Stars
1
Forks
4
Avg merge
15h 39m
Merged PRs (30d)
24

Description

`clusters/unity.yaml` hardcodes `/scratch4/workspace/${USER}-mechababs` in three places. Both halves of that path are wrong to hardcode:

- the **`/scratchN` index is allocation-assigned** — another user, or the same user with a different allocation, gets a different number
- the **workspace expires** (30 days), so the path is temporary even for us

Unity provides `ws_find mechababs` to resolve it, which is what a human runs today before every session.

## Candidates

- resolve it in the cluster YAML's `script_preamble` via `ws_find`, so the path is discovered per-job rather than written down
- make it a `{{...}}` substitution, like the existing `{{MECHABABS_VENV}}` placeholder, filled at compose time

Either keeps the cluster axis honest: a cluster config should describe *how to find* the machine's scratch, not one person's current allocation.

Related: the pipeline-vs-cluster config composition question, which this is another instance of; #6 (avoid abspaths).

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with clusters/unity.yaml and inspect the three hardcoded workspace paths, the script_preamble, and the existing {{MECHABABS_VENV}} substitution. Compare resolving mechababs with ws_find per job against filling a substitution at compose time. Done means the allocation-assigned, expiring path is no longer hardcoded and the cluster config explains how to find the workspace.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, yaml
Domain
devops, infrastructure
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.