• Leigh B Stoller's avatar
    Add support for multiple pre-reservations per project: · 103e0385
    Leigh B Stoller authored
    When creating a pre-reserve, new -n option to specify a name for the
    reservation, defaults to "default". All other operations require an
    -n option to avoid messing with the wrong reservation. You are not allowed
    to reuse a reservation name in a project, of course. Priorities are
    probably more important now, we might want to change the default from 0 to
    some thing higher, and change all the current priorities.
    For bookkeeping, the nodes table now has a reservation_name slot that is
    set with the reserved_pid. This allows us to revoke the nodes associated
    with a specific reservation. Bonus feature is that when setting the
    reserved_pid via the web interface, we leave the reservation_name null, so
    those won't ever be revoked by the prereserve command line tool.
    New feature; when revoking a pre-reserve, we now look to see if nodes being
    revoked are free and can be assigned to other pre-reserves. We used to not
    do anything, and so had to wait until that node was allocated and released
    later, to see if it could move into a pre-reserve.
    Also a change required by node specific reservations; when we free a node,
    need to make sure we actually use that node, so have to cycle through all
    reservations in priority order until it can used. We did not need to do
    this before.
Node.pm.in 97 KB