Skip to content

Conversation

pankaj101A
Copy link

@pankaj101A pankaj101A commented Sep 3, 2025

Description

Changes

  1. Credential key (hashKeyV2) now derives only from InstallationToken and APIBaseURL.
  2. collectorName no longer affects credential storage.
  3. Added backward compatibility: falls back to old key (v1) if v2 not found.
  4. On shutdown, v1 credentials are migrated to v2.
  5. Updated tests to cover v1 → v2 migration and ensure correct credential usage.

Design Doc: https://docs.google.com/document/d/1zeDIwKF4AesFBvIvwQoyz73zzwGB4urEAXGWWK0qJYw/edit?usp=sharing

Link to tracking issue

#42511

Testing

Testing on local are performed

update request
Body:
{
"name": "test"
}

Agent Logs

2025-09-03T10:45:32.115+0530 info opampextension/opamp_agent.go:499 Saving effective config {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "opamp", "otelcol.component.kind": "extension"}
2025-09-03T10:45:32.117+0530 info opampextension/opamp_agent.go:434 Loading Configuration to Validate... {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "opamp", "otelcol.component.kind": "extension", "filename": "sumologic-otCollector-tags.yaml"}
2025-09-03T10:45:32.119+0530 info opampextension/opamp_agent.go:450 Config Validation Successful {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "opamp", "otelcol.component.kind": "extension", "filename": "sumologic-otCollector-tags.yaml"}
2025-09-03T10:45:32.119+0530 info opampextension/opamp_agent.go:174 OpAMP server requested the effective configuration {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "opamp", "otelcol.component.kind": "extension"}
2025-09-03T10:45:32.119+0530 info otelcol@v0.130.1/collector.go:358 Received signal from OS {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "signal": "hangup"}
2025-09-03T10:45:32.119+0530 warn otelcol@v0.130.1/collector.go:251 Config updated, restart service {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}}
2025-09-03T10:45:32.119+0530 info service@v0.130.1/service.go:322 Starting shutdown... {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}}
2025-09-03T10:45:32.119+0530 info healthcheck/handler.go:132 Health Check state change {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "health_check", "otelcol.component.kind": "extension", "status": "unavailable"}
2025-09-03T10:45:32.119+0530 info extensions/extensions.go:69 Stopping extensions... {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}}
2025-09-03T10:45:32.120+0530 info credentials/credentialsstore_localfs.go:129 Collector registration credentials retrieved from local fs {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "sumologic", "otelcol.component.kind": "extension", "path": "/var/lib/otelcol-sumo/credentials/46268f1d00d787e8bcbe2f4818802d3c815b2cb9803bbdb43eb16713cd18a3dc"}
2025-09-03T10:45:32.120+0530 info sumologicextension/extension.go:624 Heartbeat sender turned off {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "sumologic", "otelcol.component.kind": "extension", "collector_name": "service.sumologic.com-1756824236855-1756876425742", "collector_id": "00005AF3108EDB48"}
Shutting down Sumo Logic extension hashkey [REDACTED]https://stag-open-events.sumologic.net2025-09-03T10:45:32.658+0530 error opampextension/opamp_agent.go:83 Unexpected error while receiving: websocket: close sent {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "opamp", "otelcol.component.kind": "extension"}
github.com/SumoLogic/sumologic-otel-collector/pkg/extension/opampextension.opampLogShim.Errorf
/Users/pankaj.kumar/git/github/sumologic-otel-collector/pkg/extension/opampextension/opamp_agent.go:83
github.com/open-telemetry/opamp-go/client/internal.(*wsReceiver).ReceiverLoop
/Users/pankaj.kumar/go/pkg/mod/github.com/open-telemetry/opamp-go@v0.14.0/client/internal/wsreceiver.go:88
2025-09-03T10:45:32.658+0530 info service@v0.130.1/service.go:336 Shutdown complete. {"resource": {"service.instance.id": "7aa129cf-ef06-43b4-a80a-7cc234444e88", "service.name": "otelcol-sumo", "service.version": "0.130.1"}}
2025-09-03T10:45:32.670+0530 info service@v0.130.1/service.go:197 Setting up own telemetry... {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}}
2025-09-03T10:45:59.153+0530 info credentials/credentialsstore_localfs.go:129 Collector registration credentials retrieved from local fs {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "sumologic", "otelcol.component.kind": "extension", "path": "/var/lib/otelcol-sumo/credentials/46268f1d00d787e8bcbe2f4818802d3c815b2cb9803bbdb43eb16713cd18a3dc"}
2025-09-03T10:45:59.153+0530 info credentials/credentialsstore_localfs.go:129 Collector registration credentials retrieved from local fs {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "sumologic", "otelcol.component.kind": "extension", "path": "/var/lib/otelcol-sumo/credentials/46268f1d00d787e8bcbe2f4818802d3c815b2cb9803bbdb43eb16713cd18a3dc"}
2025-09-03T10:45:59.154+0530 info service@v0.130.1/service.go:257 Starting otelcol-sumo... {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "Version": "0.130.1", "NumCPU": 12}
2025-09-03T10:45:59.154+0530 info extensions/extensions.go:41 Starting extensions... {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}}
2025-09-03T10:45:59.154+0530 info extensions/extensions.go:45 Extension is starting... {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "health_check", "otelcol.component.kind": "extension"}
2025-09-03T10:45:59.154+0530 info healthcheckextension@v0.130.0/healthcheckextension.go:32 Starting health_check extension {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "health_check", "otelcol.component.kind": "extension", "config": {"Endpoint":"localhost:13133","TLS":{},"CORS":{},"Auth":{},"MaxRequestBodySize":0,"IncludeMetadata":false,"ResponseHeaders":null,"CompressionAlgorithms":null,"ReadTimeout":0,"ReadHeaderTimeout":0,"WriteTimeout":0,"IdleTimeout":0,"Middlewares":null,"Path":"/","ResponseBody":null,"CheckCollectorPipeline":{"Enabled":false,"Interval":"5m","ExporterFailureThreshold":5}}}
2025-09-03T10:45:59.155+0530 info extensions/extensions.go:62 Extension started. {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "health_check", "otelcol.component.kind": "extension"}
2025-09-03T10:45:59.155+0530 info extensions/extensions.go:45 Extension is starting... {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "sumologic", "otelcol.component.kind": "extension"}
2025-09-03T10:45:59.155+0530 info credentials/credentialsstore_localfs.go:129 Collector registration credentials retrieved from local fs {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "sumologic", "otelcol.component.kind": "extension", "path": "/var/lib/otelcol-sumo/credentials/46268f1d00d787e8bcbe2f4818802d3c815b2cb9803bbdb43eb16713cd18a3dc"}
2025-09-03T10:45:59.155+0530 info sumologicextension/extension.go:272 Validating collector credentials... {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "sumologic", "otelcol.component.kind": "extension", "collector_credential_id": "NjJlSEdNN1J3MDlKOHRJaTFYeDlzdGFn", "collector_id": "00005AF3108EDB48"}
hashkey v1 is : [REDACTED]https://stag-open-events.sumologic.net
hashkey v2 is : [REDACTED]https://stag-open-events.sumologic.net
hashkey v2 creds : {service.sumologic.com-1756824236855 {NjJlSEdNN1J3MDlKOHRJaTFYeDlzdGFn lx1rdbTRFLsxysXKirRMCGY4ldpr3QMx0FhXxjTTUre8FQilhzmRJlRjGnfZ7jGQYiH7hjYmjnWlcziXNdVndl8KgjxVWO5dybhWpHPo8L86oCLmXeNyTZWlNjbd2vyu 00005AF3108EDB48 service.sumologic.com-1756824236855-1756876425742} https://stag-open-events.sumologic.net %!s(int64=0)}
hashkey v1 creds : {service.sumologic.com-1756824236855 {NjJlSEdNN1J3MDlKOHRJaTFYeDlzdGFn lx1rdbTRFLsxysXKirRMCGY4ldpr3QMx0FhXxjTTUre8FQilhzmRJlRjGnfZ7jGQYiH7hjYmjnWlcziXNdVndl8KgjxVWO5dybhWpHPo8L86oCLmXeNyTZWlNjbd2vyu 00005AF3108EDB48 service.sumologic.com-1756824236855-1756876425742} https://stag-open-events.sumologic.net %!s(int64=0)}
v2 credentials found for key: [REDACTED]https://stag-open-events.sumologic.netcredential path is : [REDACTED]https://stag-open-events.sumologic.net
2025-09-03T10:46:00.287+0530 info sumologicextension/extension.go:376 Found stored credentials, skipping registration {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "sumologic", "otelcol.component.kind": "extension", "collector_name": "service.sumologic.com-1756824236855-1756876425742"}
2025-09-03T10:46:20.615+0530 info sumologicextension/extension.go:904 Updating collector metadata {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "sumologic", "otelcol.component.kind": "extension", "collector_name": "service.sumologic.com-1756824236855-1756876425742", "collector_id": "00005AF3108EDB48", "URL": "https://stag-open-events.sumologic.net/api/v1/otCollectors/metadata", "body": "{"hostDetails":{"name":"prod-www-2105927136.us-east-1.elb.amazonaws.com","osName":"darwin","osVersion":"15.6","environment":""},"collectorDetails":{"runningVersion":"v0.133.1-sumo-0"},"networkDetails":{"hostIpAddress":"192.168.1.34"},"tagDetails":{"deployment.environment":"default","host.group":"default","sumo.disco.enabled":"true"}}\n"}
2025-09-03T10:46:21.772+0530 info extensions/extensions.go:62 Extension started. {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "sumologic", "otelcol.component.kind": "extension"}
2025-09-03T10:46:21.772+0530 info sumologicextension/extension.go:619 Heartbeat loop initialized. Starting to send heartbeat requests {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "sumologic", "otelcol.component.kind": "extension", "collector_name": "service.sumologic.com-1756824236855-1756876425742", "collector_id": "00005AF3108EDB48"}
2025-09-03T10:46:21.772+0530 info extensions/extensions.go:45 Extension is starting... {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "opamp", "otelcol.component.kind": "extension"}
2025-09-03T10:46:21.773+0530 info extensions/extensions.go:62 Extension started. {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "opamp", "otelcol.component.kind": "extension"}
2025-09-03T10:46:21.773+0530 info extensions/extensions.go:45 Extension is starting... {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "file_storage", "otelcol.component.kind": "extension"}
2025-09-03T10:46:21.773+0530 info extensions/extensions.go:62 Extension started. {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "file_storage", "otelcol.component.kind": "extension"}
2025-09-03T10:46:21.774+0530 info healthcheck/handler.go:132 Health Check state change {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "health_check", "otelcol.component.kind": "extension", "status": "ready"}
2025-09-03T10:46:21.774+0530 info service@v0.130.1/service.go:280 Everything is ready. Begin running and processing data. {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}}
2025-09-03T10:46:22.929+0530 info opampextension/opamp_agent.go:162 Connected to the OpAMP server {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "opamp", "otelcol.component.kind": "extension"}
2025-09-03T10:46:22.929+0530 info opampextension/opamp_agent.go:174 OpAMP server requested the effective configuration {"resource": {"service.instance.id": "5eeb624c-a493-40f2-94de-c83366c73b78", "service.name": "otelcol-sumo", "service.version": "0.130.1"}, "otelcol.component.id": "opamp", "otelcol.component.kind": "extension"}

sumologic-remote.yaml:
pankaj:otelcol-sumo root# cat sumologic-remote.yaml
exporters:
nop: {}
extensions:
file_storage:
compaction:
directory: /var/lib/otelcol-sumo/file_storage
on_rebound: true
directory: /var/lib/otelcol-sumo/file_storage
health_check:
endpoint: localhost:13133
opamp:
endpoint: wss://stag-opamp-events.sumologic.net/v1/opamp
remote_configuration_directory: /etc/otelcol-sumo/opamp.d
sumologic:
collector_credentials_directory: /var/lib/otelcol-sumo/credentials
installation_token: ${SUMOLOGIC_INSTALLATION_TOKEN}
time_zone: UTC
api_base_url: https://stag-open-events.sumologic.net/
collector_fields:
host.group: default
deployment.environment: default
r

pankaj:opamp.d root# cat sumologic-otCollector-tags.yaml
exporters:
nop: null
extensions:
sumologic:
collector_fields:
deployment.environment: default
host.group: default
sumo.disco.enabled: "true"
collector_name: test
time_zone: UTC
receivers:
nop: null
service:
pipelines:
logs/nop:
exporters:
- nop
receivers:
- nop

Documentation

@pankaj101A pankaj101A requested a review from a team as a code owner September 3, 2025 06:02
@pankaj101A pankaj101A requested a review from dashpole September 3, 2025 06:02
Copy link

linux-foundation-easycla bot commented Sep 3, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

@github-actions github-actions bot added the first-time contributor PRs made by new contributors label Sep 3, 2025
Copy link
Contributor

github-actions bot commented Sep 3, 2025

Welcome, contributor! Thank you for your contribution to opentelemetry-collector-contrib.

Important reminders:

A maintainer will review your pull request soon. Thank you for helping make OpenTelemetry better!

Copy link
Contributor

@echlebek echlebek left a comment

Choose a reason for hiding this comment

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

This PR needs to more carefully describe what the change is, and its impacts. Please post the design document in the PR description and include the background motivation for this change.

@echlebek
Copy link
Contributor

echlebek commented Sep 3, 2025

Please file an issue that this PR can resolve. Please include a changelog entry.

@pankaj101A pankaj101A requested a review from echlebek September 5, 2025 08:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants