Skip to content

test: Enable running the end to end tests on K8S clusters other than Kind#453

Merged
shmuelk merged 17 commits into
llm-d:mainfrom
shmuelk:e2e-with-context
Nov 19, 2025
Merged

test: Enable running the end to end tests on K8S clusters other than Kind#453
shmuelk merged 17 commits into
llm-d:mainfrom
shmuelk:e2e-with-context

Conversation

@shmuelk
Copy link
Copy Markdown
Collaborator

@shmuelk shmuelk commented Nov 13, 2025

This PR enables the running of the End to End tests on clusters other than kind.

If the environment variable K8S_CONTEXT is set the end to end test code will not create a kind cluster for the test. Instead the cluster pointed to by the specified context in the current Kubernetes Config will be used. All created Kubernetes objects will be deleted at the end of the test. Additionally kubectl port-forward will be started to enable the tests to be run from "outside" the target cluster. The user running the tests, needs to be a cluster wide admin for the cluster in question.

In addition the following environment variables can "configure" the tests if needed:

  • E2E_PORT - the local port used to send the inference requests to.
  • NAMESPACE - the Kubernetes namespace to create all of the namespaced objects in.
  • EPP_IMAGE - the full image name to be used for the llm-d-inference-scheduler
  • SIDECAR_IMAGE - the full image name for the llm-d-routing-sidecar
  • VLLM_SIMULATOR_IMAGE - the full name for the llm-d-inference-sim

Copy link
Copy Markdown
Contributor

@hdefazio hdefazio left a comment

Choose a reason for hiding this comment

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

A few makefile targets have envsubst '$$PROJECT_NAME $$NAMESPACE $$IMAGE_TAG_BASE $$VERSION'
Do we need to remove $IMAGE_TAG_BASE and/or add the new image env vars to this?

@hdefazio
Copy link
Copy Markdown
Contributor

hdefazio commented Nov 17, 2025

scripts/kind-dev-env.sh and scripts/kubernetes-dev-env.sh can also be updated to use EPP_IMAGE /SIDECAR_IMAGE /VLLM_SIMULATOR_IMAGE

@shmuelk
Copy link
Copy Markdown
Collaborator Author

shmuelk commented Nov 17, 2025

A few makefile targets have envsubst '$$PROJECT_NAME $$NAMESPACE $$IMAGE_TAG_BASE $$VERSION' Do we need to remove $IMAGE_TAG_BASE and/or add the new image env vars to this?

scripts/kind-dev-env.sh and scripts/kubernetes-dev-env.sh can also be updated to use EPP_IMAGE /SIDECAR_IMAGE /VLLM_SIMULATOR_IMAGE

Both have been fixed.

Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
Signed-off-by: Shmuel Kallner <kallner@il.ibm.com>
@elevran
Copy link
Copy Markdown
Collaborator

elevran commented Nov 19, 2025

/lgtm
/approve
/hold (in case you want to remove the unrelated (?) changes - feel free to unhold and let it merge)

@github-actions github-actions Bot added hold PRs that are blocked on design, other features, release cycle, etc. lgtm "Looks good to me", indicates that a PR is ready to be merged. labels Nov 19, 2025
@github-project-automation github-project-automation Bot moved this to In review in llm-d-router Nov 19, 2025
Comment thread docs/create_new_filter.md
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.

nit: this seems like an unrelated change?

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.

You're fundamentally correct. But upstream, the function LoadConfig no longer exists causing lint to fail in the file test/config/prefix_cache_mode_test.go. I then searched for LoadConfig and updated all references.

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.

nit: unrelated?

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.

You're fundamentally correct. But upstream, the function LoadConfig no longer exists causing lint to fail.

@shmuelk
Copy link
Copy Markdown
Collaborator Author

shmuelk commented Nov 19, 2025

/unhold

@shmuelk shmuelk merged commit 6464f12 into llm-d:main Nov 19, 2025
6 of 7 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in llm-d-router Nov 19, 2025
@shmuelk shmuelk deleted the e2e-with-context branch November 19, 2025 18:25
elevran pushed a commit to elevran/llm-d-router that referenced this pull request Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hold PRs that are blocked on design, other features, release cycle, etc. lgtm "Looks good to me", indicates that a PR is ready to be merged.

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants