Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve E2E tests #1265

Merged
merged 121 commits into from
Jul 28, 2024
Merged
Show file tree
Hide file tree
Changes from 117 commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
fe5b845
Improve e2e tests
edeNFed Jun 12, 2024
4a4e2ab
parallilze make build-images
edeNFed Jun 12, 2024
d35bff7
parallilze load to kind
edeNFed Jun 12, 2024
adf55ec
test on multiple kube versions
edeNFed Jun 12, 2024
546d08c
remove cluster name
edeNFed Jun 12, 2024
ecdc6ed
fix kind cluster and move e2e dir
edeNFed Jun 12, 2024
5b74cd0
init chainsaw
edeNFed Jun 12, 2024
a6e29b2
install odigos via chainsaw
edeNFed Jun 12, 2024
f88b8a7
assert odigos installation
edeNFed Jun 12, 2024
3816aee
install demo app via chainsaw
edeNFed Jun 12, 2024
b5cbf2d
check lang detection
edeNFed Jun 12, 2024
5d66a0d
check instrumentation
edeNFed Jun 12, 2024
12b30d3
verify trace data
edeNFed Jun 12, 2024
16199a2
add health check to frontend
edeNFed Jun 13, 2024
b7116ce
fix kube1.23
edeNFed Jun 13, 2024
08c6932
Merge branch 'main' into improve-e2e-tests
edeNFed Jun 30, 2024
545e0b7
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 1, 2024
4302ece
traceql test
edeNFed Jul 1, 2024
1890b2d
bash script
edeNFed Jul 1, 2024
cc3ea45
traceql test
edeNFed Jul 3, 2024
08a0dfd
debug tests
edeNFed Jul 3, 2024
0e9a22e
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 3, 2024
adeb697
add pod logs
edeNFed Jul 3, 2024
ebeb57b
print odiglet logs
edeNFed Jul 3, 2024
f59f339
wait for traces
edeNFed Jul 3, 2024
093089a
improve wait
edeNFed Jul 3, 2024
e2999a1
fix logs
edeNFed Jul 3, 2024
2e4e1e4
Add resource and span attributes tests
edeNFed Jul 4, 2024
a82e309
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 4, 2024
c8ba9fc
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 4, 2024
83aed30
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 8, 2024
eb1e8a9
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 9, 2024
587597c
PR fixes
edeNFed Jul 9, 2024
69dd9fb
Merge branch 'improve-e2e-tests' of https://github.com/edeNFed/odigos…
edeNFed Jul 9, 2024
e0d480d
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 9, 2024
6b15b0c
helm chart test poc
edeNFed Jul 9, 2024
61ed4d0
Fix helm tests
edeNFed Jul 10, 2024
b9e3b0a
helm tests
edeNFed Jul 10, 2024
6bd1ab1
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 10, 2024
40af77e
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 10, 2024
0f4be42
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 11, 2024
09fb6a4
wait for destination before generating traffic
edeNFed Jul 14, 2024
3f6a9de
Merge branch 'improve-e2e-tests' of https://github.com/edeNFed/odigos…
edeNFed Jul 14, 2024
c20d876
stability
edeNFed Jul 14, 2024
df0abba
stability
edeNFed Jul 14, 2024
5bda0e5
stability
edeNFed Jul 14, 2024
076b926
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 21, 2024
8839704
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 21, 2024
f31c8c3
Improve e2e tests
edeNFed Jun 12, 2024
3050105
parallilze make build-images
edeNFed Jun 12, 2024
31a7166
parallilze load to kind
edeNFed Jun 12, 2024
df92815
test on multiple kube versions
edeNFed Jun 12, 2024
baed11c
remove cluster name
edeNFed Jun 12, 2024
c6db873
fix kind cluster and move e2e dir
edeNFed Jun 12, 2024
c1273d2
init chainsaw
edeNFed Jun 12, 2024
3a82471
install odigos via chainsaw
edeNFed Jun 12, 2024
6eb8df8
assert odigos installation
edeNFed Jun 12, 2024
3d4a4f3
install demo app via chainsaw
edeNFed Jun 12, 2024
222b57e
check lang detection
edeNFed Jun 12, 2024
44b6a0b
check instrumentation
edeNFed Jun 12, 2024
ec442b7
verify trace data
edeNFed Jun 12, 2024
8a0b305
add health check to frontend
edeNFed Jun 13, 2024
d64646e
fix kube1.23
edeNFed Jun 13, 2024
12befce
traceql test
edeNFed Jul 1, 2024
941b6a1
bash script
edeNFed Jul 1, 2024
4b8fe92
traceql test
edeNFed Jul 3, 2024
ae5cf89
debug tests
edeNFed Jul 3, 2024
916bfba
add pod logs
edeNFed Jul 3, 2024
cab6412
print odiglet logs
edeNFed Jul 3, 2024
8e4ec5b
wait for traces
edeNFed Jul 3, 2024
f0fad25
improve wait
edeNFed Jul 3, 2024
b39634b
fix logs
edeNFed Jul 3, 2024
dc11707
Add resource and span attributes tests
edeNFed Jul 4, 2024
b9f1a8b
PR fixes
edeNFed Jul 9, 2024
322263f
helm chart test poc
edeNFed Jul 9, 2024
86cc269
Fix helm tests
edeNFed Jul 10, 2024
13f4e41
helm tests
edeNFed Jul 10, 2024
50f9e84
wait for destination before generating traffic
edeNFed Jul 14, 2024
993e0af
stability
edeNFed Jul 14, 2024
36a832e
stability
edeNFed Jul 14, 2024
40ba3a5
stability
edeNFed Jul 14, 2024
2539e80
retry helm install
edeNFed Jul 21, 2024
c1290a3
retry helm
edeNFed Jul 21, 2024
3cb4811
wait for instrumentation instances
edeNFed Jul 21, 2024
a36cb15
tempo distributed
edeNFed Jul 21, 2024
85b95b0
more tempo config
edeNFed Jul 21, 2024
28bc8f7
tempo parquet
edeNFed Jul 21, 2024
e51aed6
merge main
edeNFed Jul 22, 2024
a8c4037
check buildjet
edeNFed Jul 22, 2024
5b2f10b
Flush
edeNFed Jul 22, 2024
b931f22
add flush
edeNFed Jul 22, 2024
a882074
setup-go action
edeNFed Jul 22, 2024
0f7db1d
Use docker cache
edeNFed Jul 22, 2024
a5f6a1e
Docker cache
edeNFed Jul 22, 2024
b47bf44
branch name
edeNFed Jul 22, 2024
352cd85
docker login
edeNFed Jul 22, 2024
f94277a
ghcr
edeNFed Jul 22, 2024
38c785a
rollback cache
edeNFed Jul 22, 2024
4eff1ef
improve trace generation
edeNFed Jul 22, 2024
649e287
fix
edeNFed Jul 22, 2024
661efb2
more fixes
edeNFed Jul 22, 2024
2a56f72
convert to sh
edeNFed Jul 22, 2024
59f4ceb
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 22, 2024
89fb030
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 22, 2024
bd4d3e5
add login
edeNFed Jul 22, 2024
e359b77
Merge branch 'improve-e2e-tests' of https://github.com/edeNFed/odigos…
edeNFed Jul 22, 2024
551d7ff
remove login
edeNFed Jul 22, 2024
613757e
add comment
edeNFed Jul 23, 2024
d1be413
pin helm version
edeNFed Jul 23, 2024
e0e21b3
add timeout
edeNFed Jul 23, 2024
5238667
PR fixes
edeNFed Jul 24, 2024
7bde07c
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 24, 2024
67a75c4
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 24, 2024
a3054ea
self hosted runners
edeNFed Jul 25, 2024
b8fcdbe
Merge branch 'improve-e2e-tests' of https://github.com/edeNFed/odigos…
edeNFed Jul 25, 2024
22b4c17
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 25, 2024
38ea225
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 27, 2024
e1cc737
change runner
edeNFed Jul 27, 2024
96fe4b1
Run tests after compilation
edeNFed Jul 27, 2024
6d249ff
revert dependecy
edeNFed Jul 27, 2024
dab7f4e
Merge branch 'main' into improve-e2e-tests
edeNFed Jul 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 28 additions & 63 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,27 @@ on:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
kubernetes-test:
runs-on: large-runner
runs-on: odigos-amd64-4cpu-16mem
strategy:
fail-fast: false
matrix:
kube-version:
- "1.23"
- "1.30"
test-scenario:
- "multi-apps"
- "helm-chart"
include:
- kube-version: "1.23"
kind-image: "kindest/node:v1.23.17@sha256:14d0a9a892b943866d7e6be119a06871291c517d279aedb816a4b4bc0ec0a5b3"
- kube-version: "1.30"
kind-image: "kindest/node:v1.30.0@sha256:047357ac0cfea04663786a612ba1eaba9702bef25227a794b52890dd8bcd692e"
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -18,15 +36,20 @@ jobs:
with:
go-version: "~1.22"
check-latest: true
cache: true
cache-dependency-path: |
**/go.sum
- name: Set up Helm
uses: azure/setup-helm@v4
with:
version: v3.9.0
- name: Setup BATS
uses: mig4/setup-bats@v1
- name: Install chainsaw
uses: kyverno/action-install-chainsaw@v0.2.4
- name: Create Kind Cluster
uses: helm/kind-action@v1.10.0
with:
node_image: ${{ matrix.kind-image }}
version: "v0.23.0"
cluster_name: kind
- name: Build CLI
run: |
Expand All @@ -35,64 +58,6 @@ jobs:
- name: Build and Load Odigos Images
run: |
TAG=e2e-test make build-images load-to-kind
- name: Install Odigos
run: |
cli/odigos install --version e2e-test
- name: Install Collector - Add Dependencies
shell: bash
run: |
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
- uses: actions/checkout@v4
with:
repository: 'open-telemetry/opentelemetry-helm-charts'
path: opentelemetry-helm-charts
- name: Install Collector - Helm install
run: helm install test -f .github/workflows/e2e/collector-helm-values.yaml opentelemetry-helm-charts/charts/opentelemetry-collector --namespace traces --create-namespace
- name: Wait for Collector to be ready
run: |
kubectl wait --for=condition=Ready --timeout=60s -n traces pod/test-opentelemetry-collector-0
- name: Install KV Shop
run: |
kubectl create ns kvshop
kubectl apply -f .github/workflows/e2e/kv-shop.yaml -n kvshop
- name: Wait for KV Shop to be ready
run: |
kubectl wait --for=condition=Ready --timeout=100s -n kvshop pods --all
- name: Select kvshop namespace for instrumentation
run: |
kubectl label namespace kvshop odigos-instrumentation=enabled
- name: Connect to Jaeger destination
run: |
kubectl create -f .github/workflows/e2e/jaeger-dest.yaml
- name: Wait for Odigos to bring up collectors
run: |
while [[ $(kubectl get daemonset odigos-data-collection -n odigos-system -o jsonpath='{.status.numberReady}') != 1 ]];
do
echo "Waiting for odigos-data-collection daemonset to be created" && sleep 3;
done
while [[ $(kubectl get deployment odigos-gateway -n odigos-system -o jsonpath='{.status.readyReplicas}') != 1 ]];
do
echo "Waiting for odigos-data-collection deployment to be created" && sleep 3;
done
while [[ $(kubectl get pods --output=jsonpath='{range .items[*]}{.status.phase}{"\n"}{end}' -n kvshop | grep -v Running | wc -l) != 0 ]];
do
echo "Waiting for kvshop pods to be running" && sleep 3;
done
sleep 10
kubectl get pods -A
kubectl get svc -A
- name: Start bot job
run: |
kubectl create -f .github/workflows/e2e/buybot-job.yaml -n kvshop
- name: Wait for bot job to complete
run: |
kubectl wait --for=condition=Complete --timeout=60s job/buybot-job -n kvshop
- name: Copy trace output
run: |
echo "Sleeping for 10 seconds to allow traces to be collected"
sleep 10
kubectl cp -c filecp traces/test-opentelemetry-collector-0:tmp/trace.json ./.github/workflows/e2e/bats/traces-orig.json
cat ./.github/workflows/e2e/bats/traces-orig.json
- name: Verify output trace
- name: Run E2E Tests
run: |
bats .github/workflows/e2e/bats/verify.bats
chainsaw test tests/e2e/${{ matrix.test-scenario }}
166 changes: 0 additions & 166 deletions .github/workflows/e2e/bats/utilities.bash

This file was deleted.

Loading
Loading