Autolab icon indicating copy to clipboard operation
Autolab copied to clipboard

Custom per-student handouts: Clean way to build stuff in a Tango VM from the `handout` hook

Open zackw opened this issue 1 year ago • 0 comments

Your environment

  • Carnegie Mellon's Autolab at https://autolab.andrew.cmu.edu/
  • which says "v2.10.0" in the lower right hand corner

Current behavior

CMU's 15-213 has two labs ("bomblab" and "attacklab") for which each student gets their own custom version of the handout. To implement this, we currently build many versions of each handout in advance. If we run out, students trying to download the handout get a cryptic error message.

Prior to S23, we instead built a custom handout for each student directly from the handout hook. (18-213 is still using the code that does that.) This was always a bad idea, considering it involved running compilation jobs on the Autolab web server, but it became unworkable in S23 because (15-213's half of) the "shark" cluster, where the students run the programs in the handout, is no longer on exactly the same ancient version of RHEL as the Autolab web server.

Desired behavior

Give me a way to build custom handouts on the Tango VMs. I realize this involves a major architectural change to Tango, making it possible to pull files back out of a job, but I think it's the only viable long-term solution.

zackw avatar Feb 14 '23 15:02 zackw