Skip to content

Commit 34b1d1b

Browse files
committed
Support bridge release 0.34.0
Signed-off-by: Gantigmaa Selenge <tina.selenge@gmail.com>
1 parent af8049c commit 34b1d1b

File tree

9 files changed

+44
-14
lines changed

9 files changed

+44
-14
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
* The `ServerSideApplyPhase1` feature gate moves to beta stage and is enabled by default.
88
If needed, `ServerSideApplyPhase1` can be disabled in the feature gates configuration in the Cluster Operator.
99
* Fixed auto-rebalancing on scale up not running anymore when Cruise Control is not ready yet on the first attempt.
10+
* Update HTTP bridge to 0.34.0.
11+
* `/metrics` endpoint is no longer available on the regular HTTP interface (port 8080 by default). It is now available on the HTTP management interface, 8081.
12+
Users upgrading to Strimzi 0.51.0+ should check all monitoring configurations that scrape Kafka Bridge metrics and update them to use port 8081 instead of 8080 or any other non-default port before or immediately after the upgrade to avoid metrics collection failures.
1013

1114
### Major changes, deprecations, and removals
1215

bridge.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.33.1
1+
0.34.0

cluster-operator/src/main/java/io/strimzi/operator/cluster/model/KafkaBridgeCluster.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import io.fabric8.kubernetes.api.model.HasMetadata;
1313
import io.fabric8.kubernetes.api.model.LocalObjectReference;
1414
import io.fabric8.kubernetes.api.model.Service;
15+
import io.fabric8.kubernetes.api.model.ServicePort;
1516
import io.fabric8.kubernetes.api.model.Volume;
1617
import io.fabric8.kubernetes.api.model.VolumeMount;
1718
import io.fabric8.kubernetes.api.model.apps.Deployment;
@@ -88,6 +89,8 @@ public class KafkaBridgeCluster extends AbstractModel implements SupportsLogging
8889

8990
/* test */ static final String COMPONENT_TYPE = "kafka-bridge";
9091
protected static final String REST_API_PORT_NAME = "rest-api";
92+
/* test */ static final String REST_API_MANAGEMENT_PORT_NAME = "rest-api-mgmt";
93+
/* test */ static final int REST_API_MANAGEMENT_PORT = 8081;
9194
protected static final String TLS_CERTS_BASE_VOLUME_MOUNT = "/opt/strimzi/bridge-certs/";
9295
protected static final String PASSWORD_VOLUME_MOUNT = "/opt/strimzi/bridge-password/";
9396
protected static final String ENV_VAR_KAFKA_INIT_INIT_FOLDER_KEY = "INIT_FOLDER";
@@ -251,13 +254,17 @@ public Service generateService() {
251254
port = http.getPort();
252255
}
253256

257+
List<ServicePort> ports = new ArrayList<>();
258+
ports.add(ServiceUtils.createServicePort(REST_API_PORT_NAME, port, REST_API_PORT_NAME, "TCP"));
259+
ports.add(ServiceUtils.createServicePort(REST_API_MANAGEMENT_PORT_NAME, REST_API_MANAGEMENT_PORT, REST_API_MANAGEMENT_PORT_NAME, "TCP"));
260+
254261
return ServiceUtils.createDiscoverableClusterIpService(
255262
KafkaBridgeResources.serviceName(cluster),
256263
namespace,
257264
labels,
258265
ownerReference,
259266
templateService,
260-
List.of(ServiceUtils.createServicePort(REST_API_PORT_NAME, port, REST_API_PORT_NAME, "TCP")),
267+
ports,
261268
labels.strimziSelectorLabels(),
262269
ModelUtils.getCustomLabelsOrAnnotations(CO_ENV_VAR_CUSTOM_SERVICE_LABELS),
263270
Util.mergeLabelsOrAnnotations(getDiscoveryAnnotation(port), ModelUtils.getCustomLabelsOrAnnotations(CO_ENV_VAR_CUSTOM_SERVICE_ANNOTATIONS))
@@ -270,15 +277,23 @@ public Service generateService() {
270277
* @return JSON with discovery annotation
271278
*/
272279
/*test*/ Map<String, String> getDiscoveryAnnotation(int port) {
280+
JsonArray anno = new JsonArray();
281+
273282
JsonObject discovery = new JsonObject();
274283
discovery.put("port", port);
275284
discovery.put("tls", false);
276285
discovery.put("auth", "none");
277286
discovery.put("protocol", "http");
278287

279-
JsonArray anno = new JsonArray();
280288
anno.add(discovery);
281289

290+
JsonObject managementDiscovery = new JsonObject();
291+
discovery.put("port", REST_API_MANAGEMENT_PORT);
292+
discovery.put("tls", false);
293+
discovery.put("auth", "none");
294+
discovery.put("protocol", "http");
295+
anno.add(managementDiscovery);
296+
282297
return Collections.singletonMap(Labels.STRIMZI_DISCOVERY_LABEL, anno.encodePrettily());
283298
}
284299

@@ -291,6 +306,7 @@ protected List<ContainerPort> getContainerPortList() {
291306
}
292307

293308
portList.add(ContainerUtils.createContainerPort(REST_API_PORT_NAME, port));
309+
portList.add(ContainerUtils.createContainerPort(REST_API_MANAGEMENT_PORT_NAME, REST_API_MANAGEMENT_PORT));
294310

295311
return portList;
296312
}
@@ -413,8 +429,8 @@ private Container createContainer(ImagePullPolicy imagePullPolicy) {
413429
getEnvVars(),
414430
getContainerPortList(),
415431
getVolumeMounts(),
416-
ProbeUtils.httpProbe(livenessProbeOptions, "/healthy", REST_API_PORT_NAME),
417-
ProbeUtils.httpProbe(readinessProbeOptions, "/ready", REST_API_PORT_NAME),
432+
ProbeUtils.httpProbe(livenessProbeOptions, "/healthy", REST_API_MANAGEMENT_PORT_NAME),
433+
ProbeUtils.httpProbe(readinessProbeOptions, "/ready", REST_API_MANAGEMENT_PORT_NAME),
418434
imagePullPolicy
419435
);
420436
}

