Skip to content

Commit

Permalink
Merge branch 'main' into enhanced-webhook
Browse files Browse the repository at this point in the history
  • Loading branch information
taniyourstruly authored Aug 6, 2024
2 parents 69c39d6 + eab0b6a commit b070c5f
Show file tree
Hide file tree
Showing 65 changed files with 625 additions and 368 deletions.
16 changes: 0 additions & 16 deletions .chloggen/3054-create-openshift-bundle.yaml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
change_type: bug_fix

# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
component: auto-instrumentation
component: operator

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Fixes a bug statefulSet wrong service.instance.id
note: When there were multiple OpenTelemetry Collector, the dashboard doesn't allow to select them individually.

# One or more tracking issues related to the change
issues: [3157]
issues: [3189]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
Expand Down
16 changes: 0 additions & 16 deletions .chloggen/add-ip-families.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions .chloggen/feat_python-prometheus-exporter.yaml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: enhancement
change_type: bug_fix

# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
component: collector
component: target allocator

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Create automatically an OpenShift dashboard to visualize OpenTelemetry Collector metrics
note: Fix collector to target allocator connection in clusters with proxy.

# One or more tracking issues related to the change
issues: [2995]
issues: [3187]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext: To enable this feature, you need to specify the `--openshift-create-dashboard` argument to the operator
subtext: |
On clusters with global proxy the collector might fail to talk to target allocator
because the endpoint is set to `<ta-service-name>:port` and therefore it will go to proxy
and request might be forwarded to internet. Clusters with proxy configure `NO_PROXY` to `.svc.cluster.local` so
the calls to this endpoint will not go through the proxy.
2 changes: 1 addition & 1 deletion .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
path: bin
key: ${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('Makefile') }}-${{ steps.setup-go.outputs.go-version }}
- name: Install chainsaw
uses: kyverno/[email protected].7
uses: kyverno/[email protected].8
- name: Install tools
run: make install-tools
- name: Prepare e2e tests
Expand Down
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,35 @@

<!-- next version -->

## 0.105.0

### 💡 Enhancements 💡

