Skip to content

Commit

Permalink
Add e2e test case for OTEL Kafka receiver and exporter.
Browse files Browse the repository at this point in the history
  • Loading branch information
IshwarKanse committed Dec 8, 2023
1 parent d595f40 commit 2d52438
Show file tree
Hide file tree
Showing 12 changed files with 507 additions and 0 deletions.
180 changes: 180 additions & 0 deletions tests/e2e-openshift/kafka/00-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
apiVersion: v1
kind: Namespace
metadata:
name: kuttl-kafka

---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/instance: my-cluster
app.kubernetes.io/managed-by: strimzi-cluster-operator
app.kubernetes.io/name: entity-operator
app.kubernetes.io/part-of: strimzi-my-cluster
strimzi.io/cluster: my-cluster
strimzi.io/component-type: entity-operator
strimzi.io/kind: Kafka
strimzi.io/name: my-cluster-entity-operator
name: my-cluster-entity-operator
namespace: kuttl-kafka
status:
availableReplicas: 1
readyReplicas: 1
replicas: 1

---
apiVersion: v1
kind: Pod
metadata:
name: my-cluster-kafka-0
namespace: kuttl-kafka
status:
phase: Running

---
apiVersion: v1
kind: Pod
metadata:
name: my-cluster-zookeeper-0
namespace: kuttl-kafka
status:
phase: Running

---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/instance: my-cluster
app.kubernetes.io/managed-by: strimzi-cluster-operator
app.kubernetes.io/name: kafka
app.kubernetes.io/part-of: strimzi-my-cluster
strimzi.io/cluster: my-cluster
strimzi.io/component-type: kafka
strimzi.io/discovery: "true"
strimzi.io/kind: Kafka
strimzi.io/name: my-cluster-kafka
name: my-cluster-kafka-bootstrap
namespace: kuttl-kafka
spec:
ports:
- name: tcp-replication
port: 9091
protocol: TCP
targetPort: 9091
- name: tcp-clients
port: 9092
protocol: TCP
targetPort: 9092
- name: tcp-clientstls
port: 9093
protocol: TCP
targetPort: 9093
selector:
strimzi.io/cluster: my-cluster
strimzi.io/kind: Kafka
strimzi.io/name: my-cluster-kafka

---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/instance: my-cluster
app.kubernetes.io/managed-by: strimzi-cluster-operator
app.kubernetes.io/name: kafka
app.kubernetes.io/part-of: strimzi-my-cluster
strimzi.io/cluster: my-cluster
strimzi.io/component-type: kafka
strimzi.io/kind: Kafka
strimzi.io/name: my-cluster-kafka
name: my-cluster-kafka-brokers
namespace: kuttl-kafka
spec:
ports:
- name: tcp-ctrlplane
port: 9090
protocol: TCP
targetPort: 9090
- name: tcp-replication
port: 9091
protocol: TCP
targetPort: 9091
- name: tcp-kafkaagent
port: 8443
protocol: TCP
targetPort: 8443
- name: tcp-clients
port: 9092
protocol: TCP
targetPort: 9092
- name: tcp-clientstls
port: 9093
protocol: TCP
targetPort: 9093
publishNotReadyAddresses: true
selector:
strimzi.io/cluster: my-cluster
strimzi.io/kind: Kafka
strimzi.io/name: my-cluster-kafka

---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/instance: my-cluster
app.kubernetes.io/managed-by: strimzi-cluster-operator
app.kubernetes.io/name: zookeeper
app.kubernetes.io/part-of: strimzi-my-cluster
strimzi.io/cluster: my-cluster
strimzi.io/component-type: zookeeper
strimzi.io/kind: Kafka
strimzi.io/name: my-cluster-zookeeper
name: my-cluster-zookeeper-client
namespace: kuttl-kafka
spec:
ports:
- name: tcp-clients
port: 2181
protocol: TCP
targetPort: 2181
selector:
strimzi.io/cluster: my-cluster
strimzi.io/kind: Kafka
strimzi.io/name: my-cluster-zookeeper