cluster-operator/src/test/java/io/strimzi/operator/cluster/model/KafkaBridgeClusterTest.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,10 +188,13 @@ public void testGenerateService() {
188188
assertThat(svc.getSpec().getType(), is("ClusterIP"));
189189
assertThat(svc.getMetadata().getLabels(), is(expectedServiceLabels(kbc.getComponentName())));
190190
assertThat(svc.getSpec().getSelector(), is(expectedSelectorLabels()));
191-
assertThat(svc.getSpec().getPorts().size(), is(1));
191+
assertThat(svc.getSpec().getPorts().size(), is(2));
192192
assertThat(svc.getSpec().getPorts().get(0).getPort(), is(KafkaBridgeCluster.DEFAULT_REST_API_PORT));
193193
assertThat(svc.getSpec().getPorts().get(0).getName(), is(KafkaBridgeCluster.REST_API_PORT_NAME));
194194
assertThat(svc.getSpec().getPorts().get(0).getProtocol(), is("TCP"));
195+
assertThat(svc.getSpec().getPorts().get(1).getPort(), is(KafkaBridgeCluster.REST_API_MANAGEMENT_PORT));
196+
assertThat(svc.getSpec().getPorts().get(1).getName(), is(KafkaBridgeCluster.REST_API_MANAGEMENT_PORT_NAME));
197+
assertThat(svc.getSpec().getPorts().get(1).getProtocol(), is("TCP"));
195198
assertThat(svc.getSpec().getIpFamilyPolicy(), is(nullValue()));
196199
assertThat(svc.getSpec().getIpFamilies(), is(nullValue()));
197200

@@ -219,10 +222,13 @@ public void testGenerateDeployment() {
219222
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getLivenessProbe().getTimeoutSeconds(), is(healthTimeout));
220223
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getReadinessProbe().getInitialDelaySeconds(), is(healthDelay));
221224
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getReadinessProbe().getTimeoutSeconds(), is(healthTimeout));
222-
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().size(), is(1));
225+
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().size(), is(2));
223226
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(0).getContainerPort(), is(KafkaBridgeCluster.DEFAULT_REST_API_PORT));
224227
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(0).getName(), is(KafkaBridgeCluster.REST_API_PORT_NAME));
225228
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(0).getProtocol(), is("TCP"));
229+
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(1).getContainerPort(), is(KafkaBridgeCluster.REST_API_MANAGEMENT_PORT));
230+
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(1).getName(), is(KafkaBridgeCluster.REST_API_MANAGEMENT_PORT_NAME));
231+
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(1).getProtocol(), is("TCP"));
226232
assertThat(dep.getSpec().getStrategy().getType(), is("RollingUpdate"));
227233
assertThat(dep.getSpec().getStrategy().getRollingUpdate().getMaxSurge().getIntVal(), is(1));
228234
assertThat(dep.getSpec().getStrategy().getRollingUpdate().getMaxUnavailable().getIntVal(), is(0));
@@ -1336,11 +1342,14 @@ public void testDifferentHttpPort() {
13361342
Deployment dep = kb.generateDeployment(emptyMap(), true, null, null);
13371343
Container cont = dep.getSpec().getTemplate().getSpec().getContainers().get(0);
13381344

1339-
assertThat(cont.getLivenessProbe().getHttpGet().getPort(), is(new IntOrString(KafkaBridgeCluster.REST_API_PORT_NAME)));
1340-
assertThat(cont.getReadinessProbe().getHttpGet().getPort(), is(new IntOrString(KafkaBridgeCluster.REST_API_PORT_NAME)));
1345+
assertThat(cont.getLivenessProbe().getHttpGet().getPort(), is(new IntOrString(KafkaBridgeCluster.REST_API_MANAGEMENT_PORT_NAME)));
1346+
assertThat(cont.getReadinessProbe().getHttpGet().getPort(), is(new IntOrString(KafkaBridgeCluster.REST_API_MANAGEMENT_PORT_NAME)));
13411347
assertThat(cont.getPorts().get(0).getContainerPort(), is(1874));
1348+
assertThat(cont.getPorts().get(1).getContainerPort(), is(KafkaBridgeCluster.REST_API_MANAGEMENT_PORT));
13421349
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(0).getName(), is(KafkaBridgeCluster.REST_API_PORT_NAME));
13431350
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(0).getProtocol(), is("TCP"));
1351+
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(1).getName(), is(KafkaBridgeCluster.REST_API_MANAGEMENT_PORT_NAME));
1352+
assertThat(dep.getSpec().getTemplate().getSpec().getContainers().get(0).getPorts().get(1).getProtocol(), is("TCP"));
13441353

