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

[deprecation] Phase out grpc-plugin storage (sidecar via hashicorp-plugin) #4647

Closed
10 tasks done
yurishkuro opened this issue Aug 11, 2023 · 1 comment · Fixed by #5442
Closed
10 tasks done

[deprecation] Phase out grpc-plugin storage (sidecar via hashicorp-plugin) #4647

yurishkuro opened this issue Aug 11, 2023 · 1 comment · Fixed by #5442
Labels
changelog:breaking-change Change that is breaking public APIs or established behavior good first issue Good for beginners help wanted Features that maintainers are willing to accept but do not have cycles to implement

Comments

@yurishkuro
Copy link
Member

yurishkuro commented Aug 11, 2023

We support two forms of plugins for external storage (https://github.com/jaegertracing/jaeger/tree/main/plugin/storage/grpc)

  • a sidecar model using hashicorp/go-plugin library
  • a remote storage implementing gRPC Remote Storage API

Even though the recent Hashicorp license changes (cncf/foundation#617) may not affect the go-plugin library, the dual plugin model creates unnecessary complication and requires extra code to maintain. And while I did not try it myself, I expect that the sidecar model can be reproduced relatively easily by the users themselves, e.g. by running the existing plugin binaries as a sidecar using their own orchestration mechanisms.

The proposal has been accepted. Roadmap:

@yurishkuro yurishkuro added the feature vote Proposed feature that needs 3+ users interested in it label Aug 11, 2023
@yurishkuro yurishkuro changed the title [Proposal] Phase out hashicorp-plugin [deprecation] Phase out grpc-plugin storage support (sidecar via hashicorp-plugin) Sep 10, 2023
@yurishkuro yurishkuro changed the title [deprecation] Phase out grpc-plugin storage support (sidecar via hashicorp-plugin) [deprecation] Phase out grpc-plugin storage (sidecar via hashicorp-plugin) Sep 10, 2023
yurishkuro added a commit that referenced this issue Sep 10, 2023
## Which problem is this PR solving?
- Part 1 of #4647

## Description of the changes
- Add deprecation notice to CLI flags
- Add log statement with deprecation notice

## How was this change tested?
```
$ SPAN_STORAGE_TYPE=grpc-plugin go run ./cmd/all-in-one help

      --grpc-storage-plugin.binary string                         (deprecated, will be removed after 2024-03-01) The location of the plugin binary
      --grpc-storage-plugin.configuration-file string             (deprecated, will be removed after 2024-03-01) A path pointing to the plugin's configuration file, made available to the plugin with the --config arg


$ SPAN_STORAGE_TYPE=grpc-plugin go run ./cmd/all-in-one --grpc-storage-plugin.binary=abcd

2023/09/10 00:39:38 (deprecated, will be removed after 2024-03-01) using sidecar model of grpc-plugin storage, please upgrade to 'reomte' gRPC storage. #4647

```

Signed-off-by: Yuri Shkuro <github@ysh.us>
@yurishkuro yurishkuro added help wanted Features that maintainers are willing to accept but do not have cycles to implement good first issue Good for beginners changelog:breaking-change Change that is breaking public APIs or established behavior labels Mar 22, 2024
@yurishkuro yurishkuro removed the feature vote Proposed feature that needs 3+ users interested in it label Apr 20, 2024
@h4shk4t
Copy link
Contributor

h4shk4t commented Apr 25, 2024

I'd like to work on this issue

yurishkuro added a commit that referenced this issue May 11, 2024
## Which problem is this PR solving?
- Part of [#4647 ](#4647)

## Description of the changes
- Remove sidecar plugin support based on hashicorp go-plugin library.



## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits
- [ ] I have added unit tests for the new functionality
- [x] I have run lint and test steps successfully
  - for `jaeger`: `make lint test`
  - for `jaeger-ui`: `yarn lint` and `yarn test`

---------

Signed-off-by: Ashutosh Srivastava <ashutosh3002@gmail.com>
Signed-off-by: Yuri Shkuro <github@ysh.us>
Signed-off-by: Yuri Shkuro <yurishkuro@users.noreply.github.com>
Co-authored-by: Yuri Shkuro <yurishkuro@users.noreply.github.com>
Co-authored-by: Yuri Shkuro <github@ysh.us>
yurishkuro added a commit to jaegertracing/documentation that referenced this issue May 11, 2024
## Which problem is this PR solving?
- Part of jaegertracing/jaeger#4647

## Description of the changes
- Replace `grpc-plugin` with `grpc` where applicable, remove otherwise.

## How was this change tested?
- CI

---------

Signed-off-by: Yuri Shkuro <github@ysh.us>
yurishkuro added a commit that referenced this issue May 12, 2024
## Which problem is this PR solving?
- Resolves #4647

## Description of the changes
- Add new storage type `grpc` and log warning if the old value
`grpc-plugin` is used.

## How was this change tested?
- CII

Signed-off-by: Yuri Shkuro <github@ysh.us>
yurishkuro added a commit that referenced this issue May 13, 2024
Part of #4647
* remove dependabot group
* `go mod tidy` to remove dependencies

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Yuri Shkuro <github@ysh.us>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yuri Shkuro <github@ysh.us>
yurishkuro added a commit that referenced this issue Jul 14, 2024
## Which problem is this PR solving?
- Last part of #4647
- In accordance with our deprecation policy, this CLI value can be
removed in v1.60 (next release)

## Description of the changes
- No longer accept `grpc-plugin` as a storage type. The valid value is
`grpc`.

Signed-off-by: Yuri Shkuro <github@ysh.us>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog:breaking-change Change that is breaking public APIs or established behavior good first issue Good for beginners help wanted Features that maintainers are willing to accept but do not have cycles to implement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants