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)