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

[jaeger-v2] Build jaeger-remote-storage for gRPC integration test #5266

Closed
james-ryans opened this issue Mar 11, 2024 · 5 comments
Closed

[jaeger-v2] Build jaeger-remote-storage for gRPC integration test #5266

james-ryans opened this issue Mar 11, 2024 · 5 comments

Comments

@james-ryans
Copy link
Contributor

Requirement

The current jaeger-v2 gRPC integration test script at #5259 uses the published jaegertracing/jaeger-remote-storage image and runs the latest version at CIT gRPC (v2) CI. Instead, we want to run remote storage with the code built with THIS version of the repo, not some other version (or even latest).

Problem

This way, we can be notified directly by the CI when the remote storage changes and fails when integrated with jaeger-v2 storage extension. The problem with the current script is that we will only receive notification of the failed CIT gRPC (v2) CI on the next issued PR after the remote storage has been published, since it uses the latest published version.

Proposal

No response

Open questions

No response

@varshith257
Copy link
Contributor

@yurishkuro @james-ryans I didn't find any in grpc.yml in #5259 that v1 using registry published image. Can clarify this?

  1. If needed we use the published image for v1 gRPC integration test
  2. For v2, we build docker image in using which is in the current github repo.

@james-ryans
Copy link
Contributor Author

v1 does not use any docker image as its remote storage, it creates memstore-plugin binary and used it as its grpc storage.
As you can see, the ci-grpc.yml on v1 runs make grpc-storage-integration-test
And here's where the memstore-plugin is created.

jaeger/Makefile

Lines 126 to 127 in b990fe9

grpc-storage-integration-test:
(cd examples/memstore-plugin/ && go build .)

And this is where it is going to be used.
func getPluginFlags(t *testing.T) []string {
binaryPath := os.Getenv("PLUGIN_BINARY_PATH")
if binaryPath == "" {
t.Logf("PLUGIN_BINARY_PATH env var not set, using %s", defaultPluginBinaryPath)
binaryPath = defaultPluginBinaryPath
}
return []string{
"--grpc-storage-plugin.binary", binaryPath,
"--grpc-storage-plugin.log-level", "debug",
}
}

@varshith257
Copy link
Contributor

@james-ryans The solution proposed in the issue is to update the test script to build the Jaeger-remote-storage image locally from the current version of the repository.

@james-ryans
Copy link
Contributor Author

@james-ryans The solution proposed in the issue is to update the test script to build the Jaeger-remote-storage image locally from the current version of the repository.

There's no need to update the v1 one since it already builds the binary directly when make grpc-storage-integration-test is called. We just need to change the v2 test script.

@james-ryans
Copy link
Contributor Author

This issue is not relevant anymore. The solution #5259 PR offers is replaced with the new #5322 PR that solves the requirements stated here #5254 (comment).

@yurishkuro yurishkuro closed this as not planned Won't fix, can't repro, duplicate, stale Apr 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants