Skip to content

Commit 60540f0

Browse files
committed
fix wrong Inst when having multi Inst
1 parent bac91bf commit 60540f0

File tree

4 files changed

+137
-1
lines changed

4 files changed

+137
-1
lines changed

pkg/instrumentation/podmutator.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,6 @@ func (pm *instPodMutator) selectInstrumentationInstanceFromNamespace(ctx context
428428
case s > 1:
429429
return nil, errMultipleInstancesPossible
430430
default:
431-
return &otelInsts.Items[0], nil
431+
return &availableInstrument[0], nil
432432
}
433433
}

tests/e2e-instrumentation/instrumentation-select/00-install-instrumentation-select.yaml

+38
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,41 @@ spec:
3535
value: "false"
3636
- name: SPLUNK_PROFILER_ENABLED
3737
value: "false"
38+
---
39+
apiVersion: opentelemetry.io/v1alpha1
40+
kind: Instrumentation
41+
metadata:
42+
name: my-java-multi
43+
spec:
44+
selector:
45+
matchLabels:
46+
app: my-java-multi
47+
env:
48+
- name: OTEL_TRACES_EXPORTER
49+
value: otlp
50+
- name: OTEL_EXPORTER_OTLP_ENDPOINT
51+
value: http://localhost:4317
52+
- name: OTEL_EXPORTER_OTLP_TIMEOUT
53+
value: "20"
54+
- name: OTEL_TRACES_SAMPLER
55+
value: parentbased_traceidratio
56+
- name: OTEL_TRACES_SAMPLER_ARG
57+
value: "0.85"
58+
- name: SPLUNK_TRACE_RESPONSE_HEADER_ENABLED
59+
value: "true"
60+
exporter:
61+
endpoint: http://localhost:4317
62+
propagators:
63+
- jaeger
64+
- b3
65+
sampler:
66+
type: parentbased_traceidratio
67+
argument: "0.25"
68+
java:
69+
env:
70+
- name: OTEL_JAVAAGENT_DEBUG
71+
value: "true"
72+
- name: OTEL_INSTRUMENTATION_JDBC_ENABLED
73+
value: "false"
74+
- name: SPLUNK_PROFILER_ENABLED
75+
value: "false"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
annotations:
5+
instrumentation.opentelemetry.io/inject-java: "true"
6+
sidecar.opentelemetry.io/inject: "true"
7+
labels:
8+
app: my-java-multi
9+
spec:
10+
containers:
11+
- env:
12+
- name: OTEL_JAVAAGENT_DEBUG
13+
value: "true"
14+
- name: OTEL_INSTRUMENTATION_JDBC_ENABLED
15+
value: "false"
16+
- name: SPLUNK_PROFILER_ENABLED
17+
value: "false"
18+
- name: JAVA_TOOL_OPTIONS
19+
value: ' -javaagent:/otel-auto-instrumentation-java/javaagent.jar'
20+
- name: OTEL_TRACES_EXPORTER
21+
value: otlp
22+
- name: OTEL_EXPORTER_OTLP_ENDPOINT
23+
value: http://localhost:4317
24+
- name: OTEL_EXPORTER_OTLP_TIMEOUT
25+
value: "20"
26+
- name: OTEL_TRACES_SAMPLER
27+
value: parentbased_traceidratio
28+
- name: OTEL_TRACES_SAMPLER_ARG
29+
value: "0.85"
30+
- name: SPLUNK_TRACE_RESPONSE_HEADER_ENABLED
31+
value: "true"
32+
- name: OTEL_SERVICE_NAME
33+
value: my-java-multi
34+
- name: OTEL_RESOURCE_ATTRIBUTES_POD_NAME
35+
valueFrom:
36+
fieldRef:
37+
apiVersion: v1
38+
fieldPath: metadata.name
39+
- name: OTEL_RESOURCE_ATTRIBUTES_NODE_NAME
40+
valueFrom:
41+
fieldRef:
42+
apiVersion: v1
43+
fieldPath: spec.nodeName
44+
- name: OTEL_PROPAGATORS
45+
value: jaeger,b3
46+
- name: OTEL_RESOURCE_ATTRIBUTES
47+
name: myapp
48+
volumeMounts:
49+
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
50+
readOnly: true
51+
- mountPath: /otel-auto-instrumentation-java
52+
name: opentelemetry-auto-instrumentation-java
53+
- args:
54+
- --config=env:OTEL_CONFIG
55+
name: otc-container
56+
initContainers:
57+
- name: opentelemetry-auto-instrumentation-java
58+
status:
59+
containerStatuses:
60+
- name: myapp
61+
ready: true
62+
started: true
63+
- name: otc-container
64+
ready: true
65+
started: true
66+
initContainerStatuses:
67+
- name: opentelemetry-auto-instrumentation-java
68+
ready: true
69+
phase: Running

tests/e2e-instrumentation/instrumentation-select/01-install-app-select.yaml

+29
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,32 @@ spec:
5555
allowPrivilegeEscalation: false
5656
capabilities:
5757
drop: ["ALL"]
58+
---
59+
apiVersion: apps/v1
60+
kind: Deployment
61+
metadata:
62+
name: my-java-multi
63+
spec:
64+
selector:
65+
matchLabels:
66+
app: my-java-multi
67+
replicas: 1
68+
template:
69+
metadata:
70+
labels:
71+
app: my-java-multi
72+
annotations:
73+
sidecar.opentelemetry.io/inject: "true"
74+
instrumentation.opentelemetry.io/inject-java: "true"
75+
spec:
76+
securityContext:
77+
runAsUser: 1000
78+
runAsGroup: 3000
79+
fsGroup: 3000
80+
containers:
81+
- name: myapp
82+
image: ghcr.io/open-telemetry/opentelemetry-operator/e2e-test-app-java:main
83+
securityContext:
84+
allowPrivilegeEscalation: false
85+
capabilities:
86+
drop: ["ALL"]

0 commit comments

Comments
 (0)