Skip to content

Commit 70e60ae

Browse files
committed
Fix tests migrated to Chainsaw
1 parent f720711 commit 70e60ae

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+264
-229
lines changed

.chainsaw.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ metadata:
66
spec:
77
parallel: 4
88
timeouts:
9-
assert: 5m0s
9+
assert: 6m0s
1010
cleanup: 5m0s
1111
delete: 5m0s
1212
error: 5m0s
13+
apply: 10s

tests/e2e-autoscale/autoscale/02-install.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ spec:
1515
- --otlp-insecure
1616
# High duration to ensure the trace creation doesn't stop.
1717
# It'll be stopped in step 4
18-
- --duration=1m
18+
- --duration=6m
1919
- --workers=20
2020
- traces
2121
restartPolicy: Never

tests/e2e-openshift/Dockerfile

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# The Dockerfile's resulting image is purpose-built for executing OpenTelemetry Operator e2e tests within the OpenShift release (https://github.com/openshift/release) using Prow CI.
22

3-
FROM golang:1.20
3+
FROM golang:1.21
44

55
# Copy the repository files
66
COPY . /tmp/opentelemetry-operator
@@ -25,6 +25,9 @@ RUN curl -LO https://github.com/kudobuilder/kuttl/releases/download/v0.15.0/kube
2525
&& chmod +x kubectl-kuttl_0.15.0_linux_x86_64 \
2626
&& mv kubectl-kuttl_0.15.0_linux_x86_64 /usr/local/bin/kuttl
2727

28+
# Install Chainsaw e2e testing tool
29+
RUN go install github.com/kyverno/chainsaw@latest
30+
2831
# Install kubectl and oc
2932
RUN curl -LO https://mirror.openshift.com/pub/openshift-v4/x86_64/clients/ocp/latest/openshift-client-linux.tar.gz \
3033
&& tar -xzf openshift-client-linux.tar.gz \

tests/e2e-openshift/kafka/00-assert.yaml

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: v1
22
kind: Namespace
33
metadata:
4-
name: kuttl-kafka
4+
name: chainsaw-kafka
55

66
---
77
apiVersion: apps/v1
@@ -17,7 +17,7 @@ metadata:
1717
strimzi.io/kind: Kafka
1818
strimzi.io/name: my-cluster-entity-operator
1919
name: my-cluster-entity-operator
20-
namespace: kuttl-kafka
20+
namespace: chainsaw-kafka
2121
status:
2222
availableReplicas: 1
2323
readyReplicas: 1
@@ -28,7 +28,7 @@ apiVersion: v1
2828
kind: Pod
2929
metadata:
3030
name: my-cluster-kafka-0
31-
namespace: kuttl-kafka
31+
namespace: chainsaw-kafka
3232
status:
3333
phase: Running
3434

@@ -37,7 +37,7 @@ apiVersion: v1
3737
kind: Pod
3838
metadata:
3939
name: my-cluster-zookeeper-0
40-
namespace: kuttl-kafka
40+
namespace: chainsaw-kafka
4141
status:
4242
phase: Running
4343

@@ -56,7 +56,7 @@ metadata:
5656
strimzi.io/kind: Kafka
5757
strimzi.io/name: my-cluster-kafka
5858
name: my-cluster-kafka-bootstrap
59-
namespace: kuttl-kafka
59+
namespace: chainsaw-kafka
6060
spec:
6161
ports:
6262
- name: tcp-replication
@@ -90,7 +90,7 @@ metadata:
9090
strimzi.io/kind: Kafka
9191
strimzi.io/name: my-cluster-kafka
9292
name: my-cluster-kafka-brokers
93-
namespace: kuttl-kafka
93+
namespace: chainsaw-kafka
9494
spec:
9595
ports:
9696
- name: tcp-ctrlplane
@@ -133,7 +133,7 @@ metadata:
133133
strimzi.io/kind: Kafka
134134
strimzi.io/name: my-cluster-zookeeper
135135
name: my-cluster-zookeeper-client
136-
namespace: kuttl-kafka
136+
namespace: chainsaw-kafka
137137
spec:
138138
ports:
139139
- name: tcp-clients
@@ -159,7 +159,7 @@ metadata:
159159
strimzi.io/kind: Kafka
160160
strimzi.io/name: my-cluster-zookeeper
161161
name: my-cluster-zookeeper-nodes
162-
namespace: kuttl-kafka
162+
namespace: chainsaw-kafka
163163
spec:
164164
ports:
165165
- name: tcp-clients

tests/e2e-openshift/kafka/00-create-kafka-instance.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
apiVersion: v1
44
kind: Namespace
55
metadata:
6-
name: kuttl-kafka
6+
name: chainsaw-kafka
77

88
---
99
apiVersion: kafka.strimzi.io/v1beta2
1010
kind: Kafka
1111
metadata:
1212
name: my-cluster
13-
namespace: kuttl-kafka
13+
namespace: chainsaw-kafka
1414
spec:
1515
entityOperator:
1616
topicOperator:

tests/e2e-openshift/kafka/01-assert.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: kafka.strimzi.io/v1beta2
22
kind: KafkaTopic
33
metadata:
44
name: otlp-spans
5-
namespace: kuttl-kafka
5+
namespace: chainsaw-kafka
66
spec:
77
config:
88
retention.ms: 300000

tests/e2e-openshift/kafka/01-create-kafka-topics.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ metadata:
44
labels:
55
strimzi.io/cluster: my-cluster
66
name: otlp-spans
7-
namespace: kuttl-kafka
7+
namespace: chainsaw-kafka
88
spec:
99
config:
1010
retention.ms: 300000

tests/e2e-openshift/kafka/02-assert.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ kind: Deployment
33
metadata:
44
labels:
55
app.kubernetes.io/component: opentelemetry-collector
6-
app.kubernetes.io/instance: kuttl-kafka.kafka-receiver
6+
app.kubernetes.io/instance: chainsaw-kafka.kafka-receiver
77
app.kubernetes.io/managed-by: opentelemetry-operator
88
app.kubernetes.io/name: kafka-receiver-collector
99
app.kubernetes.io/part-of: opentelemetry
1010
app.kubernetes.io/version: latest
1111
name: kafka-receiver-collector
12-
namespace: kuttl-kafka
12+
namespace: chainsaw-kafka
1313
status:
1414
availableReplicas: 1
1515
readyReplicas: 1
@@ -21,11 +21,11 @@ kind: Service
2121
metadata:
2222
labels:
2323
app.kubernetes.io/component: opentelemetry-collector
24-
app.kubernetes.io/instance: kuttl-kafka.kafka-receiver
24+
app.kubernetes.io/instance: chainsaw-kafka.kafka-receiver
2525
app.kubernetes.io/managed-by: opentelemetry-operator
2626
app.kubernetes.io/name: kafka-receiver-collector-monitoring
2727
name: kafka-receiver-collector-monitoring
28-
namespace: kuttl-kafka
28+
namespace: chainsaw-kafka
2929
spec:
3030
ports:
3131
- name: monitoring
@@ -34,6 +34,6 @@ spec:
3434
targetPort: 8888
3535
selector:
3636
app.kubernetes.io/component: opentelemetry-collector
37-
app.kubernetes.io/instance: kuttl-kafka.kafka-receiver
37+
app.kubernetes.io/instance: chainsaw-kafka.kafka-receiver
3838
app.kubernetes.io/managed-by: opentelemetry-operator
3939
type: ClusterIP

tests/e2e-openshift/kafka/02-otel-kakfa-receiver.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ apiVersion: opentelemetry.io/v1alpha1
22
kind: OpenTelemetryCollector
33
metadata:
44
name: kafka-receiver
5-
namespace: kuttl-kafka
5+
namespace: chainsaw-kafka
66
spec:
77
mode: "deployment"
88
config: |
99
receivers:
1010
kafka/traces:
11-
brokers: ["my-cluster-kafka-brokers.kuttl-kafka.svc:9092"]
11+
brokers: ["my-cluster-kafka-brokers.chainsaw-kafka.svc:9092"]
1212
protocol_version: 3.5.0
1313
topic: otlp-spans
1414
exporters:

