From a1286c02c939b644652c9f61d14b58abaab45d2e Mon Sep 17 00:00:00 2001
From: Pavol Loffay
Date: Fri, 5 Nov 2021 10:27:47 +0100
Subject: [PATCH] Add e2e tests for java auto-instrumentation (#498)
* Add e2e tests for java auto-instrumentation
Signed-off-by: Pavol Loffay
---
.../00-install-collector.yaml | 26 ++++++++++++++++++
.../00-install-instrumentation.yaml | 9 +++++++
tests/e2e/instrumentation-java/01-assert.yaml | 27 +++++++++++++++++++
.../instrumentation-java/01-install-app.yaml | 20 ++++++++++++++
4 files changed, 82 insertions(+)
create mode 100644 tests/e2e/instrumentation-java/00-install-collector.yaml
create mode 100644 tests/e2e/instrumentation-java/00-install-instrumentation.yaml
create mode 100644 tests/e2e/instrumentation-java/01-assert.yaml
create mode 100644 tests/e2e/instrumentation-java/01-install-app.yaml
diff --git a/tests/e2e/instrumentation-java/00-install-collector.yaml b/tests/e2e/instrumentation-java/00-install-collector.yaml
new file mode 100644
index 0000000000..6581d8935e
--- /dev/null
+++ b/tests/e2e/instrumentation-java/00-install-collector.yaml
@@ -0,0 +1,26 @@
+apiVersion: opentelemetry.io/v1alpha1
+kind: OpenTelemetryCollector
+metadata:
+ name: sidecar
+spec:
+ mode: sidecar
+ args:
+ metrics-level: detailed
+ log-level: debug
+ config: |
+ receivers:
+ otlp:
+ protocols:
+ grpc:
+ http:
+ processors:
+
+ exporters:
+ logging:
+
+ service:
+ pipelines:
+ traces:
+ receivers: [otlp]
+ processors: []
+ exporters: [logging]
diff --git a/tests/e2e/instrumentation-java/00-install-instrumentation.yaml b/tests/e2e/instrumentation-java/00-install-instrumentation.yaml
new file mode 100644
index 0000000000..2235a3a1ce
--- /dev/null
+++ b/tests/e2e/instrumentation-java/00-install-instrumentation.yaml
@@ -0,0 +1,9 @@
+apiVersion: opentelemetry.io/v1alpha1
+kind: Instrumentation
+metadata:
+ name: java
+spec:
+ exporter:
+ endpoint: http://localhost:4318
+ java:
+ image: ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:latest
diff --git a/tests/e2e/instrumentation-java/01-assert.yaml b/tests/e2e/instrumentation-java/01-assert.yaml
new file mode 100644
index 0000000000..2d92b46d5c
--- /dev/null
+++ b/tests/e2e/instrumentation-java/01-assert.yaml
@@ -0,0 +1,27 @@
+apiVersion: v1
+kind: Pod
+metadata:
+ annotations:
+ sidecar.opentelemetry.io/inject: "true"
+ instrumentation.opentelemetry.io/inject-java: "true"
+ labels:
+ app: my-pod-with-sidecar
+spec:
+ containers:
+ - name: myapp
+ env:
+ - name: OTEL_SERVICE_NAME
+ value: myapp
+ - name: OTEL_EXPORTER_OTLP_ENDPOINT
+ value: http://localhost:4318
+ - name: JAVA_TOOL_OPTIONS
+ value: " -javaagent:/otel-auto-instrumentation/javaagent.jar"
+ volumeMounts:
+ - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
+ - mountPath: /otel-auto-instrumentation
+ name: opentelemetry-auto-instrumentation
+ - name: otc-container
+ initContainers:
+ - name: opentelemetry-auto-instrumentation
+status:
+ phase: Running
diff --git a/tests/e2e/instrumentation-java/01-install-app.yaml b/tests/e2e/instrumentation-java/01-install-app.yaml
new file mode 100644
index 0000000000..b66ffa7590
--- /dev/null
+++ b/tests/e2e/instrumentation-java/01-install-app.yaml
@@ -0,0 +1,20 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: my-deployment-with-sidecar
+spec:
+ selector:
+ matchLabels:
+ app: my-pod-with-sidecar
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: my-pod-with-sidecar
+ annotations:
+ sidecar.opentelemetry.io/inject: "true"
+ instrumentation.opentelemetry.io/inject-java: "true"
+ spec:
+ containers:
+ - name: myapp
+ image: ghcr.io/pavolloffay/spring-petclinic:latest