Skip to content

Commit f7b265e

Browse files
author
Israel Blancas
authored
Merge branch 'main' into 2947-updating-ds-sf-depl-mutation
2 parents 49ab4da + 6a5f9ba commit f7b265e

File tree

14 files changed

+124
-70
lines changed

14 files changed

+124
-70
lines changed

.chloggen/1814-java-configmap.yaml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
2+
change_type: enhancement
3+
4+
# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
5+
component: auto-instrumentation
6+
7+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8+
note: Support configuring Java auto-instrumentation when runtime configuration is provided from configmap or secret.
9+
10+
# One or more tracking issues related to the change
11+
issues: [1814]
12+
13+
# (Optional) One or more lines of additional information to render under the primary note.
14+
# These lines will be padded with 2 spaces and then inserted directly into the document.
15+
# Use pipe (|) for multiline entries.
16+
subtext: |
17+
This change allows users to configure JAVA_TOOL_OPTIONS in config map or secret.
18+
The operator in this case set another JAVA_TOOL_OPTIONS that references the original value
19+
e.g. `JAVA_TOOL_OPTIONS=$(JAVA_TOOL_OPTIONS) -javaagent:/otel-auto-instrumentation-java/javaagent.jar`.

config/manager/kustomization.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
resources:
22
- manager.yaml
3-

go.mod

