Skip to content

packaging: remove obsolete otel-signal-viewer plugin package/binary on upgrade #22728

Description

@vkalintiris

Context

The otel-signal-viewer plugin was removed when the OpenTelemetry logs subsystem was reworked (the new otel-plugin plus a read-only legacy-otel-logs function now cover viewing previously-stored OTel logs). To prevent the leftover old binary from registering a conflicting otel-logs function after an upgrade, the agent now refuses to launch the obsolete otel-signal-viewer plugin by name (daemon-side deny in src/plugins.d/plugins_d.c).

That deny fixes the functional collision on every install channel, but it does not physically remove the obsolete artifact:

  • Native packages (deb/rpm): otel-signal-viewer-plugin is shipped as its own sub-package component (plugin-otel-signal-viewer). Because that component no longer exists in new builds, the package manager leaves the old sub-package installed and orphaned, binary and all.
  • Static installer (kickstart/makeself): the new tarball does not ship the binary, but the installer does not delete files that are no longer shipped, so the old otel-signal-viewer-plugin file lingers on disk.
  • Docker: images rebuild fresh, so no leftover is expected.

This is hygiene, not correctness — the agent already ignores the binary — but an orphaned package/binary is undesirable long term.

Scope

Physically remove the obsolete plugin on upgrade, per channel:

  • RPM: add Obsoletes: (and as needed Conflicts:/Provides:) for the old *-plugin-otel-signal-viewer package on the superseding package so dnf uninstalls it.
  • DEB: add Replaces: + Conflicts: for the old package name so dpkg removes it (optionally a transitional empty package).
  • Static installer: add an explicit removal of the leftover otel-signal-viewer-plugin binary from plugins.d during install/update.
  • Verify Docker images carry no leftover.

Acceptance criteria

  • After upgrading from a version that had otel-signal-viewer installed, the old sub-package is no longer installed (native packages) and the binary is absent from plugins.d (all channels).
  • No regression to the new otel-plugin install/upgrade on any channel.

Notes

  • The functional fix (daemon-side deny by name) lands separately; this issue only covers physical removal of the obsolete artifact.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions