aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormregrock <mregrock@ydb.tech>2025-06-02 16:56:34 +0300
committerGitHub <noreply@github.com>2025-06-02 13:56:34 +0000
commit53e9f5aadbe3a7800b8ae7cd3a8f62fb855de0b1 (patch)
treea893a0e389300dfaad9b0d1fe62a5e34ed9c4aa1
parent4c319d97d5c8bec52ca003faa806780df03d3e62 (diff)
downloadydb-53e9f5aadbe3a7800b8ae7cd3a8f62fb855de0b1.tar.gz
Add timeout for bootstrap in kikimr_runner.py (#19095)
-rw-r--r--ydb/tests/library/harness/kikimr_runner.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/ydb/tests/library/harness/kikimr_runner.py b/ydb/tests/library/harness/kikimr_runner.py
index 90e65d98421..a201e8cf1fb 100644
--- a/ydb/tests/library/harness/kikimr_runner.py
+++ b/ydb/tests/library/harness/kikimr_runner.py
@@ -429,6 +429,19 @@ class KiKiMR(kikimr_cluster_interface.KiKiMRClusterInterface):
for _ in self.__configurator.all_node_ids():
self.__register_node()
+ def _bootstrap_cluster(self, self_assembly_uuid="test-cluster", timeout=30, interval=2):
+ start_time = time.time()
+ last_exception = None
+ while time.time() - start_time < timeout:
+ try:
+ result = self.config_client.bootstrap_cluster(self_assembly_uuid=self_assembly_uuid)
+ logger.info("Successfully bootstrapped cluster")
+ return result
+ except Exception as e:
+ last_exception = e
+ time.sleep(interval)
+ raise last_exception
+
def __run(self):
self.prepare()
@@ -436,7 +449,7 @@ class KiKiMR(kikimr_cluster_interface.KiKiMRClusterInterface):
self.__run_node(node_id)
if self.__configurator.use_self_management:
- self.config_client.bootstrap_cluster(self_assembly_uuid="test-cluster")
+ self._bootstrap_cluster(self_assembly_uuid="test-cluster")
bs_needed = ('blob_storage_config' in self.__configurator.yaml_config) or self.__configurator.use_self_management