Dale Richardson created YUNIKORN-3385:
-----------------------------------------

             Summary: Informer event-ordering property fuzzer
                 Key: YUNIKORN-3385
                 URL: https://issues.apache.org/jira/browse/YUNIKORN-3385
             Project: Apache YuniKorn
          Issue Type: Test
          Components: core - scheduler, shim - kubernetes
            Reporter: Dale Richardson


A metamorphic property fuzzer for the shim's informer event handlers. The 
informer
contract permits legal reorderings (create collapsed into update, stale delete
objects, resync duplicates, arbitrary cross-object interleaving); YUNIKORN-3317 
was
exactly an ordering bug and no tool covered the class.

h3. Design (metamorphic, no reference model)

Generate a logical final truth (a small set of pods and nodes, YuniKorn-managed
and foreign, with per-object version histories), enumerate/sample N legal 
delivery
orderings of the SAME history, drive a fresh Context's handlers
(AddPod/UpdatePod/DeletePod, addNode/updateNode/deleteNode) with each, and 
assert
all orderings converge to the identical cache end-state (cached pods and their
node/phase, foreign-pod set, node set, live foreign allocations). A divergence
reports the seed, both orderings' full event traces, and the first differing 
field.

Two generator constraints keep the oracle sound (documented in the file): pod
assignment/resources are immutable once set, and a node any pod is assigned to 
is
never deleted (a node delete genuinely loses information).

h3. Proof of value

Run against branch-1.8 it rediscovers YUNIKORN-3317 on 4 of 5 seeds -- a foreign
pod whose create was collapsed into an update is never reported to the core, 
while
the same history with a plain create books it. That is the retro-validation the
earlier backport probe could not produce.

On master it also found a live convergence divergence, filed as YUNIKORN-3381
(terminated-while-orphaned foreign pod re-adopted as a phantom allocation).

h3. Note

Red-by-design on master until YUNIKORN-3381 is fixed; draft per the 
YUNIKORN-3373
precedent.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to