Autolab
Autolab copied to clipboard
Custom per-student handouts: Clean way to build stuff in a Tango VM from the `handout` hook
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.