Skip to content

Run Kuma E2E with the Kubernetes Agent backend - #24642

Merged
nubtron merged 1 commit into
masterfrom
nubtron/kuma-kubernetes-agent-e2e
Aug 21, 2026
Merged

Run Kuma E2E with the Kubernetes Agent backend#24642
nubtron merged 1 commit into
masterfrom
nubtron/kuma-kubernetes-agent-e2e

Conversation

@nubtron

@nubtron nubtron commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do?

Migrates Kuma's existing Kind E2E environment to the Kubernetes Agent backend.

The test fixture now:

  • deploys Kuma to a Kind cluster with Helm and waits for the control-plane deployment to become ready;
  • runs the Datadog Agent inside the Kind cluster;
  • reaches Kuma through its in-cluster Service DNS endpoint (http://kuma-control-plane.kuma-system.svc.cluster.local:5680/metrics);
  • removes the host-side kubectl port-forward processes and endpoint plumbing;
  • fails environment setup immediately when Kubernetes or Helm commands fail.

The Kuma integration assertions are unchanged: the E2E still exercises the Helm-deployed Kuma control plane and verifies the expected Kuma metrics.

Motivation

Run the existing Kuma E2E through the Kubernetes Agent path and verify in-cluster service discovery without host-local endpoint plumbing. This PR changes only the E2E fixture; it does not change the Kuma check or production behavior.

Validation

  • ddev --no-interactive test -fs kuma
  • Kuma unit suite: 27 passed
  • E2E test ran manually on laptop and workspace
  • Kind E2E with the local base package: 2 passed
  • Environment cleanup confirmed that the temporary Kind cluster is deleted

Review checklist

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Add qa/required if this PR needs QA validation, or qa/skip-qa if it does not. Exactly one of the two is required.
  • If you need to backport this PR to another branch, add the backport/<branch-name> label and a backport PR will be opened automatically after merge.

@nubtron nubtron added the qa/skip-qa Automatically skip this PR for the next QA label Jul 22, 2026
@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Jul 22, 2026

Copy link
Copy Markdown

Tests  Code Coverage

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
Patch Coverage: 33.33%
Overall Coverage: 86.90% (-1.62%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 5d6ed70 | Docs | View more details | Give us feedback!

@nubtron
nubtron force-pushed the nubtron/kuma-kubernetes-agent-e2e branch from f2f9a0d to e8978fe Compare July 22, 2026 10:59
@nubtron
nubtron changed the base branch from nubtron/kubernetes-agent-interface-e2e to nubtron/velero-kubernetes-agent-e2e July 22, 2026 10:59
@nubtron
nubtron force-pushed the nubtron/kuma-kubernetes-agent-e2e branch from e8978fe to bfe8c77 Compare July 22, 2026 12:44
@nubtron
nubtron changed the base branch from nubtron/velero-kubernetes-agent-e2e to nubtron/kubernetes-agent-interface-e2e July 22, 2026 12:44
@nubtron
nubtron changed the base branch from nubtron/kubernetes-agent-interface-e2e to nubtron/velero-kubernetes-agent-e2e July 22, 2026 13:24
@nubtron
nubtron force-pushed the nubtron/kuma-kubernetes-agent-e2e branch from b52b0f6 to a0f48d7 Compare July 24, 2026 08:44
@nubtron
nubtron changed the base branch from nubtron/velero-kubernetes-agent-e2e to nubtron/kubernetes-agent-interface-e2e July 24, 2026 08:44
@nubtron
nubtron force-pushed the nubtron/kuma-kubernetes-agent-e2e branch from a0f48d7 to 24ad990 Compare July 24, 2026 08:55
@nubtron
nubtron marked this pull request as ready for review July 24, 2026 09:28
@nubtron
nubtron requested a review from a team as a code owner July 24, 2026 09:28
@nubtron
nubtron marked this pull request as draft July 24, 2026 09:29
@nubtron
nubtron force-pushed the nubtron/kuma-kubernetes-agent-e2e branch 4 times, most recently from 446e862 to a9cf8ae Compare July 30, 2026 13:30
@nubtron
nubtron force-pushed the nubtron/kubernetes-agent-interface-e2e branch from 2a64043 to f21cf4c Compare August 10, 2026 09:28
@nubtron
nubtron force-pushed the nubtron/kuma-kubernetes-agent-e2e branch from d945435 to 50ec536 Compare August 10, 2026 09:34
Base automatically changed from nubtron/kubernetes-agent-interface-e2e to master August 10, 2026 17:43
vitkyrka added a commit that referenced this pull request Aug 13, 2026
`run_command` defaults to `check=False`, so a timed-out or transient
failure in the `kubectl create ns`/`apply`/`rollout status`/`wait`
calls previously fell through silently into the pod-IP lookup and
one-shot data-seeding curl, turning a clear "cluster never became
Ready" failure into a confusing generic curl error. Add `check=True`
to all four calls, matching the pattern already used for kuma's
equivalent `setup_kuma()` (#24642).

Environment: Datadog workspace

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
pull Bot pushed a commit to ConnectionMaster/integrations-core that referenced this pull request Aug 17, 2026
* Run Weaviate E2E tests with the Kubernetes Agent backend

Switch from host-side kube_port_forward to the new Kubernetes Agent E2E
backend: the API endpoint uses Service DNS, the metrics endpoint falls
back to the pod IP since no Service targets that port, and the
readiness check plus data-seeding POST now run from disposable
in-cluster pods since the host can no longer reach the cluster
directly.

Environment: Datadog workspace

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Remove redundant readiness wait before seeding Weaviate data

`/v1/.well-known/live` (DEFAULT_LIVENESS_ENDPOINT) is an unconditional 200
in Weaviate v1.20.0 with no actual readiness check, while the Pod `Ready`
condition that `kubectl wait --for=condition=Ready` already blocks on is
driven by the StatefulSet's readinessProbe (`/v1/.well-known/ready`,
the real `DB.StartupComplete() && ClusterHealthScore() == 0` check). The
extra busybox-based WaitFor poll was checking a strictly weaker signal
than what setup_weaviate() already waits for, so it can't add any real
confidence and was only burning disposable pods.

Environment: Datadog workspace

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Fail loudly if cluster setup doesn't become ready in setup_weaviate

`run_command` defaults to `check=False`, so a timed-out or transient
failure in the `kubectl create ns`/`apply`/`rollout status`/`wait`
calls previously fell through silently into the pod-IP lookup and
one-shot data-seeding curl, turning a clear "cluster never became
Ready" failure into a confusing generic curl error. Add `check=True`
to all four calls, matching the pattern already used for kuma's
equivalent `setup_kuma()` (DataDog#24642).

Environment: Datadog workspace

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
@nubtron
nubtron marked this pull request as ready for review August 17, 2026 13:10
@nubtron
nubtron force-pushed the nubtron/kuma-kubernetes-agent-e2e branch from a0858ae to de7f144 Compare August 18, 2026 06:21
@cit-pr-commenter-54b7da

cit-pr-commenter-54b7da Bot commented Aug 18, 2026

Copy link
Copy Markdown

evalya-impact-summary

evalya impact analysis
Impact analysis: RUN-ALL — every test task will run
Trigger:         empty diff (default branch, scheduled run, or shallow-clone fallback)
Test tasks:      0 (all selected)
Publish tasks:   1 (always emitted)
Diff:            empty (no diff information)

Learn more about CI impact filtering

@nubtron
nubtron force-pushed the nubtron/kuma-kubernetes-agent-e2e branch from de7f144 to 5d6ed70 Compare August 18, 2026 09:08
@dd-octo-sts

dd-octo-sts Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Validation Report

All 21 validations passed.

Show details
Validation Description Status
agent-reqs Verify check versions match the Agent requirements file
ci Validate CI configuration and code coverage settings
codeowners Validate every integration has a CODEOWNERS entry
config Validate default configuration files against spec.yaml
dep Verify dependency pins are consistent and Agent-compatible
http Validate integrations use the HTTP wrapper correctly
imports Validate check imports do not use deprecated modules
integration-style Validate check code style conventions
jmx-metrics Validate JMX metrics definition files and config
labeler Validate PR labeler config matches integration directories
legacy-signature Validate no integration uses the legacy Agent check signature
license-headers Validate Python files have proper license headers
licenses Validate third-party license attribution list
metadata Validate metadata.csv metric definitions
models Validate configuration data models match spec.yaml
openmetrics Validate OpenMetrics integrations disable the metric limit
package Validate Python package metadata and naming
qa-label Validate the pull request declares whether it needs QA for the next Agent release
readmes Validate README files have required sections
saved-views Validate saved view JSON file structure and fields
version Validate version consistency between package and changelog

View full run

@nubtron
nubtron added this pull request to the merge queue Aug 21, 2026
Merged via the queue into master with commit d7fc58b Aug 21, 2026
36 checks passed
@nubtron
nubtron deleted the nubtron/kuma-kubernetes-agent-e2e branch August 21, 2026 07:37
@dd-octo-sts dd-octo-sts Bot added this to the 7.83.0 milestone Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

integration/kuma qa/skip-qa Automatically skip this PR for the next QA team/agent-integrations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants