Skip to content

Commit 2e7822f

Browse files
committed
Add e2e test case for multi-cluster by exposing OTEL collector.
1 parent 7eead22 commit 2e7822f

15 files changed

+737
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: project.openshift.io/v1
2+
kind: Project
3+
metadata:
4+
name: kuttl-multi-cluster-send
5+
status:
6+
phase: Active
7+
8+
apiVersion: project.openshift.io/v1
9+
kind: Project
10+
metadata:
11+
name: kuttl-multi-cluster-receive
12+
status:
13+
phase: Active
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
name: kuttl-multi-cluster-send
5+
6+
---
7+
apiVersion: v1
8+
kind: Namespace
9+
metadata:
10+
name: kuttl-multi-cluster-receive
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
labels:
5+
app: jaeger
6+
app.kubernetes.io/component: all-in-one
7+
app.kubernetes.io/instance: jaeger-allinone
8+
app.kubernetes.io/managed-by: jaeger-operator
9+
app.kubernetes.io/name: jaeger-allinone
10+
app.kubernetes.io/part-of: jaeger
11+
name: jaeger-allinone
12+
namespace: kuttl-multi-cluster-receive
13+
status:
14+
availableReplicas: 1
15+
readyReplicas: 1
16+
replicas: 1
17+
18+
---
19+
apiVersion: v1
20+
kind: Service
21+
metadata:
22+
labels:
23+
app: jaeger
24+
app.kubernetes.io/component: service-collector
25+
app.kubernetes.io/instance: jaeger-allinone
26+
app.kubernetes.io/managed-by: jaeger-operator
27+
app.kubernetes.io/name: jaeger-allinone-collector
28+
app.kubernetes.io/part-of: jaeger
29+
name: jaeger-allinone-collector
30+
namespace: kuttl-multi-cluster-receive
31+
spec:
32+
ports:
33+
- name: http-zipkin
34+
port: 9411
35+
protocol: TCP
36+
targetPort: 9411
37+
- name: tls-grpc-jaeger
38+
port: 14250
39+
protocol: TCP
40+
targetPort: 14250
41+
- name: http-c-tchan-trft
42+
port: 14267
43+
protocol: TCP
44+
targetPort: 14267
45+
- name: http-c-binary-trft
46+
port: 14268
47+
protocol: TCP
48+
targetPort: 14268
49+
- name: admin-http
50+
port: 14269
51+
protocol: TCP
52+
targetPort: 14269
53+
- name: grpc-otlp
54+
port: 4317
55+
protocol: TCP
56+
targetPort: 4317
57+
- name: http-otlp
58+
port: 4318
59+
protocol: TCP
60+
targetPort: 4318
61+
selector:
62+
app: jaeger
63+
app.kubernetes.io/component: all-in-one
64+
app.kubernetes.io/instance: jaeger-allinone
65+
app.kubernetes.io/managed-by: jaeger-operator
66+
app.kubernetes.io/name: jaeger-allinone
67+
app.kubernetes.io/part-of: jaeger
68+
type: ClusterIP
69+
70+
---
71+
apiVersion: v1
72+
kind: Service
73+
metadata:
74+
labels:
75+
app: jaeger
76+
app.kubernetes.io/component: service-query
77+
app.kubernetes.io/instance: jaeger-allinone
78+
app.kubernetes.io/managed-by: jaeger-operator
79+
app.kubernetes.io/name: jaeger-allinone-query
80+
app.kubernetes.io/part-of: jaeger
81+
name: jaeger-allinone-query
82+
namespace: kuttl-multi-cluster-receive
83+
spec:
84+
ports:
85+
- name: http-query
86+
port: 16686
87+
protocol: TCP
88+
targetPort: 16686
89+
- name: grpc-query
90+
port: 16685
91+
protocol: TCP
92+
targetPort: 16685
93+
- name: admin-http
94+
port: 16687
95+
protocol: TCP
96+
targetPort: 16687
97+
selector:
98+
app: jaeger
99+
app.kubernetes.io/component: all-in-one
100+
app.kubernetes.io/instance: jaeger-allinone
101+
app.kubernetes.io/managed-by: jaeger-operator
102+
app.kubernetes.io/name: jaeger-allinone
103+
app.kubernetes.io/part-of: jaeger
104+
type: ClusterIP
105+
106+
---
107+
apiVersion: route.openshift.io/v1
108+
kind: Route
109+
metadata:
110+
labels:
111+
app: jaeger
112+
app.kubernetes.io/component: query-route
113+
app.kubernetes.io/instance: jaeger-allinone
114+
app.kubernetes.io/managed-by: jaeger-operator
115+
app.kubernetes.io/name: jaeger-allinone
116+
app.kubernetes.io/part-of: jaeger
117+
name: jaeger-allinone
118+
namespace: kuttl-multi-cluster-receive
119+
spec:
120+
port:
121+
targetPort: http-query
122+
tls:
123+
termination: edge
124+
to:
125+
kind: Service
126+
name: jaeger-allinone-query
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: jaegertracing.io/v1
2+
kind: Jaeger
3+
metadata:
4+
name: jaeger-allinone
5+
namespace: kuttl-multi-cluster-receive
6+
spec:
7+
strategy: allinone
8+
ingress:
9+
security: none
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
labels:
5+
app.kubernetes.io/component: opentelemetry-collector
6+
app.kubernetes.io/instance: kuttl-multi-cluster-receive.otlp-receiver
7+
app.kubernetes.io/managed-by: opentelemetry-operator
8+
app.kubernetes.io/name: otlp-receiver-collector
9+
app.kubernetes.io/part-of: opentelemetry
10+
app.kubernetes.io/version: latest
11+
name: otlp-receiver-collector
12+
namespace: kuttl-multi-cluster-receive
13+
status:
14+
availableReplicas: 1
15+
readyReplicas: 1
16+
replicas: 1
17+
18+
---
19+
apiVersion: v1
20+
kind: Service
21+
metadata:
22+
labels:
23+
app.kubernetes.io/component: opentelemetry-collector
24+
app.kubernetes.io/instance: kuttl-multi-cluster-receive.otlp-receiver
25+
app.kubernetes.io/managed-by: opentelemetry-operator
26+
app.kubernetes.io/name: otlp-receiver-collector
27+
app.kubernetes.io/part-of: opentelemetry
28+
app.kubernetes.io/version: latest
29+
name: otlp-receiver-collector
30+
namespace: kuttl-multi-cluster-receive
31+
spec:
32+
ports:
33+
- appProtocol: h2c
34+
name: otlp-grpc
35+
port: 4317
36+
protocol: TCP
37+
targetPort: 4317
38+
- appProtocol: http
39+
name: otlp-http
40+
port: 4318
41+
protocol: TCP
42+
targetPort: 4318
43+
selector:
44+
app.kubernetes.io/component: opentelemetry-collector
45+
app.kubernetes.io/instance: kuttl-multi-cluster-receive.otlp-receiver
46+
app.kubernetes.io/managed-by: opentelemetry-operator
47+
app.kubernetes.io/part-of: opentelemetry
48+
type: ClusterIP
49+
50+
---
51+
apiVersion: v1
52+
kind: Service
53+
metadata:
54+
labels:
55+
app.kubernetes.io/component: opentelemetry-collector
56+
app.kubernetes.io/instance: kuttl-multi-cluster-receive.otlp-receiver
57+
app.kubernetes.io/managed-by: opentelemetry-operator
58+
app.kubernetes.io/name: otlp-receiver-collector
59+
app.kubernetes.io/part-of: opentelemetry
60+
app.kubernetes.io/version: latest
61+
operator.opentelemetry.io/collector-headless-service: Exists
62+
name: otlp-receiver-collector-headless
63+
namespace: kuttl-multi-cluster-receive
64+
spec:
65+
ports:
66+
- appProtocol: h2c
67+
name: otlp-grpc
68+
port: 4317
69+
protocol: TCP
70+
targetPort: 4317
71+
- appProtocol: http
72+
name: otlp-http
73+
port: 4318
74+
protocol: TCP
75+
targetPort: 4318
76+
selector:
77+
app.kubernetes.io/component: opentelemetry-collector
78+
app.kubernetes.io/instance: kuttl-multi-cluster-receive.otlp-receiver
79+
app.kubernetes.io/managed-by: opentelemetry-operator
80+
app.kubernetes.io/part-of: opentelemetry
81+
type: ClusterIP
82+
83+
---
84+
apiVersion: v1
85+
kind: Service
86+
metadata:
87+
labels:
88+
app.kubernetes.io/component: opentelemetry-collector
89+
app.kubernetes.io/instance: kuttl-multi-cluster-receive.otlp-receiver
90+
app.kubernetes.io/managed-by: opentelemetry-operator
91+
app.kubernetes.io/name: otlp-receiver-collector-monitoring
92+
app.kubernetes.io/part-of: opentelemetry
93+
app.kubernetes.io/version: latest
94+
name: otlp-receiver-collector-monitoring
95+
namespace: kuttl-multi-cluster-receive
96+
spec:
97+
ports:
98+
- name: monitoring
99+
port: 8888
100+
protocol: TCP
101+
targetPort: 8888
102+
selector:
103+
app.kubernetes.io/component: opentelemetry-collector
104+
app.kubernetes.io/instance: kuttl-multi-cluster-receive.otlp-receiver
105+
app.kubernetes.io/managed-by: opentelemetry-operator
106+
app.kubernetes.io/part-of: opentelemetry
107+
type: ClusterIP
108+
109+
---
110+
apiVersion: route.openshift.io/v1
111+
kind: Route
112+
metadata:
113+
labels:
114+
app.kubernetes.io/instance: kuttl-multi-cluster-receive.otlp-receiver
115+
app.kubernetes.io/managed-by: opentelemetry-operator
116+
app.kubernetes.io/name: otlp-grpc-otlp-receiver-route
117+
name: otlp-grpc-otlp-receiver-route
118+
namespace: kuttl-multi-cluster-receive
119+
spec:
120+
port:
121+
targetPort: otlp-grpc
122+
tls:
123+
termination: passthrough
124+
to:
125+
kind: Service
126+
name: otlp-receiver-collector
127+
weight: 100
128+
129+
---
130+
apiVersion: route.openshift.io/v1
131+
kind: Route
132+
metadata:
133+
labels:
134+
app.kubernetes.io/instance: kuttl-multi-cluster-receive.otlp-receiver
135+
app.kubernetes.io/managed-by: opentelemetry-operator
136+
app.kubernetes.io/name: otlp-http-otlp-receiver-route
137+
name: otlp-http-otlp-receiver-route
138+
namespace: kuttl-multi-cluster-receive
139+
spec:
140+
port:
141+
targetPort: otlp-http
142+
tls:
143+
termination: passthrough
144+
to:
145+
kind: Service
146+
name: otlp-receiver-collector
147+
weight: 100
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: kuttl.dev/v1beta1
2+
kind: TestStep
3+
commands:
4+
- script: ./generate_certs.sh
5+
- script: ./create_otlp_receiver.sh

0 commit comments

Comments
 (0)