Skip to content

Force the elastic integration tests to use the correct IMAGE path for docker images#193

Merged
osullivandonal merged 5 commits intoelastic:mainfrom
osullivandonal:fix-elastic-integration-tests
Jan 20, 2026
Merged

Force the elastic integration tests to use the correct IMAGE path for docker images#193
osullivandonal merged 5 commits intoelastic:mainfrom
osullivandonal:fix-elastic-integration-tests

Conversation

@osullivandonal
Copy link

Changes

The elastic integration tests that run in the CI start up the elastic demo using make start. This uses the .env.override file to set the IMAGE path to use the elastic versions of the images for this demo. However, upon investigation it was found that docker compose is not respecting this and just uses the value set in the .env file, which currently has a bug in the product catalog image.

Looks like the issue here is that docker compose in the CI is not respecting the .env.override file, it takes the IMAGE path from the .env and not the .env.override. This causes the Elastic integration tests to use the upstream images for the tests, and currently it looks like the product-catalgo image is broken.

Here is this repo before using sed to update the image path in the tests:

Run echo "=== Container Images ==="
=== Container Images ===
NAMES                         IMAGE                                                 STATUS
frontend-proxy                ghcr.io/open-telemetry/demo:latest-frontend-proxy     Up 50 seconds
load-generator                ghcr.io/open-telemetry/demo:latest-load-generator     Up 50 seconds
frontend                      ghcr.io/open-telemetry/demo:latest-frontend           Up 50 seconds
checkout                      ghcr.io/open-telemetry/demo:latest-checkout           Up 51 seconds
product-reviews               ghcr.io/open-telemetry/demo:latest-product-reviews    Up About a minute
recommendation                ghcr.io/open-telemetry/demo:latest-recommendation     Up About a minute
product-catalog               ghcr.io/open-telemetry/demo:latest-product-catalog    Restarting (1) 7 seconds ago
email                         ghcr.io/open-telemetry/demo:latest-email              Up About a minute
cart                          ghcr.io/open-telemetry/demo:latest-cart               Up About a minute
image-provider                ghcr.io/open-telemetry/demo:latest-image-provider     Up About a minute
currency                      ghcr.io/open-telemetry/demo:latest-currency           Up About a minute
payment                       ghcr.io/open-telemetry/demo:latest-payment            Up About a minute
flagd-ui                      ghcr.io/open-telemetry/demo:latest-flagd-ui           Up About a minute
fraud-detection               ghcr.io/open-telemetry/demo:latest-fraud-detection    Up 51 seconds
ad                            ghcr.io/open-telemetry/demo:latest-ad                 Up About a minute
quote                         ghcr.io/open-telemetry/demo:latest-quote              Up About a minute
accounting                    ghcr.io/open-telemetry/demo:latest-accounting         Up 51 seconds
shipping                      ghcr.io/open-telemetry/demo:latest-shipping           Up About a minute
otel-collector                docker.elastic.co/elastic-agent/elastic-agent:9.2.0   Up About a minute
llm                           ghcr.io/open-telemetry/demo:latest-llm                Up About a minute
prometheus                    quay.io/prometheus/prometheus:v3.7.3                  Up About a minute
opensearch                    opentelemetry-demo-opensearch                         Up About a minute (healthy)
flagd                         ghcr.io/open-feature/flagd:v0.12.9                    Up About a minute
kafka                         ghcr.io/open-telemetry/demo:latest-kafka              Up About a minute (healthy)
postgresql                    ghcr.io/open-telemetry/demo:latest-postgresql         Up About a minute
jaeger                        jaegertracing/jaeger:2.11.0                           Up About a minute
grafana                       grafana/grafana:12.2.0                                Up About a minute
valkey-cart                   valkey/valkey:9.0.0-alpine3.22                        Up About a minute
chart-testing-control-plane   kindest/node:v1.32.0                                  Up 4 minutes

And when we use sed to update the IMAGE env var with the correct elastic path:

