|
15 | 15 |
|
16 | 16 | import random
|
17 | 17 | import time
|
18 |
| -from ducktape.mark import matrix, ignore |
| 18 | +from ducktape.mark import matrix |
19 | 19 | from ducktape.mark.resource import cluster
|
20 | 20 | from ducktape.tests.test import Test
|
21 | 21 | from ducktape.utils.util import wait_until
|
@@ -111,97 +111,6 @@ def perform_broker_upgrade(self, to_version):
|
111 | 111 | node.version = KafkaVersion(to_version)
|
112 | 112 | self.kafka.start_node(node)
|
113 | 113 |
|
114 |
| - @ignore |
115 |
| - @cluster(num_nodes=6) |
116 |
| - @matrix(from_version=broker_upgrade_versions, to_version=broker_upgrade_versions) |
117 |
| - def test_upgrade_downgrade_brokers(self, from_version, to_version): |
118 |
| - """ |
119 |
| - Start a smoke test client then perform rolling upgrades on the broker. |
120 |
| - """ |
121 |
| - |
122 |
| - if from_version == to_version: |
123 |
| - return |
124 |
| - |
125 |
| - self.replication = 3 |
126 |
| - self.num_kafka_nodes = 3 |
127 |
| - self.partitions = 1 |
128 |
| - self.isr = 2 |
129 |
| - self.topics = { |
130 |
| - 'echo' : { 'partitions': self.partitions, 'replication-factor': self.replication, |
131 |
| - 'configs': {"min.insync.replicas": self.isr}}, |
132 |
| - 'data' : { 'partitions': self.partitions, 'replication-factor': self.replication, |
133 |
| - 'configs': {"min.insync.replicas": self.isr} }, |
134 |
| - 'min' : { 'partitions': self.partitions, 'replication-factor': self.replication, |
135 |
| - 'configs': {"min.insync.replicas": self.isr} }, |
136 |
| - 'max' : { 'partitions': self.partitions, 'replication-factor': self.replication, |
137 |
| - 'configs': {"min.insync.replicas": self.isr} }, |
138 |
| - 'sum' : { 'partitions': self.partitions, 'replication-factor': self.replication, |
139 |
| - 'configs': {"min.insync.replicas": self.isr} }, |
140 |
| - 'dif' : { 'partitions': self.partitions, 'replication-factor': self.replication, |
141 |
| - 'configs': {"min.insync.replicas": self.isr} }, |
142 |
| - 'cnt' : { 'partitions': self.partitions, 'replication-factor': self.replication, |
143 |
| - 'configs': {"min.insync.replicas": self.isr} }, |
144 |
| - 'avg' : { 'partitions': self.partitions, 'replication-factor': self.replication, |
145 |
| - 'configs': {"min.insync.replicas": self.isr} }, |
146 |
| - 'wcnt' : { 'partitions': self.partitions, 'replication-factor': self.replication, |
147 |
| - 'configs': {"min.insync.replicas": self.isr} }, |
148 |
| - 'tagg' : { 'partitions': self.partitions, 'replication-factor': self.replication, |
149 |
| - 'configs': {"min.insync.replicas": self.isr} } |
150 |
| - } |
151 |
| - |
152 |
| - # Setup phase |
153 |
| - self.zk = ZookeeperService(self.test_context, num_nodes=1) |
154 |
| - self.zk.start() |
155 |
| - |
156 |
| - # number of nodes needs to be >= 3 for the smoke test |
157 |
| - self.kafka = KafkaService(self.test_context, num_nodes=self.num_kafka_nodes, |
158 |
| - zk=self.zk, version=KafkaVersion(from_version), topics=self.topics) |
159 |
| - self.kafka.start() |
160 |
| - |
161 |
| - # allow some time for topics to be created |
162 |
| - wait_until(lambda: self.confirm_topics_on_all_brokers(set(self.topics.keys())), |
163 |
| - timeout_sec=60, |
164 |
| - err_msg="Broker did not create all topics in 60 seconds ") |
165 |
| - |
166 |
| - self.driver = StreamsSmokeTestDriverService(self.test_context, self.kafka) |
167 |
| - |
168 |
| - processor = StreamsSmokeTestJobRunnerService(self.test_context, self.kafka, "at_least_once") |
169 |
| - |
170 |
| - with self.driver.node.account.monitor_log(self.driver.STDOUT_FILE) as driver_monitor: |
171 |
| - self.driver.start() |
172 |
| - |
173 |
| - with processor.node.account.monitor_log(processor.STDOUT_FILE) as monitor: |
174 |
| - processor.start() |
175 |
| - monitor.wait_until(self.processed_data_msg, |
176 |
| - timeout_sec=60, |
177 |
| - err_msg="Never saw output '%s' on " % self.processed_data_msg + str(processor.node)) |
178 |
| - |
179 |
| - connected_message = "Discovered group coordinator" |
180 |
| - with processor.node.account.monitor_log(processor.LOG_FILE) as log_monitor: |
181 |
| - with processor.node.account.monitor_log(processor.STDOUT_FILE) as stdout_monitor: |
182 |
| - self.perform_broker_upgrade(to_version) |
183 |
| - |
184 |
| - log_monitor.wait_until(connected_message, |
185 |
| - timeout_sec=120, |
186 |
| - err_msg=("Never saw output '%s' on " % connected_message) + str(processor.node.account)) |
187 |
| - |
188 |
| - stdout_monitor.wait_until(self.processed_data_msg, |
189 |
| - timeout_sec=60, |
190 |
| - err_msg="Never saw output '%s' on" % self.processed_data_msg + str(processor.node.account)) |
191 |
| - |
192 |
| - # SmokeTestDriver allows up to 6 minutes to consume all |
193 |
| - # records for the verification step so this timeout is set to |
194 |
| - # 6 minutes (360 seconds) for consuming of verification records |
195 |
| - # and a very conservative additional 2 minutes (120 seconds) to process |
196 |
| - # the records in the verification step |
197 |
| - driver_monitor.wait_until('ALL-RECORDS-DELIVERED\|PROCESSED-MORE-THAN-GENERATED', |
198 |
| - timeout_sec=480, |
199 |
| - err_msg="Never saw output '%s' on" % 'ALL-RECORDS-DELIVERED|PROCESSED-MORE-THAN-GENERATED' + str(self.driver.node.account)) |
200 |
| - |
201 |
| - self.driver.stop() |
202 |
| - processor.stop() |
203 |
| - processor.node.account.ssh_capture("grep SMOKE-TEST-CLIENT-CLOSED %s" % processor.STDOUT_FILE, allow_fail=False) |
204 |
| - |
205 | 114 | @cluster(num_nodes=6)
|
206 | 115 | @matrix(from_version=metadata_1_versions)
|
207 | 116 | @matrix(from_version=metadata_2_versions)
|
|
0 commit comments