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

[Chore] Use OTEL operator with pinned version in upstream CI and fix tests #1086

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

Conversation

IshwarKanse
Copy link
Contributor

@IshwarKanse IshwarKanse commented Nov 7, 2024

The PR adds the following changes:

  • Use OTEL operator in upstream CI tests using Kind.
  • Update tests in tests/e2e testsuite to use the OTEL collector.

@codecov-commenter
Copy link

codecov-commenter commented Nov 7, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 58.64%. Comparing base (c2c2f7b) to head (6c14f80).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1086   +/-   ##
=======================================
  Coverage   58.64%   58.64%           
=======================================
  Files         113      113           
  Lines       10145    10145           
=======================================
  Hits         5950     5950           
  Misses       3892     3892           
  Partials      303      303           
Flag Coverage Δ
unittests 58.64% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@IshwarKanse IshwarKanse marked this pull request as ready for review November 13, 2024 07:35
@IshwarKanse IshwarKanse force-pushed the fixes branch 2 times, most recently from 3233e04 to 928bfa5 Compare November 13, 2024 08:46
@IshwarKanse
Copy link
Contributor Author

The OTEL operator bundle intermittently fails to install in Kind cluster.

@IshwarKanse IshwarKanse marked this pull request as draft November 13, 2024 08:59
@IshwarKanse IshwarKanse force-pushed the fixes branch 4 times, most recently from 7b1d8fb to 0b65d67 Compare December 17, 2024 06:52
@IshwarKanse IshwarKanse marked this pull request as ready for review December 17, 2024 08:22
@IshwarKanse
Copy link
Contributor Author

@pavolloffay @andreasgerstmayr Can you help to review and approve this PR.

@andreasgerstmayr
Copy link
Collaborator

andreasgerstmayr commented Dec 18, 2024

@pavolloffay @andreasgerstmayr Can you help to review and approve this PR.

Let's merge #1092 first (large PR) to not cause merge conflicts for #1092

.PHONY: otel-deploy
otel-deploy: operator-sdk ## Deploy OpenTelemetry operator via OLM
kubectl create namespace otel-operator-system
# Wait for OLM components to be ready
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why does the otel-deploy target need to wait for the OLM installation, shouldn't the place where OLM is installed wait for completion?

apiVersion: v1
kind: ConfigMap
apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
Copy link
Collaborator

Choose a reason for hiding this comment

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

The advantage of using a Deployment instead of the OpenTelemetry CR is that we don't have a dependency on the OpenTelemetry Operator when running the tests from the e2e test suite. We already have a dependency on the OTEL Operator for the OpenShift e2e test suite.

wdyt @pavolloffay @rubenvp8510, should we mandate an OTEL Operator installation for the Tempo e2e tests? Or keep the dependencies small?
I tend to prefer to keep the dependencies minimal, i.e. just use a Deployment for the Tempo e2e tests.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I also tend to prefer to keep the dependencies at minimum. What exactly is the advantage of using the OTEL operator instead? It is to not have to bump otel version manually in each deployment?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

With a deployment we need to update its spec and related resources if we want to bump the collector version. Its not as simple as changing the image tag ref, for some reason GRPC was not working with deployment when I used the latest collector version and I had to try to figure out what was missing. With operator its much easier, we just update the operator version var in the Makefile (Until the API version changes in CRD :) ) When the tests run on an OpenShift cluster the tests/e2e suite with a deployment runs with the older version of collector. If we use the operator, the tests will run using the operator version installed on the OCP cluster. It could be any version we want to test with Tempo.

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.

4 participants