Red Hat Bugzilla – Bug 474583
Dynamic slots don't have KeyboardIdle set properly
Last modified: 2009-02-04 11:04:38 EST
Description of problem:
When using Dynamic Provisioning a slot will be created to service an incoming job. That slot's attributes are not fully set before requirements are checked. The result is a START expression that uses KeyboardIdle, e.g. KeyboardIdle > 15*60, will fail because KeyboardIdle is -1 on the dynamically created slot.
Version-Release number of selected component (if applicable):
7.2.0-0.7 and earlier
Steps to Reproduce:
0. Enable STARTD_DEBUG = D_JOB D_MACHINE D_FULLDEBUG
1. Enable Dynamic Provisioning (see manual)
2. Configure START = KeyboardIdle >= 0
3. Submit a job
Job is rejected by the Startd. Look in the StartLog for "slot1.1: Slot requirements not satisfied." You'll also see KeyboardIdle = -1 in the dynamic slot's ad.
A running job... Also, " slot1.1: Request accepted."
This fix will be present in 7.2.0-0.8
Author: Matthew Farrellee <email@example.com>
Date: Thu Dec 4 09:44:48 2008 -0600
Fixed dynamic slot ad, it was incomplete
This change uses the ResMgr to more fully compute the attributes on
the dynamically created slot. It is a bit heavy-handed, but appears to
be the best way right now. The Startd's attribute computation code
could use some simplification.
This was found when using a START policy that relied on KeyboardIdle,
like the default UWCS_START does. The policy specifies KeyboardIdle >
15 * 60, but on the dynamic slot the KeyboardIdle was -1 (not yet
initialized). The result was the dynamic slot would always reject
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.