feat(scheduler-allocator-runner): runner plan and claim search (task 3.2)
The runner tries the plugin's plans in order and claims one distinct host per bucket, with parjob's rollback and claim snapshots, nslots/nhosts per candidate, a growable claims buffer and malformed-plan skipping. It clears alloc_req.host before every candidate so each short host gets its pend reasons (Req 3.6/3.7). Result assembly follows in task 3.3; until then a satisfied plan's claims are released and the attempt pends. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d9ef983014
commit
0c011f784e
4 changed files with 1080 additions and 14 deletions
|
|
@ -1756,6 +1756,18 @@ sched_alloc_runner_test = executable(
|
|||
link_args: ['-Wl,--wrap=make_pendreason'],
|
||||
install: false)
|
||||
|
||||
# scheduler-allocator-runner task 3.2 (Req 2.3, 3.1-3.8, 5.5, 5.7): the
|
||||
# runner's plan and claim search with rollback, same white-box stack as
|
||||
# above. xvec_dup is wrapped to fail a claim snapshot; the claims-buffer
|
||||
# realloc is replaced inside the test file (alloc_runner.c only).
|
||||
sched_alloc_runner_search_test = executable(
|
||||
'sched_alloc_runner_search_test',
|
||||
['test_alloc_runner_search.c'],
|
||||
include_directories:[incdir],
|
||||
dependencies: [scheduler_test_deps],
|
||||
link_args: ['-Wl,--wrap=xvec_dup'],
|
||||
install: false)
|
||||
|
||||
# Task 3.2 (scheduler-allocation spec, Req 9.1): the dedicated pre/post-
|
||||
# rewrap host-selection EQUIVALENCE proof for seqjob_allocator.c's
|
||||
# my_alloc() -- fixture states task 3.1's own smoke test does not cover
|
||||
|
|
@ -2031,6 +2043,9 @@ test('scheduler alloc equivalence parjob test',
|
|||
# Leak detection stays on: every fixture tears down its ctx and core.
|
||||
test('scheduler alloc runner test',
|
||||
sched_alloc_runner_test, suite: 'scheduler')
|
||||
# Leak detection stays on: every fixture tears down its ctx and core.
|
||||
test('scheduler alloc runner search test',
|
||||
sched_alloc_runner_search_test, suite: 'scheduler')
|
||||
test('scheduler seqjob rewrap equivalence test',
|
||||
sched_seqjob_rewrap_equivalence_test, suite: 'scheduler',
|
||||
env: ['ASAN_OPTIONS=detect_leaks=0'])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue