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 How reproducible: 100% 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 Actual results: 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. Expected results: A running job... Also, " slot1.1: Request accepted."
This fix will be present in 7.2.0-0.8 commit 035d5742efbc787906d3db502a52d64eb637853c Author: Matthew Farrellee <matt> 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 jobs.
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. http://rhn.redhat.com/errata/RHBA-2009-0036.html