• Paul Rich's avatar
    Refactor find_queue_equivalence_classes and drain clear code · 2cda012d
    Paul Rich authored
    After discussions, the current find_queue_equivalence_classes for this
    system really only complicates the codebase for very little actual gain.
    After this, the system will have only one equivalence class at all times
    consisting of all active queues assigned to nodes and all active
    reservations.
    
    This simplification allows us to ensure that find_job_location only gets
    called twice, once for reservations, which ignore drain times, and then
    immediately after for the normal "production" queue jobs, which do set
    drain times.  In both cases we can just clear drain times across the
    machine.
    
    In addition to testing (and more tests coming for the case that caused
    this examination to begin with), we know that this works, as any system
    with a queue or set of overlapping queues across all resources on the
    machine forms a single equivalence class under the old code.
    2cda012d
CraySystem.py 74.6 KB