Skip to content

Conversation

@vkarak
Copy link
Contributor

@vkarak vkarak commented Mar 18, 2024

The key problem with those options currently is that there is no way to select a node that is exclusively in the idle state. As a result, nodes in idle+drain etc. states will be selected and jobs will be blocked forever. This PR fixes this by introducing exclusive state selection. More specifically, the following changes are made:

  1. The STATE argument implies exclusive state selection.
  2. The old behaviour is preserved with STATE*, meaning that a node to be selected must be at least in state STATE.
  3. The new special argument avail is added which will selected all the nodes available for running a job. For Slurm, these are nodes in IDLE, ALLOCATED or COMPLETING states.

Closes #2258.

@vkarak vkarak added this to the ReFrame 4.6 milestone Mar 18, 2024
@vkarak vkarak requested review from ekouts and teojgo March 18, 2024 14:59
@vkarak vkarak self-assigned this Mar 18, 2024
@codecov
Copy link

codecov bot commented Mar 18, 2024

Codecov Report

Attention: Patch coverage is 79.41176% with 7 lines in your changes are missing coverage. Please review.

Project coverage is 86.65%. Comparing base (7e6514a) to head (b5bb0ea).

Files Patch % Lines
reframe/core/schedulers/__init__.py 69.56% 7 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3140      +/-   ##
===========================================
- Coverage    86.66%   86.65%   -0.02%     
===========================================
  Files           61       61              
  Lines        12092    12105      +13     
===========================================
+ Hits         10480    10489       +9     
- Misses        1612     1616       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@vkarak vkarak merged commit 8e9036f into reframe-hpc:develop Mar 20, 2024
@vkarak vkarak deleted the feat/distribute-states branch March 20, 2024 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Add an argument to --flex-alloc-nodes option that will allow you to select only the nodes that are up

2 participants