I think runner.sh achieves tom's goal for a persistent cloud followed by possibly failing tests, followed by a wait for timeout (deadman switch on the cloud build) with clean death of child processes(python and h2o, (notably local or remote like normally today) if runner.sh dies (jenkins job killed, or if run at command line, <ctrl-c>.