Skip to content

Consolidating images and artifacts#2048

Merged
elevran merged 6 commits into
llm-d:mainfrom
ahg-g:consolidate-images
Jul 17, 2026
Merged

Consolidating images and artifacts#2048
elevran merged 6 commits into
llm-d:mainfrom
ahg-g:consolidate-images

Conversation

@ahg-g

@ahg-g ahg-g commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

What type of PR is this?
/kind feature

What this PR does / why we need it:

  1. Published a main tag for both llm-d-router-endpoint-picker and llm-d-router-disagg-sidecar images. These two images replace the use of llm-d-router-endpoint-picker-dev:main and llm-d-router-disagg-sidecar-dev:main
  2. llm-d-router-endpoint-picker-dev:main and llm-d-router-disagg-sidecar-dev continues to be published on every commit with the commit hash as a tag. These will be used for debugging and will not be referenced in any charts explicilty.
  3. Stopped publishing charts/llm-d-router-gateway-dev and charts/llm-d-router-standalone-dev charts, the v0 chart (i.e., the one that builds from main) will be published under charts/llm-d-router-gateway and charts/llm-d-router-standalone

Which issue(s) this PR fixes:

Fixes #

Release note (write NONE if no user-facing change):

Stopped publishing `charts/llm-d-router-gateway-dev` and `charts/llm-d-router-standalone-dev` charts, use `charts/llm-d-router-gateway` and `charts/llm-d-router-standalone` with --version v0 instead. Also, now one can use `llm-d-router-endpoint-picker:main`/`llm-d-router-disagg-sidecar:main` instead of `llm-d-router-endpoint-picker-dev:main`/`llm-d-router-disagg-sidecar-dev:main` to reference the images built from the head of main.

ahg-g added 3 commits July 16, 2026 13:11
Signed-off-by: ahg-g <ahg@google.com>
…latest images on each commit

Signed-off-by: ahg-g <ahg@google.com>
…decar with tag latest as the default instead of the -dev suffixed ones

Signed-off-by: ahg-g <ahg@google.com>
@ahg-g
ahg-g requested a review from a team as a code owner July 16, 2026 14:02
@ahg-g
ahg-g requested review from elevran and liu-cong July 16, 2026 14:02
@github-actions github-actions Bot added kind/feature Categorizes issue or PR as related to a new feature. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jul 16, 2026
Signed-off-by: ahg-g <ahg@google.com>
@elevran

elevran commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Looks good, thanks.

@roytman @revit13 since I was reviewing #1975 one thing to note:

test/coordinator/e2e/coordinator/e2e_suite_test.go now defaults EPP_IMAGE to :main, but the coordinator's Makefile.coord.mk in 1975 sets EPP_TAG ?= dev and exports EPP_IMAGE=...:dev, which shadows the defaults set in this PR (e.g., whenever the coordinator e2e suite runs through the Makefile target). Direct go test invocations from the coordinator test dir would pick up :main. I think this is inconsistent and you should confirming which is the intended behavior.

elevran
elevran previously approved these changes Jul 16, 2026
@shmuelk

shmuelk commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

@ahg-g and @elevran PLEASE Do NOT merge this PR

It breaks running the end to end tests locally. The llm-d-router end to end tests in CI build an image before the running the tests. Using a pre-built image that was created after the last PR was merged is a BAD idea.

@shmuelk

shmuelk commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

/hold

@github-actions github-actions Bot added the hold PRs that are blocked on design, other features, release cycle, etc. label Jul 16, 2026
@ahg-g

ahg-g commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

@ahg-g and @elevran PLEASE Do NOT merge this PR

It breaks running the end to end tests locally. The llm-d-router end to end tests in CI build an image before the running the tests. Using a pre-built image that was created after the last PR was merged is a BAD idea.

Which specific line in this PR changes the existing semantics? What do you suggest as a fix to the issue you noted?

@elevran
elevran self-requested a review July 16, 2026 15:20
printCoordinatorLogs = env.GetEnvBool("E2E_PRINT_COORDINATOR_LOGS", false, ginkgo.GinkgoLogr)

