Skip to content

Shared Utilities & Infrastructure - #6896

Open
george-kalisse-sada wants to merge 1 commit into
GoogleCloudPlatform:masterfrom
george-kalisse-sada:SADA_2_shared_utils
Open

Shared Utilities & Infrastructure#6896
george-kalisse-sada wants to merge 1 commit into
GoogleCloudPlatform:masterfrom
george-kalisse-sada:SADA_2_shared_utils

Conversation

@george-kalisse-sada

Copy link
Copy Markdown
Collaborator

Files: ~10 new files

  • perfkitbenchmarker/linux_benchmarks/kubernetes/__init__.py
  • perfkitbenchmarker/linux_benchmarks/kubernetes/agentic/__init__.py
  • perfkitbenchmarker/linux_benchmarks/kubernetes/agentic/README.md
  • perfkitbenchmarker/linux_benchmarks/kubernetes/agentic/k8s_benchmark_utils.py
  • perfkitbenchmarker/linux_benchmarks/kubernetes/agentic/gke_deploy_utils.py
  • perfkitbenchmarker/scripts/agentic/__init__.py
  • perfkitbenchmarker/scripts/agentic/README.md
  • perfkitbenchmarker/scripts/agentic/gke_image_build_utils.py
  • perfkitbenchmarker/scripts/agentic/gke_prerequisites.py
  • perfkitbenchmarker/scripts/agentic/gke_post_teardown.py

Description: Adds shared infrastructure for GKE Agent Sandbox benchmarks:

  • k8s_benchmark_utils.py — Agent API interaction, kubectl helpers, warm pool management, port-forward manager, PKB sample construction
  • gke_deploy_utils.py — Idempotent deployment of Agent Sandbox ecosystem (CRDs, SandboxTemplates, WarmPools, Router, ADK Agent) onto pre-provisioned GKE clusters
  • gke_image_build_utils.py — Container image builds (Chrome Sandbox, Sandbox Router) via Google Cloud Build with cross-architecture support (amd64/arm64)
  • gke_prerequisites.py — One-time GCP project setup (APIs, Artifact Registry, Cloud Build SA, image builds including native ARM64 VM builds)
  • gke_post_teardown.py — Cleanup of resources created by prerequisites

@hubatish

hubatish commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

/gcbrun

@roycaihw

roycaihw commented Aug 6, 2026

Copy link
Copy Markdown

/cc @Nishanth29

@Nishanth29

Copy link
Copy Markdown

Hi @george-kalisse-sada , it looks like the CI check Pull (bionic-baton-343) failed during execution. could you check the build failure and rerun/resolve the CI run so all checks pass?

@Nishanth29

Copy link
Copy Markdown

Per @george-kalisse-sada, the pull failure was likely a transient timeout issue. Zach synced to head and re-ran the check, which passed successfully(documenting here for visibility).

"""Run a shell command, raising on failure."""
logger.info(" CMD: %s", " ".join(cmd))
env = os.environ.copy()
env["CLOUDSDK_AUTH_DISABLE_SSL_VALIDATION"] = "true"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Is CLOUDSDK_AUTH_DISABLE_SSL_VALIDATION needed here or was it left over from local testing? Can we drop this line?

rendered = template.render(**kwargs)

# Write rendered YAML to tmp dir (RunKubectlCommand does not support stdin)
tmp_dir = os.path.join(

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Doesn't writing rendered manifests to data.ResourcePath(...) creates temp files inside the repository source tree?? ig we use PKB's managed temp dir instead so it doesn't mess git or fail in read-only installs.

import threading


_PID_FILE = "/tmp/pkb_portforward.pid"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Wondering if two sweeps running in parallel might overwrite this /tmp file? Maybe we can put it in PKB's temp directory or add the port to the filename.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants