Currently, the only way to automatically request that a system be reserved after a recipe completes is to include a special task that automatically reserves the system (typically holding onto it for 24 hours, at which point the external watchdog times out and returns the system anyway) This approach has lots of quirks, including the fact that if a task aborts, the system is never reserved (as the reservation task gets aborted along with everything else). A more elegant alternative may be to define an actual "reservesys" element, which may be specified at the job level, the recipe set level, or the individual recipe level (applying to all recipes covered by the scope where it appears). (A simpler starting point would be to allow the new element only at the recipe level) A possible definition of such an element (ignoring things like making the attributes optional and giving them specific data types): <element name="reservesys"> <attribute name="onabort"/> <attribute name="onfail"/> <attribute name="onwarn"/> <attribute name="onpass"/> <attribute name="duration"/> </element> By default, the system would be reserved regardless of how the recipe finishes. The duration setting would control how long the automatic reservation would be for (defaulting to 24 hours) onabort/fail/warn/pass would control whether or not the system is actually reserved in the relevant situations: - onabort = reserve system if a task aborts - onfail = reserve system if at least one task reports a failed result - onwarn = reserve system if at least one task reports a warning - onpass = reserve system if none of the above occur All four settings would default to "true", so the reservation is unconditional by default.
*** This bug has been marked as a duplicate of bug 639938 ***