13451354
// Check ports on Service
13461355
Service svc = kb.generateService();
@@ -1352,6 +1361,8 @@ public void testDifferentHttpPort() {
13521361
assertThat(svc.getSpec().getPorts().get(0).getName(), is(KafkaBridgeCluster.REST_API_PORT_NAME));
13531362
assertThat(svc.getSpec().getPorts().get(0).getProtocol(), is("TCP"));
13541363
assertThat(svc.getMetadata().getAnnotations(), is(kbc.getDiscoveryAnnotation(1874)));
1364+
assertThat(svc.getSpec().getPorts().get(1).getPort(), is(KafkaBridgeCluster.REST_API_MANAGEMENT_PORT));
1365+
assertThat(svc.getSpec().getPorts().get(1).getName(), is(KafkaBridgeCluster.REST_API_MANAGEMENT_PORT_NAME));
13551366
io.strimzi.operator.cluster.TestUtils.checkOwnerReference(svc, resource);
13561367
}
13571368

packaging/examples/metrics/prometheus-install/pod-monitors/bridge-metrics.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ spec:
1414
- myproject
1515
podMetricsEndpoints:
1616
- path: /metrics
17-
port: rest-api
17+
port: rest-api-mgmt

packaging/helm-charts/helm3/strimzi-kafka-operator/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ the documentation for more details.
170170
| `kafkaBridge.image.registry` | Override default Kafka Bridge image registry | `quay.io` |
171171
| `kafkaBridge.image.repository` | Override default Kafka Bridge image repository | `strimzi` |
172172
| `kafkaBridge.image.name` | Kafka Bridge image name | `kafka-bridge` |
173-
| `kafkaBridge.image.tag` | Override default Kafka Bridge image tag | `0.33.1` |
173+
| `kafkaBridge.image.tag` | Override default Kafka Bridge image tag | `0.34.0` |
174174
| `kafkaBridge.image.digest` | Override Kafka Bridge image tag with digest | `nil` |
175175
| `kafkaExporter.image.registry` | Override default Kafka Exporter image registry | `nil` |
176176
| `kafkaExporter.image.repository` | Override default Kafka Exporter image repository | `nil` |

packaging/helm-charts/helm3/strimzi-kafka-operator/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ kafkaBridge:
147147
registry: ""
148148
repository:
149149
name: kafka-bridge
150-
tag: 0.33.1
150+
tag: 0.34.0
151151
kafkaExporter:
152152
image:
153153
registry: ""

packaging/install/cluster-operator/060-Deployment-strimzi-cluster-operator.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ spec:
7373
- name: STRIMZI_DEFAULT_KAFKA_INIT_IMAGE
7474
value: quay.io/strimzi/operator:latest
7575
- name: STRIMZI_DEFAULT_KAFKA_BRIDGE_IMAGE
76-
value: quay.io/strimzi/kafka-bridge:0.33.1
76+
value: quay.io/strimzi/kafka-bridge:0.34.0
7777
- name: STRIMZI_DEFAULT_KANIKO_EXECUTOR_IMAGE
7878
value: quay.io/strimzi/kaniko-executor:latest
7979
- name: STRIMZI_DEFAULT_BUILDAH_IMAGE

systemtest/src/main/java/io/strimzi/systemtest/TestConstants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ public interface TestConstants {
143143
int CLUSTER_OPERATOR_METRICS_PORT = 8080;
144144
int USER_OPERATOR_METRICS_PORT = 8081;
145145
int TOPIC_OPERATOR_METRICS_PORT = 8080;
146-
int KAFKA_BRIDGE_METRICS_PORT = 8080;
146+
int KAFKA_BRIDGE_METRICS_PORT = 8081;
147147
int JMX_PORT = 9999;
148148

149149
String DEPLOYMENT = "Deployment";

0 commit comments

Comments
 (0)