Skip to content

Commit c16532f

Browse files
committed
Merge branch 'main' of github.com:open-telemetry/opentelemetry-operator into feature/3149
2 parents ec88261 + eab0b6a commit c16532f

File tree

69 files changed

+690
-418
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+690
-418
lines changed

.chloggen/3054-create-openshift-bundle.yaml .chloggen/3189-openshift-dashboard-differentiate-otelcols.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
2-
change_type: enhancement
2+
change_type: bug_fix
33

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

77
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
8-
note: "Create an specific bundle for OpenShift environments."
8+
note: When there were multiple OpenTelemetry Collector, the dashboard doesn't allow to select them individually.
99

1010
# One or more tracking issues related to the change
11-
issues: [3054]
11+
issues: [3189]
1212

1313
# (Optional) One or more lines of additional information to render under the primary note.
1414
# These lines will be padded with 2 spaces and then inserted directly into the document.

.chloggen/add-ip-families.yaml

-16
This file was deleted.

.chloggen/feat_python-prometheus-exporter.yaml

-16
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
2-
change_type: enhancement
2+
change_type: bug_fix
33

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

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

1010
# One or more tracking issues related to the change
11-
issues: [2995]
11+
issues: [3187]
1212

1313
# (Optional) One or more lines of additional information to render under the primary note.
1414
# These lines will be padded with 2 spaces and then inserted directly into the document.
1515
# Use pipe (|) for multiline entries.
16-
subtext: To enable this feature, you need to specify the `--openshift-create-dashboard` argument to the operator
16+
subtext: |
17+
On clusters with global proxy the collector might fail to talk to target allocator
18+
because the endpoint is set to `<ta-service-name>:port` and therefore it will go to proxy
19+
and request might be forwarded to internet. Clusters with proxy configure `NO_PROXY` to `.svc.cluster.local` so
20+
the calls to this endpoint will not go through the proxy.

.github/workflows/e2e.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
path: bin
5858
key: ${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('Makefile') }}-${{ steps.setup-go.outputs.go-version }}
5959
- name: Install chainsaw
60-
uses: kyverno/[email protected].6
60+
uses: kyverno/[email protected].8
6161
- name: Install tools
6262
run: make install-tools
6363
- name: Prepare e2e tests

CHANGELOG.md

+29
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,35 @@
22

33
<!-- next version -->
44

