Skip to content

Commit

Permalink
Add e2e test to check Tempo Operator monitoring
Browse files Browse the repository at this point in the history
  • Loading branch information
IshwarKanse committed Jul 20, 2023
1 parent 3420083 commit 9994080
Show file tree
Hide file tree
Showing 14 changed files with 812 additions and 0 deletions.
3 changes: 3 additions & 0 deletions tests/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ COPY . /tmp/tempo-operator

WORKDIR /tmp

# Install dependencies required by test cases and debugging
RUN apt-get update && apt-get install -y jq vim libreadline-dev

# Install kuttl
RUN curl -L -o kuttl https://github.com/kudobuilder/kuttl/releases/download/v0.15.0/kubectl-kuttl_0.15.0_linux_x86_64 \
&& chmod +x kuttl \
Expand Down
32 changes: 32 additions & 0 deletions tests/e2e-openshift/monitoring/00-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: minio
namespace: kuttl-monitoring
status:
availableReplicas: 1
readyReplicas: 1
replicas: 1

---
apiVersion: v1
kind: Service
metadata:
name: minio
namespace: kuttl-monitoring
spec:
ports:
- port: 9000
protocol: TCP
targetPort: 9000
selector:
app.kubernetes.io/name: minio
type: ClusterIP

---
apiVersion: v1
kind: Secret
metadata:
name: minio-secret
namespace: kuttl-monitoring
type: Opaque
89 changes: 89 additions & 0 deletions tests/e2e-openshift/monitoring/00-install-storage.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# The namespace is auto-deleted by kuttl after the test run.
apiVersion: v1
kind: Namespace
metadata:
name: kuttl-monitoring

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app.kubernetes.io/name: minio
name: minio
namespace: kuttl-monitoring
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: minio
namespace: kuttl-monitoring
spec:
selector:
matchLabels:
app.kubernetes.io/name: minio
strategy:
type: Recreate
template:
metadata:
labels:
app.kubernetes.io/name: minio
spec:
containers:
- command:
- /bin/sh
- -c
- |
mkdir -p /storage/tempo && \
minio server /storage
env:
- name: MINIO_ACCESS_KEY
value: tempo
- name: MINIO_SECRET_KEY
value: supersecret
image: minio/minio
name: minio
ports:
- containerPort: 9000
volumeMounts:
- mountPath: /storage
name: storage
volumes:
- name: storage
persistentVolumeClaim:
claimName: minio

---
apiVersion: v1
kind: Service
metadata:
name: minio
namespace: kuttl-monitoring
spec:
ports:
- port: 9000
protocol: TCP
targetPort: 9000
selector:
app.kubernetes.io/name: minio
type: ClusterIP

---
apiVersion: v1
kind: Secret
metadata:
name: minio-secret
namespace: kuttl-monitoring
stringData:
endpoint: http://minio.kuttl-monitoring.svc:9000
bucket: tempo
access_key_id: tempo
access_key_secret: supersecret
type: Opaque
4 changes: 4 additions & 0 deletions tests/e2e-openshift/monitoring/01-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
apiVersion: kuttl.dev/v1beta1
kind: TestAssert
commands:
- script: ./tests/e2e-openshift/monitoring/check_user_workload_monitoring.sh
13 changes: 13 additions & 0 deletions tests/e2e-openshift/monitoring/01-workload-monitoring.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# oc -n openshift-user-workload-monitoring get pod
# https://docs.openshift.com/container-platform/4.13/monitoring/enabling-monitoring-for-user-defined-projects.html#accessing-metrics-from-outside-cluster_enabling-monitoring-for-user-defined-projects

apiVersion: v1
kind: ConfigMap
metadata:
name: cluster-monitoring-config
namespace: openshift-monitoring
data:
config.yaml: |
enableUserWorkload: true
alertmanagerMain:
enableUserAlertmanagerConfig: true
Loading

0 comments on commit 9994080

Please sign in to comment.