CASSANDRA-15158 give node a bit more time to come up
diff --git a/bootstrap_test.py b/bootstrap_test.py
index 1cda916..51ee32e 100644
--- a/bootstrap_test.py
+++ b/bootstrap_test.py
@@ -482,11 +482,17 @@
 
             node3 = new_node(cluster, data_center='dc2')
             node3.start(jvm_args=["-Dcassandra.write_survey=true"], no_wait=True)
-            time.sleep(5)
 
+            node3_seen = False
+            for _ in range(30):  # give node3 up to 30 seconds to start
+                ntout = node1.nodetool('status').stdout
+                if re.search(r'UJ\s+' + node3.ip_addr, ntout):
+                    node3_seen = True
+                    break
+                time.sleep(1)
 
-            ntout = node1.nodetool('status').stdout
-            assert re.search(r'UJ\s+' + node3.ip_addr, ntout), ntout
+            assert node3_seen, "expected {} in status:\n{}".format(node3.ip_addr, ntout)
+
             out, err, _ = node1.stress(['user', 'profile=' + stress_config.name, 'ops(insert=1)',
                                         'n=10k', 'no-warmup', 'cl=LOCAL_QUORUM',
                                         '-rate', 'threads=10',
@@ -768,6 +774,12 @@
         node2 = new_node(cluster)
         node2.start()
 
+        for _ in range(30):  # wait until node2 shows up
+            ntout = node1.nodetool('status').stdout
+            if re.search(r'UJ\s+' + node2.ip_addr, ntout):
+                break
+            time.sleep(0.1)
+
         node3 = new_node(cluster, remote_debug_port='2003')
         try:
             node3.start(wait_other_notice=False, verbose=False)