fix(harness#2851): advertise host-reachable workspace URL in local provision lifecycle e2e #2878
Reference in New Issue
Block a user
Delete Branch "fix/2851-lifecycle-harness-resolvable-url"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes #2851.
Problem
The real-image Local Provision Lifecycle E2E failed with
hostname "30e9e720fbc2" cannot be resolved— a Docker container short-ID. The Go side (provisioner URL injection + registry validation) is correct; the harness was not telling the workspace runtime to advertise a host-reachable address, so the runtime fell back to its container hostname.Changes
.gitea/workflows/local-provision-e2e.yml: exportMOLECULE_WORKSPACE_ADVERTISE_HOST=${PLATFORM_HOST_IP}in bothlifecycle-stubandlifecycle-realjobs. The Go provisioner reads this and injectsMOLECULE_WORKSPACE_URL=<gateway-ip>:<host-port>into the workspace container, which the platform/A2A proxy can resolve and reach.tests/e2e/test_local_provision_lifecycle_e2e.sh: add a fail-fast DNS resolve check on the advertised URL host. Container short-IDs now fail immediately with a clear message instead of producing an opaque empty LLM result downstream.Verification
Verify on the actual real-image Local Provision Lifecycle E2E job (
lifecycle-real). The workspace should register a URL whose host resolves (PLATFORM_HOST_IP) and the MiniMax round-trip should produce a real reply instead of an empty result.Scope
Harness/shell only — no Go changes.
Routing
2-genuine review (CR2 + Researcher). Do not self-merge.
8b555ece94toc8e43aa235c8e43aa235to5e2f2c40605e2f2c4060to24aad8bb6424aad8bb64tofadb7d010bAPPROVED on
fadb7d010b.Verified the #2851 lifecycle harness fix on the actual requested run, not local-only:
.gitea/workflows/local-provision-e2e.ymlandtests/e2e/test_local_provision_lifecycle_e2e.sh.MOLECULE_WORKSPACE_ADVERTISE_HOST=localhost, and the script seedsHOSTNAME=localhostso runtimes that fall back to HOSTNAME do not advertise an unresolvable container short-ID.http://localhost:<port>, resolvedlocalhost, and completed proxy-to-stub coverage (17 passed, 0 failed). Real-image + MiniMax advisory job 502605 also registeredhttp://localhost:<port>, resolvedlocalhost, and completed the real MiniMax round-trip (15 passed, 0 failed).localhostis the correct advertise value for this CI topology: the platform/proxy runs on the host side and reaches the workspace through the host-mapped port, while the registry SSRF guard accepts localhost by name and rejects the RFC-1918 gateway-IP approach.CI / all-requiredis also green on the exact head.This is a narrow harness correction, not a duplicate Go/provisioner change.