Skip to content

Commit 520d45d

Browse files
committed
Add E2E tests for configuring collector services
1 parent c8a51c7 commit 520d45d

10 files changed

+299
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: simplest-collector
5+
---
6+
apiVersion: v1
7+
kind: Service
8+
metadata:
9+
name: simplest-collector-headless
10+
spec:
11+
clusterIP: None
12+
---
13+
apiVersion: v1
14+
kind: Service
15+
metadata:
16+
name: simplest-collector-monitoring
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
name: chainsaw-collector-service-configuration
5+
---
6+
apiVersion: opentelemetry.io/v1beta1
7+
kind: OpenTelemetryCollector
8+
metadata:
9+
name: simplest
10+
spec:
11+
config:
12+
receivers:
13+
otlp:
14+
protocols:
15+
grpc:
16+
http:
17+
18+
exporters:
19+
debug:
20+
21+
service:
22+
pipelines:
23+
traces:
24+
receivers: [otlp]
25+
exporters: [debug]
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
(x_k8s_exists($client, 'v1', 'Service', $namespace, 'simplest-disabled-collector')): false
2+
---
3+
(x_k8s_exists($client, 'v1', 'Service', $namespace, 'simplest-disabled-collector-headless')): false
4+
---
5+
apiVersion: v1
6+
kind: Service
7+
metadata:
8+
name: simplest-disabled-collector-monitoring
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
apiVersion: opentelemetry.io/v1beta1
2+
kind: OpenTelemetryCollector
3+
metadata:
4+
name: simplest-disabled
5+
spec:
6+
service:
7+
enabled: false
8+
headlessService:
9+
enabled: false
10+
extensionService:
11+
enabled: false
12+
config:
13+
receivers:
14+
otlp:
15+
protocols:
16+
grpc:
17+
endpoint: 0.0.0.0:4317
18+
processors:
19+
batch: {}
20+
exporters:
21+
debug: {}
22+
service:
23+
pipelines:
24+
traces:
25+
receivers: [otlp]
26+
processors: [batch]
27+
exporters: [debug]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: my-custom-service
5+
---
6+
apiVersion: v1
7+
kind: Service
8+
metadata:
9+
name: my-custom-headless
10+
spec:
11+
clusterIP: None
12+
---
13+
apiVersion: v1
14+
kind: Service
15+
metadata:
16+
name: my-custom-monitoring
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: opentelemetry.io/v1beta1
2+
kind: OpenTelemetryCollector
3+
metadata:
4+
name: simplest-custom-names
5+
spec:
6+
service:
7+
name: my-custom-service
8+
headlessService:
9+
name: my-custom-headless
10+
monitoringService:
11+
name: my-custom-monitoring
12+
config:
13+
receivers:
14+
otlp:
15+
protocols:
16+
grpc:
17+
http:
18+
19+
exporters:
20+
debug:
21+
22+
service:
23+
pipelines:
24+
traces:
25+
receivers: [ otlp ]
26+
exporters: [ debug ]
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
apiVersion: chainsaw.kyverno.io/v1alpha1
2+
kind: Test
3+
metadata:
4+
name: collector-service-configuration
5+
spec:
6+
description: Test collector service configuration functionality
7+
steps:
8+
- name: install-collector-default-services
9+
try:
10+
- apply:
11+
file: 00-install-default.yaml
12+
- assert:
13+
file: 00-assert-default.yaml
14+
- name: install-collector-disabled-services
15+
try:
16+
- apply:
17+
file: 01-install-disabled.yaml
18+
- assert:
19+
file: 01-assert-disabled.yaml
20+
- name: install-collector-custom-names
21+
try:
22+
- apply:
23+
file: 02-install-custom-names.yaml
24+
- assert:
25+
file: 02-assert-custom-names.yaml
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: jaeger-inmemory-disable-service-collector
5+
spec:
6+
template:
7+
spec:
8+
containers:
9+
- ports:
10+
- containerPort: 16686
11+
name: jaeger-query
12+
protocol: TCP
13+
- containerPort: 8888
14+
name: metrics
15+
protocol: TCP
16+
- containerPort: 4317
17+
name: otlp-grpc
18+
protocol: TCP
19+
- containerPort: 4318
20+
name: otlp-http
21+
protocol: TCP
22+
status:
23+
readyReplicas: 1
24+
---
25+
apiVersion: v1
26+
kind: Service
27+
metadata:
28+
name: jaeger-inmemory-disable-service-collector
29+
spec:
30+
ports:
31+
- appProtocol: grpc
32+
name: otlp-grpc
33+
port: 4317
34+
protocol: TCP
35+
targetPort: 4317
36+
- appProtocol: http
37+
name: otlp-http
38+
port: 4318
39+
protocol: TCP
40+
targetPort: 4318
41+
---
42+
apiVersion: v1
43+
kind: Service
44+
metadata:
45+
annotations:
46+
service.beta.openshift.io/serving-cert-secret-name: jaeger-inmemory-disable-service-collector-headless-tls
47+
labels:
48+
app.kubernetes.io/component: opentelemetry-collector
49+
app.kubernetes.io/managed-by: opentelemetry-operator
50+
app.kubernetes.io/name: jaeger-inmemory-disable-service-collector
51+
app.kubernetes.io/part-of: opentelemetry
52+
app.kubernetes.io/version: latest
53+
operator.opentelemetry.io/collector-headless-service: Exists
54+
operator.opentelemetry.io/collector-service-type: headless
55+
name: jaeger-inmemory-disable-service-collector-headless
56+
ownerReferences:
57+
- apiVersion: opentelemetry.io/v1beta1
58+
blockOwnerDeletion: true
59+
controller: true
60+
kind: OpenTelemetryCollector
61+
name: jaeger-inmemory-disable-service
62+
spec:
63+
clusterIP: None
64+
clusterIPs:
65+
- None
66+
internalTrafficPolicy: Cluster
67+
ipFamilies:
68+
- IPv4
69+
ipFamilyPolicy: SingleStack
70+
ports:
71+
- appProtocol: grpc
72+
name: otlp-grpc
73+
port: 4317
74+
protocol: TCP
75+
targetPort: 4317
76+
- appProtocol: http
77+
name: otlp-http
78+
port: 4318
79+
protocol: TCP
80+
targetPort: 4318
81+
selector:
82+
app.kubernetes.io/component: opentelemetry-collector
83+
app.kubernetes.io/managed-by: opentelemetry-operator
84+
app.kubernetes.io/part-of: opentelemetry
85+
sessionAffinity: None
86+
type: ClusterIP
87+
status:
88+
loadBalancer: {}
89+
---
90+
apiVersion: v1
91+
kind: Service
92+
metadata:
93+
labels:
94+
app.kubernetes.io/component: opentelemetry-collector
95+
app.kubernetes.io/managed-by: opentelemetry-operator
96+
app.kubernetes.io/name: jaeger-inmemory-disable-service-collector-monitoring
97+
app.kubernetes.io/part-of: opentelemetry
98+
app.kubernetes.io/version: latest
99+
operator.opentelemetry.io/collector-monitoring-service: Exists
100+
operator.opentelemetry.io/collector-service-type: monitoring
101+
name: jaeger-inmemory-disable-service-collector-monitoring
102+
spec:
103+
ports:
104+
- name: monitoring
105+
port: 8888
106+
protocol: TCP
107+
targetPort: 8888
108+
selector:
109+
app.kubernetes.io/component: opentelemetry-collector
110+
app.kubernetes.io/managed-by: opentelemetry-operator
111+
app.kubernetes.io/part-of: opentelemetry
112+
sessionAffinity: None
113+
type: ClusterIP
114+
status:
115+
loadBalancer: {}
116+
---
117+
(x_k8s_exists($client, 'v1', 'Service', $namespace, 'jaeger-inmemory-disable-service-collector-extension')): false
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
apiVersion: opentelemetry.io/v1beta1
2+
kind: OpenTelemetryCollector
3+
metadata:
4+
name: jaeger-inmemory-disable-service
5+
spec:
6+
image: jaegertracing/jaeger:latest
7+
extensionService:
8+
enabled: false
9+
config:
10+
service:
11+
extensions: [jaeger_storage, jaeger_query]
12+
pipelines:
13+
traces:
14+
receivers: [otlp]
15+
exporters: [jaeger_storage_exporter]
16+
extensions:
17+
jaeger_query:
18+
storage:
19+
traces: memstore
20+
jaeger_storage:
21+
backends:
22+
memstore:
23+
memory:
24+
max_traces: 100000
25+
receivers:
26+
otlp:
27+
protocols:
28+
grpc:
29+
http:
30+
exporters:
31+
jaeger_storage_exporter:
32+
trace_storage: memstore

tests/e2e/extension/chainsaw-test.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,10 @@ spec:
2020
file: 01-install-health-check-extension.yaml
2121
- assert:
2222
file: 01-assert-health-check-extension.yaml
23+
- name: step-02
24+
description: health check extension
25+
try:
26+
- apply:
27+
file: 02-install-jaeger-extension-disable-service.yaml
28+
- assert:
29+
file: 02-assert-jaeger-extension-disable-service.yaml

0 commit comments

Comments
 (0)