5+
## 0.105.0
6+
7+
### 💡 Enhancements 💡
8+
9+
- `collector`: Create automatically an OpenShift dashboard to visualize OpenTelemetry Collector metrics (#2995)
10+
To enable this feature, you need to specify the `--openshift-create-dashboard` argument to the operator
11+
- `bundle`: Create an specific bundle for OpenShift environments. (#3054)
12+
- `collector`: Enabling ipFamilies and ipFamilyPolicy to be configured via OpenTelemetryCollector (#2958)
13+
- `auto-instrumentation`: Add Prometheus exporter to Python auto-instrumentation (#3122)
14+
- `collector`: Configmap, rbac, service, serviceaccount apply annotations-filter. (#3151)
15+
16+
### 🧰 Bug fixes 🧰
17+
18+
- `collector`: Remove workaround for 0.104.0 that enabled feature-gate `confmap.unifyEnvVarExpansion` when Prometheus receiver was enabled. (#3142)
19+
- `opamp`: Fixes a bug where the collector was not being marshalled correctly by using a reference instead of a value. (#3171)
20+
- `auto-instrumentation`: Fixes a bug statefulSet wrong service.instance.id (#3157)
21+
22+
### Components
23+
24+
* [OpenTelemetry Collector - v0.105.0](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/v0.105.0)
25+
* [OpenTelemetry Contrib - v0.105.0](https://github.com/open-telemetry/opentelemetry-collector-contrib/releases/tag/v0.105.0)
26+
* [Java auto-instrumentation - v1.33.5](https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v1.33.5)
27+
* [.NET auto-instrumentation - v1.2.0](https://github.com/open-telemetry/opentelemetry-dotnet-instrumentation/releases/tag/v1.2.0)
28+
* [Node.JS - v0.52.1](https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.52.1)
29+
* [Python - v0.46b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.46b0)
30+
* [Go - v0.13.0-alpha](https://github.com/open-telemetry/opentelemetry-go-instrumentation/releases/tag/v0.13.0-alpha)
31+
* [ApacheHTTPD - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
32+
* [Nginx - 1.0.4](https://github.com/open-telemetry/opentelemetry-cpp-contrib/releases/tag/webserver%2Fv1.0.4)
33+
534
## 0.104.0
635

736
### 🛑 Breaking changes 🛑

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -739,6 +739,7 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range,
739739

740740
| OpenTelemetry Operator | Kubernetes | Cert-Manager | Prometheus-Operator |
741741
|------------------------|----------------| ------------ |---------------------|
742+
| v0.105.0 | v1.23 to v1.30 | v1 | v0.74.0 |
742743
| v0.104.0 | v1.23 to v1.30 | v1 | v0.74.0 |
743744
| v0.103.0 | v1.23 to v1.30 | v1 | v0.74.0 |
744745
| v0.102.0 | v1.23 to v1.30 | v1 | v0.71.2 |
@@ -761,7 +762,6 @@ The OpenTelemetry Operator _might_ work on versions outside of the given range,
761762
| v0.85.0 | v1.19 to v1.28 | v1 | v0.67.1 |
762763
| v0.84.0 | v1.19 to v1.28 | v1 | v0.67.1 |
763764
| v0.83.0 | v1.19 to v1.27 | v1 | v0.67.1 |
764-
| v0.82.0 | v1.19 to v1.27 | v1 | v0.67.1 |
765765

766766
## Contributing and Developing
767767

RELEASE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ The operator should be released within a week after the [OpenTelemetry collector
4444

4545
| Version | Release manager |
4646
|----------|-----------------|
47-
| v0.105.0 | @yuriolisa |
4847
| v0.106.0 | @pavolloffay |
4948
| v0.107.0 | @TylerHelmuth |
5049
| v0.108.0 | @jaronoff97 |
5150
| v0.109.0 | @swiatekm |
5251
| v0.110.0 | @frzifus |
52+
| v0.111.0 | @yuriolisa |

apis/v1beta1/collector_webhook.go

-32
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ func (c CollectorWebhook) Default(_ context.Context, obj runtime.Object) error {
7979
otelcol.Spec.TargetAllocator.Replicas = &one
8080
}
8181

82-
TAUnifyEnvVarExpansion(otelcol)
8382
ComponentUseLocalHostAsDefaultHost(otelcol)
8483

8584
if otelcol.Spec.Autoscaler != nil && otelcol.Spec.Autoscaler.MaxReplicas != nil {
@@ -453,37 +452,6 @@ func SetupCollectorWebhook(mgr ctrl.Manager, cfg config.Config, reviewer *rbac.R
453452
Complete()
454453
}
455454

456-
// TAUnifyEnvVarExpansion disables confmap.unifyEnvVarExpansion featuregate on
457-
// collector instances if a prometheus receiver is configured.
458-
// NOTE: We need this for now until 0.105.0 is out with this fix:
459-
// https://github.com/open-telemetry/opentelemetry-collector/commit/637b1f42fcb7cbb7ef8a50dcf41d0a089623a8b7
460-
func TAUnifyEnvVarExpansion(otelcol *OpenTelemetryCollector) {
461-
var enable bool
462-
for receiver := range otelcol.Spec.Config.Receivers.Object {
463-
if strings.Contains(receiver, "prometheus") {
464-
enable = true
465-
break
466-
}
467-
}
468-
if !enable {
469-
return
470-
}
471-
472-
const (
473-
baseFlag = "feature-gates"
474-
fgFlag = "confmap.unifyEnvVarExpansion"
475-
)
476-
if otelcol.Spec.Args == nil {
477-
otelcol.Spec.Args = make(map[string]string)
478-
}
479-
args, ok := otelcol.Spec.Args[baseFlag]
480-
if !ok || len(args) == 0 {
481-
otelcol.Spec.Args[baseFlag] = "-" + fgFlag
482-
} else if !strings.Contains(otelcol.Spec.Args[baseFlag], fgFlag) {
483-
otelcol.Spec.Args[baseFlag] += ",-" + fgFlag
484-
}
485-
}
486-
487455
// ComponentUseLocalHostAsDefaultHost enables component.UseLocalHostAsDefaultHost
488456
// featuregate on the given collector instance.
489457
// NOTE: For more details, visit:

apis/v1beta1/collector_webhook_test.go

-37
Original file line numberDiff line numberDiff line change
@@ -1335,40 +1335,3 @@ func getReviewer(shouldFailSAR bool) *rbac.Reviewer {
13351335
})
13361336
return rbac.NewReviewer(c)
13371337
}
1338-
1339-
func TestTAUnifyEnvVarExpansion(t *testing.T) {
1340-
otelcol := &OpenTelemetryCollector{
1341-
Spec: OpenTelemetryCollectorSpec{
1342-
OpenTelemetryCommonFields: OpenTelemetryCommonFields{
1343-
Args: nil,
1344-
},
1345-
},
1346-
}
1347-
TAUnifyEnvVarExpansion(otelcol)
1348-
assert.Nil(t, otelcol.Spec.OpenTelemetryCommonFields.Args, "expect nil")
1349-
otelcol.Spec.Config.Receivers.Object = map[string]interface{}{
1350-
"prometheus": nil,
1351-
}
1352-
TAUnifyEnvVarExpansion(otelcol)
1353-
assert.NotNil(t, otelcol.Spec.OpenTelemetryCommonFields.Args, "expect not nil")
1354-
expect := map[string]string{
1355-
"feature-gates": "-confmap.unifyEnvVarExpansion",
1356-
}
1357-
assert.EqualValues(t, otelcol.Spec.OpenTelemetryCommonFields.Args, expect)
1358-
TAUnifyEnvVarExpansion(otelcol)
1359-
assert.EqualValues(t, otelcol.Spec.OpenTelemetryCommonFields.Args, expect)
1360-
expect = map[string]string{
1361-
"feature-gates": "-confmap.unifyEnvVarExpansion,+abc",
1362-
}
1363-
otelcol.Spec.OpenTelemetryCommonFields.Args = expect
1364-
TAUnifyEnvVarExpansion(otelcol)
1365-
assert.EqualValues(t, otelcol.Spec.OpenTelemetryCommonFields.Args, expect)
1366-
otelcol.Spec.OpenTelemetryCommonFields.Args = map[string]string{
1367-
"feature-gates": "+abc",
1368-
}
1369-
TAUnifyEnvVarExpansion(otelcol)
1370-
expect = map[string]string{
1371-
"feature-gates": "+abc,-confmap.unifyEnvVarExpansion",
1372-
}
1373-
assert.EqualValues(t, otelcol.Spec.OpenTelemetryCommonFields.Args, expect)
1374-
}

autoinstrumentation/java/version.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.6.0
1+
1.33.5
+53-54
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,60 @@
1-
opentelemetry-distro==0.46b0
1+
opentelemetry-distro==0.47b0
22
# We don't use the distro[otlp] option which automatically includes exporters since gRPC is not appropriate for
33
# injected auto-instrumentation, where it has a strict dependency on the OS / Python version the artifact is built for.
4-
opentelemetry-exporter-otlp-proto-http==1.25.0
5-
opentelemetry-exporter-prometheus==0.46b0
4+
opentelemetry-exporter-otlp-proto-http==1.26.0
5+
opentelemetry-exporter-prometheus==0.47b0
66

7-
opentelemetry-propagator-b3==1.25.0
8-
opentelemetry-propagator-jaeger==1.25.0
7+
opentelemetry-propagator-b3==1.26.0
8+
opentelemetry-propagator-jaeger==1.26.0
99
opentelemetry-propagator-aws-xray==1.0.1
1010

11-
opentelemetry-instrumentation==0.46b0
12-
opentelemetry-propagator-ot-trace==0.46b0
11+
opentelemetry-instrumentation==0.47b0
12+
opentelemetry-propagator-ot-trace==0.47b0
1313

1414
# Copied in from https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation
15-
opentelemetry-instrumentation-aio-pika==0.46b0
16-
opentelemetry-instrumentation-aiohttp-client==0.46b0
17-
opentelemetry-instrumentation-aiopg==0.46b0
18-
opentelemetry-instrumentation-asgi==0.46b0
19-
opentelemetry-instrumentation-asyncio==0.46b0
20-
opentelemetry-instrumentation-asyncpg==0.46b0
21-
opentelemetry-instrumentation-aws-lambda==0.46b0
22-
opentelemetry-instrumentation-boto==0.46b0
23-
opentelemetry-instrumentation-boto3sqs==0.46b0
24-
opentelemetry-instrumentation-botocore==0.46b0
25-
opentelemetry-instrumentation-cassandra==0.46b0
26-
opentelemetry-instrumentation-celery==0.46b0
27-
opentelemetry-instrumentation-confluent-kafka==0.46b0
28-
opentelemetry-instrumentation-dbapi==0.46b0
29-
opentelemetry-instrumentation-django==0.46b0
30-
opentelemetry-instrumentation-elasticsearch==0.46b0
31-
opentelemetry-instrumentation-falcon==0.46b0
32-
opentelemetry-instrumentation-fastapi==0.46b0
33-
opentelemetry-instrumentation-flask==0.46b0
34-
opentelemetry-instrumentation-grpc==0.46b0
35-
opentelemetry-instrumentation-httpx==0.46b0
36-
opentelemetry-instrumentation-jinja2==0.46b0
37-
opentelemetry-instrumentation-kafka-python==0.46b0
38-
opentelemetry-instrumentation-logging==0.46b0
39-
opentelemetry-instrumentation-mysql==0.46b0
40-
opentelemetry-instrumentation-mysqlclient==0.46b0
41-
opentelemetry-instrumentation-pika==0.46b0
42-
opentelemetry-instrumentation-psycopg==0.46b0
43-
opentelemetry-instrumentation-psycopg2==0.46b0
44-
opentelemetry-instrumentation-pymemcache==0.46b0
45-
opentelemetry-instrumentation-pymongo==0.46b0
46-
opentelemetry-instrumentation-pymysql==0.46b0
47-
opentelemetry-instrumentation-pyramid==0.46b0
48-
opentelemetry-instrumentation-redis==0.46b0
49-
opentelemetry-instrumentation-remoulade==0.46b0
50-
opentelemetry-instrumentation-requests==0.46b0
51-
opentelemetry-instrumentation-sklearn==0.46b0
52-
opentelemetry-instrumentation-sqlalchemy==0.46b0
53-
opentelemetry-instrumentation-sqlite3==0.46b0
54-
opentelemetry-instrumentation-starlette==0.46b0
55-
opentelemetry-instrumentation-system-metrics==0.46b0
56-
opentelemetry-instrumentation-threading==0.46b0
57-
opentelemetry-instrumentation-tornado==0.46b0
58-
opentelemetry-instrumentation-tortoiseorm==0.46b0
59-
opentelemetry-instrumentation-urllib==0.46b0
60-
opentelemetry-instrumentation-urllib3==0.46b0
61-
opentelemetry-instrumentation-wsgi==0.46b0
15+
opentelemetry-instrumentation-aio-pika==0.47b0
16+
opentelemetry-instrumentation-aiohttp-client==0.47b0
17+
opentelemetry-instrumentation-aiohttp-server==0.47b0
18+
opentelemetry-instrumentation-aiopg==0.47b0
19+
opentelemetry-instrumentation-asgi==0.47b0
20+
opentelemetry-instrumentation-asyncio==0.47b0
21+
opentelemetry-instrumentation-asyncpg==0.47b0
22+
opentelemetry-instrumentation-boto==0.47b0
23+
opentelemetry-instrumentation-boto3sqs==0.47b0
24+
opentelemetry-instrumentation-botocore==0.47b0
25+
opentelemetry-instrumentation-cassandra==0.47b0
26+
opentelemetry-instrumentation-celery==0.47b0
27+
opentelemetry-instrumentation-confluent-kafka==0.47b0
28+
opentelemetry-instrumentation-dbapi==0.47b0
29+
opentelemetry-instrumentation-django==0.47b0
30+
opentelemetry-instrumentation-elasticsearch==0.47b0
31+
opentelemetry-instrumentation-falcon==0.47b0
32+
opentelemetry-instrumentation-fastapi==0.47b0
33+
opentelemetry-instrumentation-flask==0.47b0
34+
opentelemetry-instrumentation-grpc==0.47b0
35+
opentelemetry-instrumentation-httpx==0.47b0
36+
opentelemetry-instrumentation-jinja2==0.47b0
37+
opentelemetry-instrumentation-kafka-python==0.47b0
38+
opentelemetry-instrumentation-logging==0.47b0
39+
opentelemetry-instrumentation-mysql==0.47b0
40+
opentelemetry-instrumentation-mysqlclient==0.47b0
41+
opentelemetry-instrumentation-pika==0.47b0
42+
opentelemetry-instrumentation-psycopg==0.47b0
43+
opentelemetry-instrumentation-psycopg2==0.47b0
44+
opentelemetry-instrumentation-pymemcache==0.47b0
45+
opentelemetry-instrumentation-pymongo==0.47b0
46+
opentelemetry-instrumentation-pymysql==0.47b0
47+
opentelemetry-instrumentation-pyramid==0.47b0
48+
opentelemetry-instrumentation-redis==0.47b0
49+
opentelemetry-instrumentation-remoulade==0.47b0
50+
opentelemetry-instrumentation-requests==0.47b0
51+
opentelemetry-instrumentation-sqlalchemy==0.47b0
52+
opentelemetry-instrumentation-sqlite3==0.47b0
53+
opentelemetry-instrumentation-starlette==0.47b0
54+
opentelemetry-instrumentation-system-metrics==0.47b0
55+
opentelemetry-instrumentation-threading==0.47b0
56+
opentelemetry-instrumentation-tornado==0.47b0
57+
opentelemetry-instrumentation-tortoiseorm==0.47b0
58+
opentelemetry-instrumentation-urllib==0.47b0
59+
opentelemetry-instrumentation-urllib3==0.47b0
60+
opentelemetry-instrumentation-wsgi==0.47b0

bundle/community/manifests/opentelemetry-operator.clusterserviceversion.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,13 @@ metadata:
9999
categories: Logging & Tracing,Monitoring
100100
certified: "false"
101101
containerImage: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator
102-
createdAt: "2024-07-18T14:09:46Z"
102+
createdAt: "2024-07-25T10:31:46Z"
103103
description: Provides the OpenTelemetry components, including the Collector
104104
operators.operatorframework.io/builder: operator-sdk-v1.29.0
105105
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
106106
repository: github.com/open-telemetry/opentelemetry-operator
107107
support: OpenTelemetry Community
108-
name: opentelemetry-operator.v0.104.0
108+
name: opentelemetry-operator.v0.105.0
109109
namespace: placeholder
110110
spec:
111111
apiservicedefinitions: {}
@@ -504,7 +504,7 @@ spec:
504504
valueFrom:
505505
fieldRef:
506506
fieldPath: spec.serviceAccountName
507-
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.104.0
507+
image: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:0.105.0
508508
livenessProbe:
509509
httpGet:
510510
path: /healthz
@@ -612,7 +612,7 @@ spec:
612612
minKubeVersion: 1.23.0
613613
provider:
614614
name: OpenTelemetry Community
615-
version: 0.104.0
615+
version: 0.105.0
616616
webhookdefinitions:
617617
- admissionReviewVersions:
618618
- v1alpha1

0 commit comments

Comments
 (0)