Prevent mixed-architecture experiments
The goal is to prevent someone from getting a mixed-architecture experiment (x86 and ARM) on the Utah CloudLab cluster unless they explicitly requested such a thing. This hack will only be turned on on that cluster.
The current plan is to:
- Make a list of all nodes for which a type is not explicitly specified
- If this list is empty, proceed as normal
- If the list is non-empty, try
assign
twice: once with a vtop explicitly specifying x86 for those left unspecified in the request, and one with a vtop explicitly asking for ARM nodes (order TBD) - If either of these succeed, the experiment is swapped in, if both fail, it's rejected
There may be some cases (eg. one-architecture images, fixed nodes) where we may have to make the user be explicit about the type they're asking for in order for this heuristic to work