If the reservation has not already started, and if the reconfirmation on the same nodes fails (due to overlap with another reservation), PBS should consider other nodes (vnodes) for reconfirmation. If this fails, the request will be denied.
For an already running reservation, if extending the reservation would overlap with another reservation the request should be denied.
In order to extend the current reservation it may be necessary for the admin to manually push back the start time of a following reservation.
There is a possibility that the input required for the job(s) in a reservation arrive earlier than expected. The admin would like to be able to move the start time of the reservation forward so that the job(s) can start sooner.
If the job is done sooner then expected the admin would like to be able to move the end time of the reservation forward to free up the resources.
It would be nice to be be able to automatically decide what to do should a job or jobs still be running at the end of a reservation -
Kill job(s).
It shall be possible to move the start time of a reservation.
It shall be possible to push the start time into the future.
It shall be possible to move the start time of a confirmed reservation sooner if resources are available.
For an already running reservation it shall be possible to extend the end time of a reservation.
If the new end time would interfere with an existing high priority calendared event (i.e. another reservation or dedicated time) the request shall fail.
The new capabilities should be applicable on advance reservations.
The instances of the standing reservation that need to be modifiable are the current and next one.
C. Future (or nice to have) requirements:
There shall be a “force” option that would allow an operator or manager to extend the reservation even if it were to overlap with a calendared event.
It shall be possible to have a reservation attempt to automatically extend it’s end time until any running jobs in the reservation finish given the restriction in B.2.a
When extending the end time of a reservation it shall be possible for any unused nodes in the reservation be freed.
It would be nice to have a hook execute at the end of a reservation so that an admin can automatically control what happens to any jobs still running in that reservation. For example, the admin may want to:
Kill the job (existing behavior).
Extend end time of reservation.
Requeue the jobs.
Hold the jobs.