Bug 913339 - Allow reservation of all systems in a job, recipe set or recipe after execution finishes
Summary: Allow reservation of all systems in a job, recipe set or recipe after executi...
Keywords:
Status: CLOSED DUPLICATE of bug 639938
Alias: None
Product: Beaker
Classification: Retired
Component: scheduler
Version: 0.11
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: beaker-dev-list
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-02-21 02:18 UTC by Nick Coghlan
Modified: 2018-02-06 00:41 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-02-21 03:55:18 UTC
Embargoed:


Attachments (Terms of Use)

Description Nick Coghlan 2013-02-21 02:18:00 UTC
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.

Comment 1 Dan Callaghan 2013-02-21 03:55:18 UTC

*** This bug has been marked as a duplicate of bug 639938 ***


Note You need to log in before you can comment on or make changes to this bug.