Add admission control checks to both tbswap and to assign_wrapper.in.
There are two different kinds of admission control checks, hence two locations. * From tbswap, easy checks are made (like, too many nodes of a real type), or trying to the use robot lab when its closed. * From assign_wrapper.in. Because of virtual types, and because assign is the ultimate descision maker, we need to pass into assign per physical type limits, and let it deal with how virtual types map to physical types, and whether it exceeds the limits. So, when called from assign_wrapper, libadminctrl returns a hash of types and the counts the current experiment is limited to. That is put into the ptop file where assign deals with it. If admission control goes sour, then just turn off the sitevar for it: 'swap/use_admission_control'
Showing with 57 additions and 3 deletions