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

fedora installer tests #3077

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open

fedora installer tests #3077

wants to merge 11 commits into from

Conversation

emmettbutler
Copy link
Contributor

@emmettbutler emmettbutler commented Sep 19, 2024

This change adds single-step installation tests that run against the Fedora-Cloud-Base-AmazonEC2.x86_64-39-20240912.0 AMI for the purpose of increasing the coverage of the test suite across different operating systems.

Reviewer checklist

  • If PR title starts with [<language>], double-check that only <language> is impacted by the change
  • No system-tests internal is modified. Otherwise, I have the approval from R&P team
  • CI is green, or failing jobs are not related to this change (and you are 100% sure about this statement)
  • A docker base image is modified?
    • the relevant build-XXX-image label is present
  • A scenario is added (or removed)?

@emmettbutler emmettbutler requested a review from a team as a code owner September 19, 2024 21:06
@emmettbutler emmettbutler marked this pull request as draft September 19, 2024 21:06
@emmettbutler emmettbutler changed the title stub fedora installer tests fedora installer tests Sep 23, 2024
@emmettbutler
Copy link
Contributor Author

@robertomonteromiguel I'm not sure what to do with the failing tests on this branch, since they pass on my local runs. Any tips?

sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker

Copy link
Collaborator

Choose a reason for hiding this comment

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

To run the containerized Apss we are using the docker compose. We need to install docker compose

@robertomonteromiguel
Copy link
Collaborator

robertomonteromiguel commented Sep 24, 2024

@robertomonteromiguel I'm not sure what to do with the failing tests on this branch, since they pass on my local runs. Any tips?

I run your pipeline forcing to update the AMIs.
That I can see is that you need to install docker compose.
I see this error when i executed the tests:
sudo: docker-compose: command not found

@emmettbutler
Copy link
Contributor Author

@robertomonteromiguel could you share the command you used to replicate that error?

@emmettbutler
Copy link
Contributor Author

As far as I can tell, this test is now in a state where it's indicating a real incompatibility between Fedora 39 and auto-instrumentation.

@emmettbutler emmettbutler marked this pull request as ready for review September 24, 2024 17:59
@robertomonteromiguel
Copy link
Collaborator

robertomonteromiguel commented Sep 25, 2024

As far as I can tell, this test is now in a state where it's indicating a real incompatibility between Fedora 39 and auto-instrumentation.

I checked locally.

  • The agent is running and listening. No error traces on the agent.
  • The app on docker container is running and the injection is performed.
  • I see only this error:
test-app  | {"level":"debug","ts":1727249824.710667,"caller":"preload_go/inject.go:126","msg":"results","envs":["DD_TRACING_ENABLED=true","DD_TAGS=_dd.injection.mode:docker","DD_RUNTIME_METRICS_ENABLED=true","DD_LOGS_INJECTION=true","DD_INJECTION_ENABLED=tracer","DD_TELEMETRY_FORWARDER_PATH=/opt/datadog-packages/datadog-apm-inject/0.20.0/inject/process"]}
test-app  | {"level":"debug","ts":1727249824.710783,"caller":"telemetry/client.go:189","msg":"request json","request":"{\"api_version\":\"v1\",\"request_type\":\"generate-metrics\",\"tracer_time\":1727249824,\"runtime_id\":\"741711ea-ec89-4542-a87d-9446bb9c3eb7\",\"seq_id\":1,\"application\":{\"service_name\":\"local\",\"env\":\"unknown\",\"tracer_version\":\"5.22.0\",\"language_name\":\"nodejs\",\"language_version\":\"unknown\"},\"host\":{\"hostname\":\"ee25ed8fa45f\",\"os\":\"Debian GNU/Linux\",\"os_version\":\"12 (bookworm)\",\"architecture\":\"amd64\"},\"payload\":{\"namespace\":\"tracers\",\"lib_language\":\"nodejs\",\"lib_version\":\"5.22.0\",\"series\":[{\"metric\":\"inject.success\",\"points\":[[1727249824,1]],\"type\":\"count\",\"tags\":[\"injector_version:0.20.0\",\"platform:docker\"],\"common\":true}]}}"}
test-app  | {"level":"error","ts":1727249824.7134311,"caller":"preload_go/process.go:239","msg":"error flushing telemetry","error":"Post \"http://localhost:8126/telemetry/proxy/api/v2/apmtelemetry\": dial tcp 127.0.0.1:8126: connect: connection refused","stacktrace":"github.com/datadog/preload_go.CommandLineEvaluator.FlushTelemetry\n\t/go/src/github.com/DataDog/auto_inject/preload_go/process.go:239\ngit.luolix.top/datadog/preload_go.CommandLineEvaluator.Process.func1.1\n\t/go/src/github.com/DataDog/auto_inject/preload_go/process.go:306\ngit.luolix.top/datadog/preload_go.InjectCmd.func1\n\t/go/src/github.com/DataDog/auto_inject/preload_go/inject.go:110\ngit.luolix.top/datadog/preload_go.InjectCmd\n\t/go/src/github.com/DataDog/auto_inject/preload_go/inject.go:133\ngit.luolix.top/datadog/preload_go.InjectFromParentProcess\n\t/go/src/github.com/DataDog/auto_inject/preload_go/inject.go:41\nmain.main\n\t/go/src/github.com/DataDog/auto_inject/preload_go/cmd/process/main.go:136\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:271"}
test-app  | {"level":"debug","ts":1727249824.71361,"caller":"process/main.go:153","msg":"exiting process"}

My theory is that something in the configuration of the machine or in docker, makes that the containers cannot connect to the localhost (to the agent).
What do you think? how can we handle this?

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.

2 participants