Skip to content
  • Mac Newbold's avatar
    Added sched_reserve. Works kind of like sched_reload, but for a reservation. · e1f4263c
    Mac Newbold authored
    Rob and I noticed that when we need to do maintainance to a node, its hard
    to grab it when it gets freed before it gets taken again. So this will allow
    admins to set up nodes so that when the current owner frees them, they
    immediately are moved into another experiment. For instance, if I need to do
    an upgrade on all the machines in the testbed, I can do:
    
    sched_reserve testbed down pc1 pc2 pc3 [...] pc40
    
    and it will immediately reserve any free nodes, skip any that are already
    in testbed/down, and add an entry to the next_reserve table for any nodes
    that are already reserved. Then nfree checks for entries in the next_reserve
    table before it lets any nodes go (much like it does for the reloads table),
    and moves them into the expt before it can get reserved again. So we can
    guarantee that the next time a node is freed, it will be saved for us.
    
    Note that this can also be useful to accumulate nodes for a large experiment,
    since you can make sure you get them as soon as the current owner is done.
    e1f4263c