+9-9
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@ require (
2626
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.76.2
2727
github.com/prometheus-operator/prometheus-operator/pkg/client v0.76.2
2828
github.com/prometheus/client_golang v1.20.5
29-
github.com/prometheus/common v0.60.0
29+
github.com/prometheus/common v0.60.1
3030
github.com/prometheus/prometheus v0.54.1
3131
github.com/shirou/gopsutil v3.21.11+incompatible
3232
github.com/spf13/pflag v1.0.5
3333
github.com/stretchr/testify v1.9.0
34-
go.opentelemetry.io/collector/featuregate v1.17.0
34+
go.opentelemetry.io/collector/featuregate v1.18.0
3535
go.opentelemetry.io/otel v1.31.0
3636
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.31.0
3737
go.opentelemetry.io/otel/exporters/prometheus v0.53.0
@@ -42,15 +42,15 @@ require (
4242
go.uber.org/zap v1.27.0
4343
gopkg.in/yaml.v2 v2.4.0
4444
gopkg.in/yaml.v3 v3.0.1
45-
k8s.io/api v0.31.1
46-
k8s.io/apiextensions-apiserver v0.31.1
47-
k8s.io/apimachinery v0.31.1
48-
k8s.io/client-go v0.31.1
49-
k8s.io/component-base v0.31.1
45+
k8s.io/api v0.31.2
46+
k8s.io/apiextensions-apiserver v0.31.2
47+
k8s.io/apimachinery v0.31.2
48+
k8s.io/client-go v0.31.2
49+
k8s.io/component-base v0.31.2
5050
k8s.io/klog/v2 v2.130.1
51-
k8s.io/kubectl v0.31.1
51+
k8s.io/kubectl v0.31.2
5252
k8s.io/utils v0.0.0-20240921022957-49e7df575cb6
53-
sigs.k8s.io/controller-runtime v0.19.0
53+
sigs.k8s.io/controller-runtime v0.19.1
5454
sigs.k8s.io/gateway-api v1.1.0 // indirect
5555
sigs.k8s.io/yaml v1.4.0
5656
)

go.sum

+18-18
Original file line numberDiff line numberDiff line change
@@ -564,8 +564,8 @@ github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8b
564564
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
565565
github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
566566
github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
567-
github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA=
568-
github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw=
567+
github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc=
568+
github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw=
569569
github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4=
570570
github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI=
571571
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
@@ -646,8 +646,8 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
646646
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
647647
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
648648
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
649-
go.opentelemetry.io/collector/featuregate v1.17.0 h1:vpfXyWe7DFqCsDArsR9rAKKtVpt72PKjzjeqPegViws=
650-
go.opentelemetry.io/collector/featuregate v1.17.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs=
649+
go.opentelemetry.io/collector/featuregate v1.18.0 h1:1CvP1K3XmVs7WZCs/A1j8rsC7JQWu+y+vF8vxKjLaOU=
650+
go.opentelemetry.io/collector/featuregate v1.18.0/go.mod h1:47xrISO71vJ83LSMm8+yIDsUbKktUp48Ovt7RR6VbRs=
651651
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk=
652652
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8=
653653
go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY=
@@ -1055,31 +1055,31 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
10551055
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
10561056
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
10571057
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
1058-
k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU=
1059-
k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI=
1060-
k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40=
1061-
k8s.io/apiextensions-apiserver v0.31.1/go.mod h1:tWMPR3sgW+jsl2xm9v7lAyRF1rYEK71i9G5dRtkknoQ=
1062-
k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
1063-
k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
1064-
k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0=
1065-
k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg=
1066-
k8s.io/component-base v0.31.1 h1:UpOepcrX3rQ3ab5NB6g5iP0tvsgJWzxTyAo20sgYSy8=
1067-
k8s.io/component-base v0.31.1/go.mod h1:WGeaw7t/kTsqpVTaCoVEtillbqAhF2/JgvO0LDOMa0w=
1058+
k8s.io/api v0.31.2 h1:3wLBbL5Uom/8Zy98GRPXpJ254nEFpl+hwndmk9RwmL0=
1059+
k8s.io/api v0.31.2/go.mod h1:bWmGvrGPssSK1ljmLzd3pwCQ9MgoTsRCuK35u6SygUk=
1060+
k8s.io/apiextensions-apiserver v0.31.2 h1:W8EwUb8+WXBLu56ser5IudT2cOho0gAKeTOnywBLxd0=
1061+
k8s.io/apiextensions-apiserver v0.31.2/go.mod h1:i+Geh+nGCJEGiCGR3MlBDkS7koHIIKWVfWeRFiOsUcM=
1062+
k8s.io/apimachinery v0.31.2 h1:i4vUt2hPK56W6mlT7Ry+AO8eEsyxMD1U44NR22CLTYw=
1063+
k8s.io/apimachinery v0.31.2/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
1064+
k8s.io/client-go v0.31.2 h1:Y2F4dxU5d3AQj+ybwSMqQnpZH9F30//1ObxOKlTI9yc=
1065+
k8s.io/client-go v0.31.2/go.mod h1:NPa74jSVR/+eez2dFsEIHNa+3o09vtNaWwWwb1qSxSs=
1066+
k8s.io/component-base v0.31.2 h1:Z1J1LIaC0AV+nzcPRFqfK09af6bZ4D1nAOpWsy9owlA=
1067+
k8s.io/component-base v0.31.2/go.mod h1:9PeyyFN/drHjtJZMCTkSpQJS3U9OXORnHQqMLDz0sUQ=
10681068
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
10691069
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
10701070
k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38 h1:1dWzkmJrrprYvjGwh9kEUxmcUV/CtNU8QM7h1FLWQOo=
10711071
k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38/go.mod h1:coRQXBK9NxO98XUv3ZD6AK3xzHCxV6+b7lrquKwaKzA=
1072-
k8s.io/kubectl v0.31.1 h1:ih4JQJHxsEggFqDJEHSOdJ69ZxZftgeZvYo7M/cpp24=
1073-
k8s.io/kubectl v0.31.1/go.mod h1:aNuQoR43W6MLAtXQ/Bu4GDmoHlbhHKuyD49lmTC8eJM=
1072+
k8s.io/kubectl v0.31.2 h1:gTxbvRkMBwvTSAlobiTVqsH6S8Aa1aGyBcu5xYLsn8M=
1073+
k8s.io/kubectl v0.31.2/go.mod h1:EyASYVU6PY+032RrTh5ahtSOMgoDRIux9V1JLKtG5xM=
10741074
k8s.io/utils v0.0.0-20240921022957-49e7df575cb6 h1:MDF6h2H/h4tbzmtIKTuctcwZmY0tY9mD9fNT47QO6HI=
10751075
k8s.io/utils v0.0.0-20240921022957-49e7df575cb6/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
10761076
nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=
10771077
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
10781078
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
10791079
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
10801080
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
1081-
sigs.k8s.io/controller-runtime v0.19.0 h1:nWVM7aq+Il2ABxwiCizrVDSlmDcshi9llbaFbC0ji/Q=
1082-
sigs.k8s.io/controller-runtime v0.19.0/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
1081+
sigs.k8s.io/controller-runtime v0.19.1 h1:Son+Q40+Be3QWb+niBXAg2vFiYWolDjjRfO8hn/cxOk=
1082+
sigs.k8s.io/controller-runtime v0.19.1/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
10831083
sigs.k8s.io/gateway-api v1.1.0 h1:DsLDXCi6jR+Xz8/xd0Z1PYl2Pn0TyaFMOPPZIj4inDM=
10841084
sigs.k8s.io/gateway-api v1.1.0/go.mod h1:ZH4lHrL2sDi0FHZ9jjneb8kKnGzFWyrTya35sWUTrRs=
10851085
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=

pkg/instrumentation/javaagent.go

+10-16
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,17 @@ import (
2424

2525
const (
2626
envJavaToolsOptions = "JAVA_TOOL_OPTIONS"
27-
javaAgent = " -javaagent:/otel-auto-instrumentation-java/javaagent.jar"
27+
javaAgent = "-javaagent:/otel-auto-instrumentation-java/javaagent.jar"
2828
javaInitContainerName = initContainerName + "-java"
2929
javaVolumeName = volumeName + "-java"
3030
javaInstrMountPath = "/otel-auto-instrumentation-java"
3131
)
3232

33-
func injectJavaagent(javaSpec v1alpha1.Java, pod corev1.Pod, index int) (corev1.Pod, error) {
33+
func injectJavaagent(javaSpec v1alpha1.Java, pod corev1.Pod, index int) corev1.Pod {
3434
volume := instrVolume(javaSpec.VolumeClaimTemplate, javaVolumeName, javaSpec.VolumeSizeLimit)
35-
3635
// caller checks if there is at least one container.
3736
container := &pod.Spec.Containers[index]
3837

39-
err := validateContainerEnv(container.Env, envJavaToolsOptions)
40-
if err != nil {
41-
return pod, err
42-
}
43-
4438
// inject Java instrumentation spec env vars.
4539
for _, env := range javaSpec.Env {
4640
idx := getIndexOfEnv(container.Env, env.Name)
@@ -55,14 +49,14 @@ func injectJavaagent(javaSpec v1alpha1.Java, pod corev1.Pod, index int) (corev1.
5549
}
5650

5751
idx := getIndexOfEnv(container.Env, envJavaToolsOptions)
58-
if idx == -1 {
59-
container.Env = append(container.Env, corev1.EnvVar{
60-
Name: envJavaToolsOptions,
61-
Value: javaJVMArgument,
62-
})
63-
} else {
64-
container.Env[idx].Value = container.Env[idx].Value + javaJVMArgument
52+
if idx != -1 {
53+
// https://kubernetes.io/docs/tasks/inject-data-application/define-interdependent-environment-variables/
54+
javaJVMArgument = fmt.Sprintf("$(%s) %s", envJavaToolsOptions, javaJVMArgument)
6555
}
56+
container.Env = append(container.Env, corev1.EnvVar{
57+
Name: envJavaToolsOptions,
58+
Value: javaJVMArgument,
59+
})
6660

6761
container.VolumeMounts = append(container.VolumeMounts, corev1.VolumeMount{
6862
Name: volume.Name,
@@ -97,5 +91,5 @@ func injectJavaagent(javaSpec v1alpha1.Java, pod corev1.Pod, index int) (corev1.
9791
}
9892

9993
}
100-
return pod, err
94+
return pod
10195
}

pkg/instrumentation/javaagent_test.go

+39-10
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
package instrumentation
1616

1717
import (
18-
"fmt"
1918
"testing"
2019

2120
"github.com/stretchr/testify/assert"
@@ -30,7 +29,6 @@ func TestInjectJavaagent(t *testing.T) {
3029
v1alpha1.Java
3130
pod corev1.Pod
3231
expected corev1.Pod
33-
err error
3432
}{
3533
{
3634
name: "JAVA_TOOL_OPTIONS not defined",
@@ -83,7 +81,6 @@ func TestInjectJavaagent(t *testing.T) {
8381
},
8482
},
8583
},
86-
err: nil,
8784
},
8885
{
8986
name: "add extensions to JAVA_TOOL_OPTIONS",
@@ -157,7 +154,6 @@ func TestInjectJavaagent(t *testing.T) {
157154
},
158155
},
159156
},
160-
err: nil,
161157
},
162158
{
163159
name: "JAVA_TOOL_OPTIONS defined",
@@ -211,18 +207,21 @@ func TestInjectJavaagent(t *testing.T) {
211207
Env: []corev1.EnvVar{
212208
{
213209
Name: "JAVA_TOOL_OPTIONS",
214-
Value: "-Dbaz=bar" + javaAgent,
210+
Value: "-Dbaz=bar",
211+
},
212+
{
213+
Name: "JAVA_TOOL_OPTIONS",
214+
Value: "$(JAVA_TOOL_OPTIONS) " + javaAgent,
215215
},
216216
},
217217
},
218218
},
219219
},
220220
},
221-
err: nil,
222221
},
223222
{
224223
name: "JAVA_TOOL_OPTIONS defined as ValueFrom",
225-
Java: v1alpha1.Java{Image: "foo/bar:1"},
224+
Java: v1alpha1.Java{Image: "foo/bar:1", Resources: testResourceRequirements},
226225
pod: corev1.Pod{
227226
Spec: corev1.PodSpec{
228227
Containers: []corev1.Container{
@@ -239,27 +238,57 @@ func TestInjectJavaagent(t *testing.T) {
239238
},
240239
expected: corev1.Pod{
241240
Spec: corev1.PodSpec{
241+
Volumes: []corev1.Volume{
242+
{
243+
Name: "opentelemetry-auto-instrumentation-java",
244+
VolumeSource: corev1.VolumeSource{
245+
EmptyDir: &corev1.EmptyDirVolumeSource{
246+
SizeLimit: &defaultVolumeLimitSize,
247+
},
248+
},
249+
},
250+
},
251+
InitContainers: []corev1.Container{
252+
{
253+
Name: "opentelemetry-auto-instrumentation-java",
254+
Image: "foo/bar:1",
255+
Command: []string{"cp", "/javaagent.jar", "/otel-auto-instrumentation-java/javaagent.jar"},
256+
VolumeMounts: []corev1.VolumeMount{{
257+
Name: "opentelemetry-auto-instrumentation-java",
258+
MountPath: "/otel-auto-instrumentation-java",
259+
}},
260+
Resources: testResourceRequirements,
261+
},
262+
},
242263
Containers: []corev1.Container{
243264
{
265+
VolumeMounts: []corev1.VolumeMount{
266+
{
267+
Name: "opentelemetry-auto-instrumentation-java",
268+
MountPath: "/otel-auto-instrumentation-java",
269+
},
270+
},
244271
Env: []corev1.EnvVar{
245272
{
246273
Name: "JAVA_TOOL_OPTIONS",
247274
ValueFrom: &corev1.EnvVarSource{},
248275
},
276+
{
277+
Name: "JAVA_TOOL_OPTIONS",
278+
Value: "$(JAVA_TOOL_OPTIONS) " + javaAgent,
279+
},
249280
},
250281
},
251282
},
252283
},
253284
},
254-
err: fmt.Errorf("the container defines env var value via ValueFrom, envVar: %s", envJavaToolsOptions),
255285
},
256286
}
257287

258288
for _, test := range tests {
259289
t.Run(test.name, func(t *testing.T) {
260-
pod, err := injectJavaagent(test.Java, test.pod, 0)
290+
pod := injectJavaagent(test.Java, test.pod, 0)
261291
assert.Equal(t, test.expected, pod)
262-
assert.Equal(t, test.err, err)
263292
})
264293
}
265294
}

pkg/instrumentation/sdk.go

+4-9
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ func (i *sdkInjector) inject(ctx context.Context, insts languageInstrumentations
5959
}
6060
if insts.Java.Instrumentation != nil {
6161
otelinst := *insts.Java.Instrumentation
62-
var err error
6362
i.logger.V(1).Info("injecting Java instrumentation into pod", "otelinst-namespace", otelinst.Namespace, "otelinst-name", otelinst.Name)
6463

6564
if len(insts.Java.Containers) == 0 {
@@ -68,14 +67,10 @@ func (i *sdkInjector) inject(ctx context.Context, insts languageInstrumentations
6867

6968
for _, container := range insts.Java.Containers {
7069
index := getContainerIndex(container, pod)
71-
pod, err = injectJavaagent(otelinst.Spec.Java, pod, index)
72-
if err != nil {
73-
i.logger.Info("Skipping javaagent injection", "reason", err.Error(), "container", pod.Spec.Containers[index].Name)
74-
} else {
75-
pod = i.injectCommonEnvVar(otelinst, pod, index)
76-
pod = i.injectCommonSDKConfig(ctx, otelinst, ns, pod, index, index)
77-
pod = i.setInitContainerSecurityContext(pod, pod.Spec.Containers[index].SecurityContext, javaInitContainerName)
78-
}
70+
pod = injectJavaagent(otelinst.Spec.Java, pod, index)
71+
pod = i.injectCommonEnvVar(otelinst, pod, index)
72+
pod = i.injectCommonSDKConfig(ctx, otelinst, ns, pod, index, index)
73+
pod = i.setInitContainerSecurityContext(pod, pod.Spec.Containers[index].SecurityContext, javaInitContainerName)
7974
}
8075
}
8176
if insts.NodeJS.Instrumentation != nil {

tests/e2e-instrumentation/instrumentation-java-multicontainer/01-assert.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ spec:
2525
- name: SPLUNK_PROFILER_ENABLED
2626
value: "false"
2727
- name: JAVA_TOOL_OPTIONS
28-
value: ' -javaagent:/otel-auto-instrumentation-java/javaagent.jar'
28+
value: '-javaagent:/otel-auto-instrumentation-java/javaagent.jar'
2929
- name: OTEL_TRACES_EXPORTER
3030
value: otlp
3131
- name: OTEL_EXPORTER_OTLP_ENDPOINT
@@ -75,7 +75,7 @@ spec:
7575
- name: SPLUNK_PROFILER_ENABLED
7676
value: "false"
7777
- name: JAVA_TOOL_OPTIONS
78-
value: ' -javaagent:/otel-auto-instrumentation-java/javaagent.jar'
78+
value: '-javaagent:/otel-auto-instrumentation-java/javaagent.jar'
7979
- name: OTEL_TRACES_EXPORTER
8080
value: otlp
8181
- name: OTEL_EXPORTER_OTLP_ENDPOINT

tests/e2e-instrumentation/instrumentation-java-multicontainer/02-assert.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ spec:
3636
- name: SPLUNK_PROFILER_ENABLED
3737
value: "false"
3838
- name: JAVA_TOOL_OPTIONS
39-
value: ' -javaagent:/otel-auto-instrumentation-java/javaagent.jar'
39+
value: '-javaagent:/otel-auto-instrumentation-java/javaagent.jar'
4040
- name: OTEL_TRACES_EXPORTER
4141
value: otlp
4242
- name: OTEL_EXPORTER_OTLP_ENDPOINT

tests/e2e-instrumentation/instrumentation-java-other-ns/03-assert.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ spec:
2424
- name: SPLUNK_PROFILER_ENABLED
2525
value: "false"
2626
- name: JAVA_TOOL_OPTIONS
27-
value: ' -javaagent:/otel-auto-instrumentation-java/javaagent.jar'
27+
value: '-javaagent:/otel-auto-instrumentation-java/javaagent.jar'
2828
- name: OTEL_TRACES_EXPORTER
2929
value: otlp
3030
- name: OTEL_EXPORTER_OTLP_ENDPOINT

tests/e2e-instrumentation/instrumentation-java-tls/01-assert.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ spec:
1717
fieldRef:
1818
fieldPath: status.podIP
1919
- name: JAVA_TOOL_OPTIONS
20-
value: ' -javaagent:/otel-auto-instrumentation-java/javaagent.jar'
20+
value: '-javaagent:/otel-auto-instrumentation-java/javaagent.jar'
2121
- name: OTEL_SERVICE_NAME
2222
value: my-java
2323
- name: OTEL_EXPORTER_OTLP_ENDPOINT

tests/e2e-instrumentation/instrumentation-java/01-assert.yaml

+6-1
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,19 @@ spec:
1717
valueFrom:
1818
fieldRef:
1919
fieldPath: status.podIP
20+
- name: JAVA_TOOL_OPTIONS
21+
valueFrom:
22+
configMapKeyRef:
23+
name: config-java
24+
key: system-properties
2025
- name: OTEL_JAVAAGENT_DEBUG
2126
value: "true"
2227
- name: OTEL_INSTRUMENTATION_JDBC_ENABLED
2328
value: "false"
2429
- name: SPLUNK_PROFILER_ENABLED
2530
value: "false"
2631
- name: JAVA_TOOL_OPTIONS
27-
value: ' -javaagent:/otel-auto-instrumentation-java/javaagent.jar'
32+
value: '$(JAVA_TOOL_OPTIONS) -javaagent:/otel-auto-instrumentation-java/javaagent.jar'
2833
- name: OTEL_TRACES_EXPORTER
2934
value: otlp
3035
- name: OTEL_EXPORTER_OTLP_ENDPOINT

0 commit comments

Comments
 (0)