- `collector`: Create automatically an OpenShift dashboard to visualize OpenTelemetry Collector metrics (#2995)
To enable this feature, you need to specify the `--openshift-create-dashboard` argument to the operator
- `bundle`: Create an specific bundle for OpenShift environments. (#3054)
- `collector`: Enabling ipFamilies and ipFamilyPolicy to be configured via OpenTelemetryCollector (#2958)
- `auto-instrumentation`: Add Prometheus exporter to Python auto-instrumentation (#3122)
- `collector`: Configmap, rbac, service, serviceaccount apply annotations-filter. (#3151)

### 🧰 Bug fixes 🧰

- `collector`: Remove workaround for 0.104.0 that enabled feature-gate `confmap.unifyEnvVarExpansion` when Prometheus receiver was enabled. (#3142)
- `opamp`: Fixes a bug where the collector was not being marshalled correctly by using a reference instead of a value. (#3171)
- `auto-instrumentation`: Fixes a bug statefulSet wrong service.instance.id (#3157)

### Components

* [OpenTelemetry Collector - v0.105.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.105.0)
* [OpenTelemetry Contrib - v0.105.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.105.0)
* [Java auto-instrumentation - v1.33.5](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.33.5)
* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/v1.2.0)
* [Node.JS - v0.52.1](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.52.1)
* [Python - v0.46b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.46b0)
* [Go - v0.13.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.13.0-alpha)
* [ApacheHTTPD - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
* [Nginx - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)

## 0.104.0

### 🛑 Breaking changes 🛑
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -739,6 +739,7 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range,

| OpenTelemetry Operator | Kubernetes | Cert-Manager | Prometheus-Operator |
|------------------------|----------------| ------------ |---------------------|
| v0.105.0 | v1.23 to v1.30 | v1 | v0.74.0 |
| v0.104.0 | v1.23 to v1.30 | v1 | v0.74.0 |
| v0.103.0 | v1.23 to v1.30 | v1 | v0.74.0 |
| v0.102.0 | v1.23 to v1.30 | v1 | v0.71.2 |
Expand All @@ -761,7 +762,6 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range,
| v0.85.0 | v1.19 to v1.28 | v1 | v0.67.1 |
| v0.84.0 | v1.19 to v1.28 | v1 | v0.67.1 |
| v0.83.0 | v1.19 to v1.27 | v1 | v0.67.1 |
| v0.82.0 | v1.19 to v1.27 | v1 | v0.67.1 |

## Contributing and Developing

Expand Down
2 changes: 1 addition & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ The operator should be released within a week after the [OpenTelemetry collector

| Version | Release manager |
|----------|-----------------|
| v0.105.0 | @yuriolisa |
| v0.106.0 | @pavolloffay |
| v0.107.0 | @TylerHelmuth |
| v0.108.0 | @jaronoff97 |
| v0.109.0 | @swiatekm |
| v0.110.0 | @frzifus |
| v0.111.0 | @yuriolisa |
32 changes: 0 additions & 32 deletions apis/v1beta1/collector_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ func (c CollectorWebhook) Default(_ context.Context, obj runtime.Object) error {
otelcol.Spec.TargetAllocator.Replicas = &one
}

TAUnifyEnvVarExpansion(otelcol)
ComponentUseLocalHostAsDefaultHost(otelcol)

if otelcol.Spec.Autoscaler != nil && otelcol.Spec.Autoscaler.MaxReplicas != nil {
Expand Down Expand Up @@ -482,37 +481,6 @@ func SetupCollectorWebhook(mgr ctrl.Manager, cfg config.Config, reviewer *rbac.R
Complete()
}

// TAUnifyEnvVarExpansion disables confmap.unifyEnvVarExpansion featuregate on
// collector instances if a prometheus receiver is configured.
// NOTE: We need this for now until 0.105.0 is out with this fix:
// https://github.com/open-telemetry/opentelemetry-collector/commit/637b1f42fcb7cbb7ef8a50dcf41d0a089623a8b7
func TAUnifyEnvVarExpansion(otelcol *OpenTelemetryCollector) {
var enable bool
for receiver := range otelcol.Spec.Config.Receivers.Object {
if strings.Contains(receiver, "prometheus") {
enable = true
break
}
}
if !enable {
return
}

const (
baseFlag = "feature-gates"
fgFlag = "confmap.unifyEnvVarExpansion"
)
if otelcol.Spec.Args == nil {
otelcol.Spec.Args = make(map[string]string)
}
args, ok := otelcol.Spec.Args[baseFlag]
if !ok || len(args) == 0 {
otelcol.Spec.Args[baseFlag] = "-" + fgFlag
} else if !strings.Contains(otelcol.Spec.Args[baseFlag], fgFlag) {
otelcol.Spec.Args[baseFlag] += ",-" + fgFlag
}
}

// ComponentUseLocalHostAsDefaultHost enables component.UseLocalHostAsDefaultHost
// featuregate on the given collector instance.
// NOTE: For more details, visit:
Expand Down
107 changes: 53 additions & 54 deletions autoinstrumentation/python/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,61 +1,60 @@
opentelemetry-distro==0.46b0
opentelemetry-distro==0.47b0
# We don't use the distro[otlp] option which automatically includes exporters since gRPC is not appropriate for
# injected auto-instrumentation, where it has a strict dependency on the OS / Python version the artifact is built for.
opentelemetry-exporter-otlp-proto-http==1.25.0
opentelemetry-exporter-prometheus==0.46b0
opentelemetry-exporter-otlp-proto-http==1.26.0
opentelemetry-exporter-prometheus==0.47b0

opentelemetry-propagator-b3==1.25.0
opentelemetry-propagator-jaeger==1.25.0
opentelemetry-propagator-b3==1.26.0
opentelemetry-propagator-jaeger==1.26.0
opentelemetry-propagator-aws-xray==1.0.1

opentelemetry-instrumentation==0.46b0
opentelemetry-propagator-ot-trace==0.46b0
opentelemetry-instrumentation==0.47b0
opentelemetry-propagator-ot-trace==0.47b0

# Copied in from https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation
opentelemetry-instrumentation-aio-pika==0.46b0
opentelemetry-instrumentation-aiohttp-client==0.46b0
opentelemetry-instrumentation-aiopg==0.46b0
opentelemetry-instrumentation-asgi==0.46b0
opentelemetry-instrumentation-asyncio==0.46b0
opentelemetry-instrumentation-asyncpg==0.46b0
opentelemetry-instrumentation-aws-lambda==0.46b0
opentelemetry-instrumentation-boto==0.46b0
opentelemetry-instrumentation-boto3sqs==0.46b0
opentelemetry-instrumentation-botocore==0.46b0
opentelemetry-instrumentation-cassandra==0.46b0
opentelemetry-instrumentation-celery==0.46b0
opentelemetry-instrumentation-confluent-kafka==0.46b0
opentelemetry-instrumentation-dbapi==0.46b0
opentelemetry-instrumentation-django==0.46b0
opentelemetry-instrumentation-elasticsearch==0.46b0
opentelemetry-instrumentation-falcon==0.46b0
opentelemetry-instrumentation-fastapi==0.46b0
opentelemetry-instrumentation-flask==0.46b0
opentelemetry-instrumentation-grpc==0.46b0
opentelemetry-instrumentation-httpx==0.46b0
opentelemetry-instrumentation-jinja2==0.46b0
opentelemetry-instrumentation-kafka-python==0.46b0
opentelemetry-instrumentation-logging==0.46b0
opentelemetry-instrumentation-mysql==0.46b0
opentelemetry-instrumentation-mysqlclient==0.46b0
opentelemetry-instrumentation-pika==0.46b0
opentelemetry-instrumentation-psycopg==0.46b0
opentelemetry-instrumentation-psycopg2==0.46b0
opentelemetry-instrumentation-pymemcache==0.46b0
opentelemetry-instrumentation-pymongo==0.46b0
opentelemetry-instrumentation-pymysql==0.46b0
opentelemetry-instrumentation-pyramid==0.46b0
opentelemetry-instrumentation-redis==0.46b0
opentelemetry-instrumentation-remoulade==0.46b0
opentelemetry-instrumentation-requests==0.46b0
opentelemetry-instrumentation-sklearn==0.46b0
opentelemetry-instrumentation-sqlalchemy==0.46b0
opentelemetry-instrumentation-sqlite3==0.46b0
opentelemetry-instrumentation-starlette==0.46b0
opentelemetry-instrumentation-system-metrics==0.46b0
opentelemetry-instrumentation-threading==0.46b0
opentelemetry-instrumentation-tornado==0.46b0
opentelemetry-instrumentation-tortoiseorm==0.46b0
opentelemetry-instrumentation-urllib==0.46b0
opentelemetry-instrumentation-urllib3==0.46b0
opentelemetry-instrumentation-wsgi==0.46b0
opentelemetry-instrumentation-aio-pika==0.47b0
opentelemetry-instrumentation-aiohttp-client==0.47b0
opentelemetry-instrumentation-aiohttp-server==0.47b0
opentelemetry-instrumentation-aiopg==0.47b0
opentelemetry-instrumentation-asgi==0.47b0
opentelemetry-instrumentation-asyncio==0.47b0
opentelemetry-instrumentation-asyncpg==0.47b0
opentelemetry-instrumentation-boto==0.47b0
opentelemetry-instrumentation-boto3sqs==0.47b0
opentelemetry-instrumentation-botocore==0.47b0
opentelemetry-instrumentation-cassandra==0.47b0
opentelemetry-instrumentation-celery==0.47b0
opentelemetry-instrumentation-confluent-kafka==0.47b0
opentelemetry-instrumentation-dbapi==0.47b0
opentelemetry-instrumentation-django==0.47b0
opentelemetry-instrumentation-elasticsearch==0.47b0
opentelemetry-instrumentation-falcon==0.47b0
opentelemetry-instrumentation-fastapi==0.47b0
opentelemetry-instrumentation-flask==0.47b0
opentelemetry-instrumentation-grpc==0.47b0
opentelemetry-instrumentation-httpx==0.47b0
opentelemetry-instrumentation-jinja2==0.47b0
opentelemetry-instrumentation-kafka-python==0.47b0
opentelemetry-instrumentation-logging==0.47b0
opentelemetry-instrumentation-mysql==0.47b0
opentelemetry-instrumentation-mysqlclient==0.47b0
opentelemetry-instrumentation-pika==0.47b0
opentelemetry-instrumentation-psycopg==0.47b0
opentelemetry-instrumentation-psycopg2==0.47b0
opentelemetry-instrumentation-pymemcache==0.47b0
opentelemetry-instrumentation-pymongo==0.47b0
opentelemetry-instrumentation-pymysql==0.47b0
opentelemetry-instrumentation-pyramid==0.47b0
opentelemetry-instrumentation-redis==0.47b0
opentelemetry-instrumentation-remoulade==0.47b0
opentelemetry-instrumentation-requests==0.47b0
opentelemetry-instrumentation-sqlalchemy==0.47b0
opentelemetry-instrumentation-sqlite3==0.47b0
opentelemetry-instrumentation-starlette==0.47b0
opentelemetry-instrumentation-system-metrics==0.47b0
opentelemetry-instrumentation-threading==0.47b0
opentelemetry-instrumentation-tornado==0.47b0
opentelemetry-instrumentation-tortoiseorm==0.47b0
opentelemetry-instrumentation-urllib==0.47b0
opentelemetry-instrumentation-urllib3==0.47b0
opentelemetry-instrumentation-wsgi==0.47b0
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,13 @@ metadata:
categories: Logging & Tracing,Monitoring
certified: "false"
containerImage: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator
createdAt: "2024-07-18T14:09:46Z"
createdAt: "2024-07-25T10:31:46Z"
description: Provides the OpenTelemetry components, including the Collector
operators.operatorframework.io/builder: operator-sdk-v1.29.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
repository: github.com/open-telemetry/opentelemetry-operator
support: OpenTelemetry Community
name: opentelemetry-operator.v0.104.0
name: opentelemetry-operator.v0.105.0
namespace: placeholder
spec:
apiservicedefinitions: {}
Expand Down Expand Up @@ -504,7 +504,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: spec.serviceAccountName
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.104.0
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.105.0
livenessProbe:
httpGet:
path: /healthz
Expand Down Expand Up @@ -612,7 +612,7 @@ spec:
minKubeVersion: 1.23.0
provider:
name: OpenTelemetry Community
version: 0.104.0
version: 0.105.0
webhookdefinitions:
- admissionReviewVersions:
- v1alpha1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,13 +99,13 @@ metadata:
categories: Logging & Tracing,Monitoring
certified: "false"
containerImage: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator
createdAt: "2024-07-20T18:51:11Z"
createdAt: "2024-07-25T10:31:56Z"
description: Provides the OpenTelemetry components, including the Collector
operators.operatorframework.io/builder: operator-sdk-v1.29.0
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
repository: github.com/open-telemetry/opentelemetry-operator
support: OpenTelemetry Community
name: opentelemetry-operator.v0.104.0
name: opentelemetry-operator.v0.105.0
namespace: placeholder
spec:
apiservicedefinitions: {}
Expand Down Expand Up @@ -508,7 +508,7 @@ spec:
valueFrom:
fieldRef:
fieldPath: spec.serviceAccountName
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.104.0
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.105.0
livenessProbe:
httpGet:
path: /healthz
Expand Down Expand Up @@ -616,7 +616,7 @@ spec:
minKubeVersion: 1.23.0
provider:
name: OpenTelemetry Community
version: 0.104.0
version: 0.105.0
webhookdefinitions:
- admissionReviewVersions:
- v1alpha1
Expand Down
Loading

0 comments on commit b070c5f

Please sign in to comment.