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

[cmd/opampsupervisor] config not updated in opampSupervisor/opampExtension when processor pipeline already exists #36405

Open
keisukesakasai opened this issue Nov 17, 2024 · 1 comment
Labels
bug Something isn't working cmd/opampsupervisor needs triage New item requiring triage

Comments

@keisukesakasai
Copy link

Component(s)

cmd/opampsupervisor

What happened?

Description

I am using the OpenTelemetry Collector Contrib cmd/opampsupervisor to run the Supervisor and the OTel Collector.
https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/cmd/opampsupervisor

To add additional configurations to the OTel Collector, I set the following in extraconfig.yaml:

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317

exporters:
  debug:

  otlp:
    endpoint: localhost:4317
    tls:
      insecure: true

processors:
  batch:
        
service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [debug, otlp]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]    
  telemetry:
    logs:
    ...

With this configuration, I send the following config via OpAMP from the OpAMP Backend:
CleanShot 2024-11-17 at 14 57 00

processors:
  batch:
  attributes:
    actions:
      - key: hoge
        value: piyo
        action: insert
service:
  pipelines:
    traces:
      processors:
        - attributes

This works perfectly.
CleanShot 2024-11-17 at 14 53 04

Next, I update the extraconfig.yaml to include the batch processor in the trace pipeline beforehand:

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317

exporters:
  debug:

  otlp:
    endpoint: localhost:4317
    tls:
      insecure: true

processors:
  batch:
        
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch] # <==================== add
      exporters: [debug, otlp]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]    
  telemetry:
    logs:
    ...

However, when I send the same config from the OpAMP Backend, the config (effective.yaml) is not updated.
Is this behavior as intended?

Steps to Reproduce

Experimenting with the supervisor
https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/cmd/opampsupervisor#experimenting-with-the-supervisor

Expected Result

In both cases, the config is updated.

Actual Result

In the following case, the config is not updated, and the OTel Collector is not restarted.

Collector version

v0.113.0

Environment information

Environment

OpenTelemetry Collector configuration

No response

Log output

No response

Additional context

No response

@keisukesakasai keisukesakasai added bug Something isn't working needs triage New item requiring triage labels Nov 17, 2024
Copy link
Contributor

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working cmd/opampsupervisor needs triage New item requiring triage
Projects
None yet
Development

No branches or pull requests

1 participant