18
18
import json
19
19
import time
20
20
21
+ from sdcm .cluster import BaseCluster , BaseScyllaCluster
22
+ from sdcm .cluster_aws import CassandraAWSCluster , ScyllaAWSCluster
21
23
from sdcm .sct_events import Severity
22
24
from sdcm .utils .common import FileFollowerThread
23
25
from sdcm .sct_events .loaders import GeminiStressEvent , GeminiStressLogEvent
@@ -60,7 +62,7 @@ def run(self):
60
62
class GeminiStressThread (DockerBasedStressThread ): # pylint: disable=too-many-instance-attributes
61
63
DOCKER_IMAGE_PARAM_NAME = "stress_image.gemini"
62
64
63
- def __init__ (self , test_cluster , oracle_cluster , loaders , stress_cmd , timeout = None , params = None ): # pylint: disable=too-many-arguments
65
+ def __init__ (self , test_cluster : BaseCluster | BaseScyllaCluster , oracle_cluster : ScyllaAWSCluster | CassandraAWSCluster | None , loaders , stress_cmd : str , timeout = None , params = None ): # pylint: disable=too-many-arguments
64
66
super ().__init__ (loader_set = loaders , stress_cmd = stress_cmd , timeout = timeout , params = params )
65
67
self .test_cluster = test_cluster
66
68
self .oracle_cluster = oracle_cluster
@@ -106,13 +108,10 @@ def _generate_gemini_command(self):
106
108
seed = self .params .get ("gemini_seed" ) or random .randint (1 , 100 )
107
109
table_options = self .params .get ("gemini_table_options" )
108
110
log_statements = self .params .get ("gemini_log_cql_statements" ) or False
109
-
110
111
test_nodes = "," .join (self .test_cluster .get_node_cql_ips ())
111
- oracle_nodes = "," .join (self .oracle_cluster .get_node_cql_ips ())
112
112
113
113
cmd = f"gemini \
114
114
--non-interactive \
115
- --oracle-cluster=\" { oracle_nodes } \" \
116
115
--test-cluster=\" { test_nodes } \" \
117
116
--seed={ seed } \
118
117
--schema-seed={ seed } \
@@ -122,6 +121,10 @@ def _generate_gemini_command(self):
122
121
--replication-strategy=\" {{'class': 'NetworkTopologyStrategy', 'replication_factor': '3'}}\" \
123
122
--oracle-replication-strategy=\" {{'class': 'NetworkTopologyStrategy', 'replication_factor': '1'}}\" "
124
123
124
+ if self .oracle_cluster is not None :
125
+ oracle_nodes = "," .join (self .oracle_cluster .get_node_cql_ips ())
126
+ cmd += f'--oracle-cluster="{ oracle_nodes } " '
127
+
125
128
if log_statements :
126
129
cmd += f"--test-statement-log-file=/{ self .gemini_test_statements_file } \
127
130
--oracle-statement-log-file=/{ self .gemini_oracle_statements_file } "
0 commit comments