Maksim Davydov created IGNITE-28976:
---------------------------------------

             Summary: [ducktests] Add optional demo breakpoints to pause a 
running scenario for inspection
                 Key: IGNITE-28976
                 URL: https://issues.apache.org/jira/browse/IGNITE-28976
             Project: Ignite
          Issue Type: Task
            Reporter: Maksim Davydov
            Assignee: Maksim Davydov


This adds an opt-in breakpoint mechanism: a test calls 
self.pause("pause-text"), which does nothing unless the _demo_pause _ global 
names that breakpoint, and otherwise blocks while publishing a banner 
(services, hosts, liveness, ready-to-paste ssh/tail/cat commands) to a control 
directory on the repo bind mount that every container already shares. 

A test is resumed by a resume file appearing in that directory, written either 
by hand or by a small stdlib-only host-side console, docker/demo_console.py, 
run in a second terminal; the test owns every deletion, so there is no race. 
The pause logs a heartbeat every 15 seconds to stay clear of 
--test-runner-timeout and auto-continues after demo_pause_timeout_sec (default 
1800) so a forgotten breakpoint cannot hang a run. 

Behaviour with the global absent is unchanged - no directory is created and no 
file I/O happens - making this usable for walkthroughs and for manual debugging 
of any ducktest, not just one scenario.



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

Reply via email to