Run echo "=== Container Images ==="
=== Container Images ===
NAMES                         IMAGE                                                       STATUS
frontend-proxy                ghcr.io/elastic/opentelemetry-demo:latest-frontend-proxy    Up 52 seconds
load-generator                ghcr.io/elastic/opentelemetry-demo:latest-load-generator    Up 52 seconds
frontend                      ghcr.io/elastic/opentelemetry-demo:latest-frontend          Up 52 seconds
checkout                      ghcr.io/elastic/opentelemetry-demo:latest-checkout          Up 52 seconds
recommendation                ghcr.io/elastic/opentelemetry-demo:latest-recommendation    Up About a minute
product-reviews               ghcr.io/elastic/opentelemetry-demo:latest-product-reviews   Up About a minute
currency                      ghcr.io/elastic/opentelemetry-demo:latest-currency          Up About a minute
payment                       ghcr.io/elastic/opentelemetry-demo:latest-payment           Up About a minute
quote                         ghcr.io/elastic/opentelemetry-demo:latest-quote             Up About a minute
product-catalog               ghcr.io/elastic/opentelemetry-demo:latest-product-catalog   Up About a minute
email                         ghcr.io/elastic/opentelemetry-demo:latest-email             Up About a minute
shipping                      ghcr.io/elastic/opentelemetry-demo:latest-shipping          Up About a minute
fraud-detection               ghcr.io/elastic/opentelemetry-demo:latest-fraud-detection   Up 52 seconds
accounting                    ghcr.io/elastic/opentelemetry-demo:latest-accounting        Up 52 seconds
image-provider                ghcr.io/elastic/opentelemetry-demo:latest-image-provider    Up About a minute
flagd-ui                      ghcr.io/elastic/opentelemetry-demo:latest-flagd-ui          Up About a minute
ad                            ghcr.io/elastic/opentelemetry-demo:latest-ad                Up About a minute
cart                          ghcr.io/elastic/opentelemetry-demo:latest-cart              Up About a minute
otel-collector                docker.elastic.co/elastic-agent/elastic-agent:9.2.0         Up About a minute
llm                           ghcr.io/elastic/opentelemetry-demo:latest-llm               Up About a minute
valkey-cart                   valkey/valkey:9.0.0-alpine3.22                              Up About a minute
opensearch                    opentelemetry-demo-opensearch                               Up About a minute (healthy)
flagd                         ghcr.io/open-feature/flagd:v0.12.9                          Up About a minute
prometheus                    quay.io/prometheus/prometheus:v3.7.3                        Up About a minute
postgresql                    ghcr.io/elastic/opentelemetry-demo:latest-postgresql        Up About a minute
jaeger                        jaegertracing/jaeger:2.11.0                                 Up About a minute
kafka                         ghcr.io/elastic/opentelemetry-demo:latest-kafka             Up About a minute (healthy)
grafana                       grafana/grafana:12.2.0                                      Up About a minute
chart-testing-control-plane   kindest/node:v1.32.0                                        Up 4 minutes

See closed PR: #192

fixes #191

The elastic integration tests that run in the CI start up the elastic
demo using make start. This uses the .env.override file to set the IMAGE
path to use the elastic versions of the images for this demo. However,
upon investigation it was found that docker compose is not respecting
this and just uses the value set in the .env file, which currently has a
bug in the product catalog image.
@osullivandonal osullivandonal requested a review from a team as a code owner January 19, 2026 15:13
Copy link
Collaborator

@rogercoll rogercoll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you know why the .env.override is not taken into account? Is this only happening in our CI? (wondering if it is also failing in local execution)

Maybe DOCKER_COMPOSE_ENV is set?

@osullivandonal
Copy link
Author

osullivandonal commented Jan 19, 2026

Do you know why the .env.override is not taken into account? Is this only happening in our CI? (wondering if it is also failing in local execution)

Maybe DOCKER_COMPOSE_ENV is set?

Works fine locally, seems to be the way docker compose works, I found an issue for something similar here.

Copy link
Collaborator

@rogercoll rogercoll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this! 🚀

@osullivandonal osullivandonal merged commit a623856 into elastic:main Jan 20, 2026
27 checks passed
@osullivandonal osullivandonal deleted the fix-elastic-integration-tests branch January 20, 2026 16:48
@osullivandonal osullivandonal self-assigned this Jan 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Elastic Integration tests are failing in CI

2 participants