---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/instance: my-cluster
app.kubernetes.io/managed-by: strimzi-cluster-operator
app.kubernetes.io/name: zookeeper
app.kubernetes.io/part-of: strimzi-my-cluster
strimzi.io/cluster: my-cluster
strimzi.io/component-type: zookeeper
strimzi.io/kind: Kafka
strimzi.io/name: my-cluster-zookeeper
name: my-cluster-zookeeper-nodes
namespace: kuttl-kafka
spec:
ports:
- name: tcp-clients
port: 2181
protocol: TCP
targetPort: 2181
- name: tcp-clustering
port: 2888
protocol: TCP
targetPort: 2888
- name: tcp-election
port: 3888
protocol: TCP
targetPort: 3888
selector:
strimzi.io/cluster: my-cluster
strimzi.io/kind: Kafka
strimzi.io/name: my-cluster-zookeeper
60 changes: 60 additions & 0 deletions tests/e2e-openshift/kafka/00-create-kafka-instance.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#For creating the Kafka instance, install the AMQ streams operator https://access.redhat.com/documentation/en-us/red_hat_amq_streams/2.5/html/getting_started_with_amq_streams_on_openshift/proc-deploying-cluster-operator-hub-str

apiVersion: v1
kind: Namespace
metadata:
name: kuttl-kafka

---
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
name: my-cluster
namespace: kuttl-kafka
spec:
entityOperator:
topicOperator:
reconciliationIntervalSeconds: 90
userOperator:
reconciliationIntervalSeconds: 120
kafka:
config:
log.message.format.version: 3.5.0
message.max.bytes: 10485760
offsets.topic.replication.factor: 1
ssl.cipher.suites: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
ssl.enabled.protocols: TLSv1.2
ssl.protocol: TLSv1.2
transaction.state.log.min.isr: 1
transaction.state.log.replication.factor: 1
jvmOptions:
-Xms: 1024m
-Xmx: 1024m
listeners:
- configuration:
useServiceDnsDomain: true
name: plain
port: 9092
tls: false
type: internal
- authentication:
type: tls
name: tls
port: 9093
tls: true
type: internal
replicas: 1
resources:
limits:
cpu: "1"
memory: 4Gi
requests:
cpu: "1"
memory: 4Gi
storage:
type: ephemeral
version: 3.5.0
zookeeper:
replicas: 1
storage:
type: ephemeral
13 changes: 13 additions & 0 deletions tests/e2e-openshift/kafka/01-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaTopic
metadata:
name: otlp-spans
namespace: kuttl-kafka
spec:
config:
retention.ms: 300000
segment.bytes: 1073741824
partitions: 1
replicas: 1
status:
topicName: otlp-spans
13 changes: 13 additions & 0 deletions tests/e2e-openshift/kafka/01-create-kafka-topics.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: kafka.strimzi.io/v1beta1
kind: KafkaTopic
metadata:
labels:
strimzi.io/cluster: my-cluster
name: otlp-spans
namespace: kuttl-kafka
spec:
config:
retention.ms: 300000
segment.bytes: 1073741824
partitions: 1
replicas: 1
39 changes: 39 additions & 0 deletions tests/e2e-openshift/kafka/02-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/component: opentelemetry-collector
app.kubernetes.io/instance: kuttl-kafka.kafka-receiver
app.kubernetes.io/managed-by: opentelemetry-operator
app.kubernetes.io/name: kafka-receiver-collector
app.kubernetes.io/part-of: opentelemetry
app.kubernetes.io/version: latest
name: kafka-receiver-collector
namespace: kuttl-kafka
status:
availableReplicas: 1
readyReplicas: 1
replicas: 1

---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/component: opentelemetry-collector
app.kubernetes.io/instance: kuttl-kafka.kafka-receiver
app.kubernetes.io/managed-by: opentelemetry-operator
app.kubernetes.io/name: kafka-receiver-collector-monitoring
name: kafka-receiver-collector-monitoring
namespace: kuttl-kafka
spec:
ports:
- name: monitoring
port: 8888
protocol: TCP
targetPort: 8888
selector:
app.kubernetes.io/component: opentelemetry-collector
app.kubernetes.io/instance: kuttl-kafka.kafka-receiver
app.kubernetes.io/managed-by: opentelemetry-operator
type: ClusterIP
22 changes: 22 additions & 0 deletions tests/e2e-openshift/kafka/02-otel-kakfa-receiver.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
name: kafka-receiver
namespace: kuttl-kafka
spec:
mode: "deployment"
config: |
receivers:
kafka/traces:
brokers: ["my-cluster-kafka-brokers.kuttl-kafka.svc:9092"]
protocol_version: 3.5.0
topic: otlp-spans
exporters:
debug:
verbosity: detailed
service:
pipelines:
traces:
receivers: [kafka/traces]
processors: []
exporters: [debug]
Loading

0 comments on commit 2d52438

Please sign in to comment.