containerRuntime = env.GetEnvString("CONTAINER_RUNTIME", "docker", ginkgo.GinkgoLogr)
eppImage = env.GetEnvString("EPP_IMAGE", "ghcr.io/llm-d/llm-d-router-endpoint-picker:dev", ginkgo.GinkgoLogr)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shmuelk I guess this is the one we need to revert (and all similar instances of it in other files); where do we build an image with a dev tag?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See latest commit, I reverted these changes

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First of all make image-build builds the images (router + sidecar) with a tag of dev.

Second of all in the CI in the ci-pr-checks.yaml file builds images with a tag of dev for use in the end to end tests. In the end to end tests we want to use freshly built images with all of the code from the PR under test and not an image that was built with the merge of a prior PR.

Please don't misunderstand me, for other test purposes, such as the nightly performance test using a pre-built image is great. Naming it without the -dev in the name, simply with a tag of main, is a very good thing.

@elevran elevran left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

holding until @shmuelk points are reviewed

@elevran

elevran commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

we should look at ensuring e2e runs with the latest code from main + PR changes. I think right now it runs with whatever state the PR is udpated to.
Merge queue might be the native approach - need to investigate

Signed-off-by: ahg-g <ahg@google.com>
@shmuelk

shmuelk commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

/hold cancel

@ahg-g Thank you very much for the changes

@ahg-g

ahg-g commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

/hold cancel

@github-actions github-actions Bot removed the hold PRs that are blocked on design, other features, release cycle, etc. label Jul 16, 2026
@ahg-g

ahg-g commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

Looks good, thanks.

@roytman @revit13 since I was reviewing #1975 one thing to note:

test/coordinator/e2e/coordinator/e2e_suite_test.go now defaults EPP_IMAGE to :main, but the coordinator's Makefile.coord.mk in 1975 sets EPP_TAG ?= dev and exports EPP_IMAGE=...:dev, which shadows the defaults set in this PR (e.g., whenever the coordinator e2e suite runs through the Makefile target). Direct go test invocations from the coordinator test dir would pick up :main. I think this is inconsistent and you should confirming which is the intended behavior.

I think the last commit addresses this as well.

@revit13

revit13 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Looks good, thanks.

@roytman @revit13 since I was reviewing #1975 one thing to note:

test/coordinator/e2e/coordinator/e2e_suite_test.go now defaults EPP_IMAGE to :main, but the coordinator's Makefile.coord.mk in 1975 sets EPP_TAG ?= dev and exports EPP_IMAGE=...:dev, which shadows the defaults set in this PR (e.g., whenever the coordinator e2e suite runs through the Makefile target). Direct go test invocations from the coordinator test dir would pick up :main. I think this is inconsistent and you should confirming which is the intended behavior.

@elevran Thanks for flagging this. I dug into the attribution and I don't think the e2e suites actually diverge here:

  • Both e2e suites default EPP_IMAGE to ...llm-d-router-endpoint-picker:dev (test/coordinator/e2e/coordinator/e2e_suite_test.go and test/e2e/e2e_suite_test.go), matching their respective Makefiles (Makefile.coord.mk and top-level Makefile, both EPP_TAG ?= dev). Both export EPP_IMAGE into the suite, so the Makefile-driven and direct go test paths resolve to the same :dev tag.
  • This PR (Consolidating images and artifacts #2048) doesn't touch either e2e suite or any Makefile. main shows up in two places here: the EPP_TAG default in test/perf/run_nightly_perf.py, and a published image tag (epp-additional-tags: ...:main in ci-dev.yaml). So post-Consolidating images and artifacts #2048 the canonical published dev EPP image is llm-d-router-endpoint-picker:main, while the e2e suites still default to :dev.
  • This is fine today because the e2e paths build EPP locally and tag it :dev rather than pulling, so they don't depend on the published tag.

@elevran
elevran merged commit 3547207 into llm-d:main Jul 17, 2026
32 checks passed
elevran pushed a commit that referenced this pull request Jul 19, 2026
Signed-off-by: llm-d-router-release-notes[bot] <287676111+llm-d-router-release-notes[bot]@users.noreply.github.com>
Co-authored-by: llm-d-router-release-notes[bot] <287676111+llm-d-router-release-notes[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/feature Categorizes issue or PR as related to a new feature. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants