jaegertracing / jaeger

CNCF Jaeger, a Distributed Tracing Platform
https://www.jaegertracing.io/
Apache License 2.0
19.95k stars 2.37k forks source link

[Bug]: `jaegertracing/all-in-one:latest` does not match the latest Docker versioned tag nor the latest git tag #5721

Open erezrokah opened 2 weeks ago

erezrokah commented 2 weeks ago

What happened?

More of a question to see if this is a bug. Looking at the Docker versions, the latest version was published 19 hours ago, while 1,1.58,1.58.1 were published 17 days ago. Is that expected? image

Also running the latest version hints that it was built from the 1.58.0 git tag but with a newer build time than 1.58.1 ⬇️

1.58 loads as 1.58.1:

docker run -e COLLECTOR_OTLP_ENABLED=true -p 16686:16686 -p 4318:4318 jaegertracing/all-in-one:1.58 
2024/07/09 13:00:37 maxprocs: Leaving GOMAXPROCS=10: CPU quota undefined
2024/07/09 13:00:37 application version: git-commit=36f2a31de3147231ca0adcd96a0a13e6ef55ea71, git-version=v1.58.1, build-date=2024-06-22T20:40:52Z

latest loads as 1.58.0 but newer build date

docker run -e COLLECTOR_OTLP_ENABLED=true -p 16686:16686 -p 4318:4318 jaegertracing/all-in-one:latest
2024/07/09 13:01:40 maxprocs: Leaving GOMAXPROCS=10: CPU quota undefined
2024/07/09 13:01:40 application version: git-commit=295293c53c68df4dbc896082a00a5bc3d532cfc9, git-version=v1.58.0, build-date=2024-07-08T18:00:50Z

Steps to reproduce

Run docker run -e COLLECTOR_OTLP_ENABLED=true -p 16686:16686 -p 4318:4318 jaegertracing/all-in-one:1.58 vs docker run -e COLLECTOR_OTLP_ENABLED=true -p 16686:16686 -p 4318:4318 jaegertracing/all-in-one:latest.

Expected behavior

latest Docker tag should have a matching versioned tag on Docker hub, and it should match a git tag.

Relevant log output

No response

Screenshot

No response

Additional context

Not sure if this is actually a bug or expected behavior. Please close if I missed anything

Jaeger backend version

No response

SDK

No response

Pipeline

No response

Stogage backend

No response

Operating system

No response

Deployment model

No response

Deployment configs

No response

erezrokah commented 2 weeks ago

Could be that latest represent the latest commit on main? If so not sure why the git-version points to v1.58.0

yurishkuro commented 2 weeks ago

I think this is how we historically have the CI set up, where latest represents the HEAD commit of main.

I agree that this is not ideal. We have separate "snapshot" repositories (e.g. https://hub.docker.com/r/jaegertracing/all-in-one-snapshot) where that definition of latest would make more sense (but in fact latest is not used in those at all). For the main images it would make more sense for latest to point to the latest release.

yurishkuro commented 2 weeks ago

5724 should fix the 2nd issue, the main issue (only include latest in the published releases) is open.

yurishkuro commented 2 weeks ago

One challenge we may run into just removing latest tag from images not published via release workflow is that some integration tests may still use the same scripts to build containers for testing and referring to them as latest. It would be better if we used something like local for those, but that would likely be a much larger change that is difficult to test.

erezrokah commented 2 weeks ago

Thanks for the quick response and fix. Maybe there's a place we can update the docs regarding the Docker latest tag referencing the latest commit? I think that would satisfy my issue

vvs-personalstash commented 22 hours ago

Hi I was attempting to solve the first issue and while still exploring the probable causes for the issue I noticed this on the docker hub Screenshot 2024-07-27 at 1 30 19 AM and apparently for the images with the version tags 1.58 and 1.58.1 have the same files and might be the cause of the issue and it seems instead of 1.58.0 and 1.58 having the same files there seems to be an issue in the tags. On a side note I unfortunately due to being new to the code base even after a lot of time I couldn't figure out where the logger logger.Info(version.Get().String())

cmd/tracegen/main.go::line:68

is getting the info that is being displayed above so could i know where to look at to understand it even better

yurishkuro commented 22 hours ago

@vvs-personalstash 1.58.1 is the real label that matters. 1.58 simply points to the latest patch, just like 1 points to the latest minor.

vvs-personalstash commented 3 hours ago

Oh sorry it seems i misunderstood that