tests/e2e-openshift/kafka/03-assert.yaml

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ kind: Deployment
33
metadata:
44
labels:
55
app.kubernetes.io/component: opentelemetry-collector
6-
app.kubernetes.io/instance: kuttl-kafka.kafka-exporter
6+
app.kubernetes.io/instance: chainsaw-kafka.kafka-exporter
77
app.kubernetes.io/managed-by: opentelemetry-operator
88
app.kubernetes.io/name: kafka-exporter-collector
99
app.kubernetes.io/part-of: opentelemetry
1010
app.kubernetes.io/version: latest
1111
name: kafka-exporter-collector
12-
namespace: kuttl-kafka
12+
namespace: chainsaw-kafka
1313
status:
1414
availableReplicas: 1
1515
readyReplicas: 1
@@ -21,11 +21,11 @@ kind: Service
2121
metadata:
2222
labels:
2323
app.kubernetes.io/component: opentelemetry-collector
24-
app.kubernetes.io/instance: kuttl-kafka.kafka-exporter
24+
app.kubernetes.io/instance: chainsaw-kafka.kafka-exporter
2525
app.kubernetes.io/managed-by: opentelemetry-operator
2626
app.kubernetes.io/name: kafka-exporter-collector
2727
name: kafka-exporter-collector
28-
namespace: kuttl-kafka
28+
namespace: chainsaw-kafka
2929
spec:
3030
ports:
3131
- appProtocol: grpc
@@ -40,7 +40,7 @@ spec:
4040
targetPort: 4318
4141
selector:
4242
app.kubernetes.io/component: opentelemetry-collector
43-
app.kubernetes.io/instance: kuttl-kafka.kafka-exporter
43+
app.kubernetes.io/instance: chainsaw-kafka.kafka-exporter
4444
app.kubernetes.io/managed-by: opentelemetry-operator
4545
sessionAffinity: None
4646

@@ -50,12 +50,12 @@ kind: Service
5050
metadata:
5151
labels:
5252
app.kubernetes.io/component: opentelemetry-collector
53-
app.kubernetes.io/instance: kuttl-kafka.kafka-exporter
53+
app.kubernetes.io/instance: chainsaw-kafka.kafka-exporter
5454
app.kubernetes.io/managed-by: opentelemetry-operator
5555
app.kubernetes.io/name: kafka-exporter-collector
5656
operator.opentelemetry.io/collector-headless-service: Exists
5757
name: kafka-exporter-collector-headless
58-
namespace: kuttl-kafka
58+
namespace: chainsaw-kafka
5959
spec:
6060
ports:
6161
- appProtocol: grpc
@@ -70,6 +70,6 @@ spec:
7070
targetPort: 4318
7171
selector:
7272
app.kubernetes.io/component: opentelemetry-collector
73-
app.kubernetes.io/instance: kuttl-kafka.kafka-exporter
73+
app.kubernetes.io/instance: chainsaw-kafka.kafka-exporter
7474
app.kubernetes.io/managed-by: opentelemetry-operator
7575
type: ClusterIP

tests/e2e-openshift/kafka/03-otel-kakfa-exporter.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: opentelemetry.io/v1alpha1
22
kind: OpenTelemetryCollector
33
metadata:
44
name: kafka-exporter
5-
namespace: kuttl-kafka
5+
namespace: chainsaw-kafka
66
spec:
77
mode: deployment
88
config: |
@@ -14,7 +14,7 @@ spec:
1414
processors:
1515
exporters:
1616
kafka/traces:
17-
brokers: ["my-cluster-kafka-brokers.kuttl-kafka.svc:9092"]
17+
brokers: ["my-cluster-kafka-brokers.chainsaw-kafka.svc:9092"]
1818
protocol_version: 3.5.0
1919
topic: otlp-spans
2020
service:

tests/e2e-openshift/kafka/04-generate-traces.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ spec:
1515
image: ghcr.io/open-telemetry/opentelemetry-collector-contrib/telemetrygen:v0.92.0
1616
command: ["./telemetrygen"]
1717
args:
18-
- "--otlp-endpoint=kafka-exporter-collector-headless.kuttl-kafka.svc:4317"
18+
- "--otlp-endpoint=kafka-exporter-collector-headless.chainsaw-kafka.svc:4317"
1919
- "--otlp-insecure=true"
2020
- "--rate=1"
2121
- "--duration=30s"
22-
- "--otlp-attributes=test=\"kuttl-kafka\""
22+
- "--otlp-attributes=test=\"chainsaw-kafka\""
2323
- "--otlp-header=kafka-topic=\"otlp-spans\""
2424
- "--service=\"kafka\""
2525
- "traces"

tests/e2e-openshift/kafka/chainsaw-test.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ spec:
3939
- name: step-05
4040
try:
4141
- script:
42-
content: ./tests/e2e-openshift/kafka/check_traces.sh
42+
content: ./check_traces.sh
+7-9
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
#!/bin/bash
2-
# This script checks the kafka-receiver OTEL collector pod for the presence of Traces.
32

43
# Define the label selector
5-
LABEL_SELECTOR="app.kubernetes.io/instance=kuttl-kafka.kafka-receiver"
4+
LABEL_SELECTOR="app.kubernetes.io/instance=chainsaw-kafka.kafka-receiver"
65

76
# Define the search strings
87
SEARCH_STRING1='-> service.name: Str("kafka")'
9-
SEARCH_STRING2='-> test: Str(kuttl-kafka)'
8+
SEARCH_STRING2='-> test: Str(chainsaw-kafka)'
109

1110
# Get the list of pods with the specified label
12-
PODS=$(kubectl -n kuttl-kafka get pods -l $LABEL_SELECTOR -o jsonpath='{.items[*].metadata.name}')
11+
PODS=$(kubectl -n chainsaw-kafka get pods -l $LABEL_SELECTOR -o jsonpath='{.items[*].metadata.name}')
1312

1413
# Initialize flags to track if strings are found
1514
FOUND1=false
@@ -18,22 +17,21 @@ FOUND2=false
1817
# Loop through each pod and search for the strings in the logs
1918
for POD in $PODS; do
2019
# Search for the first string
21-
if ! $FOUND1 && kubectl -n kuttl-kafka logs $POD | grep -q -- "$SEARCH_STRING1"; then
20+
if ! $FOUND1 && kubectl -n chainsaw-kafka logs $POD | grep -q -- "$SEARCH_STRING1"; then
2221
echo "\"$SEARCH_STRING1\" found in $POD"
2322
FOUND1=true
2423
fi
2524
# Search for the second string
26-
if ! $FOUND2 && kubectl -n kuttl-kafka logs $POD | grep -q -- "$SEARCH_STRING2"; then
25+
if ! $FOUND2 && kubectl -n chainsaw-kafka logs $POD | grep -q -- "$SEARCH_STRING2"; then
2726
echo "\"$SEARCH_STRING2\" found in $POD"
2827
FOUND2=true
2928
fi
3029
done
3130

3231
# Check if either of the strings was not found
3332
if ! $FOUND1 || ! $FOUND2; then
34-
echo "No Traces with service name Kafka and attribute test=kuttl-kafka found."
33+
echo "No Traces with service name Kafka and attribute test=chainsaw-kafka found."
3534
exit 1
3635
else
37-
echo "Traces with service name Kafka and attribute test=kuttl-kafka found."
36+
echo "Traces with service name Kafka and attribute test=chainsaw-kafka found."
3837
fi
39-
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: prometheus-operator
5+
namespace: openshift-user-workload-monitoring
6+
(status.replicas == spec.replicas): true
7+
spec:
8+
(replicas >= `1`): true
9+
10+
---
11+
apiVersion: apps/v1
12+
kind: StatefulSet
13+
metadata:
14+
name: prometheus-user-workload
15+
namespace: openshift-user-workload-monitoring
16+
(status.replicas == spec.replicas): true
17+
spec:
18+
(replicas >= `1`): true
19+
20+
---
21+
apiVersion: apps/v1
22+
kind: StatefulSet
23+
metadata:
24+
name: thanos-ruler-user-workload
25+
namespace: openshift-user-workload-monitoring
26+
(status.replicas == spec.replicas): true
27+
spec:
28+
(replicas >= `1`): true

tests/e2e-openshift/monitoring/03-assert.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apiVersion: rbac.authorization.k8s.io/v1
22
kind: ClusterRole
33
metadata:
4-
name: kuttl-cluster-monitoring-metrics-api
4+
name: chainsaw-monitoring-metrics-api
55
rules:
66
- apiGroups:
77
- monitoring.coreos.com
@@ -15,11 +15,11 @@ rules:
1515
apiVersion: rbac.authorization.k8s.io/v1
1616
kind: ClusterRoleBinding
1717
metadata:
18-
name: kuttl-cluster-monitoring-metrics-api
18+
name: chainsaw-monitoring-metrics-api
1919
roleRef:
2020
apiGroup: rbac.authorization.k8s.io
2121
kind: ClusterRole
22-
name: kuttl-cluster-monitoring-metrics-api
22+
name: chainsaw-monitoring-metrics-api
2323
subjects:
2424
- kind: ServiceAccount
2525
name: prometheus-user-workload

0 commit comments

Comments
 (0)