Skip to content

fix(control-plane): use FQDN for sandbox-injected service URLs - #465

Closed
JuanmaBM wants to merge 1 commit into
openshift-online:mainfrom
JuanmaBM:fix/sandbox-dns-fqdn
Closed

fix(control-plane): use FQDN for sandbox-injected service URLs#465
JuanmaBM wants to merge 1 commit into
openshift-online:mainfrom
JuanmaBM:fix/sandbox-dns-fqdn

Conversation

@JuanmaBM

Copy link
Copy Markdown
Collaborator

Summary

  • Use .svc.cluster.local FQDN in CP_TOKEN_URL across all deployment manifests
  • Remove redundant .svc (non-FQDN) endpoints from sandbox network policy in sandbox_policy.go

Problem

The ndots:1 workaround for NVIDIA/OpenShell#2053 (musl libc DNS bug, fix proposed in PR #2054) causes .svc short names to fail DNS resolution inside sandbox pods. With ndots:1, hostnames with 1+ dots are tried as absolute names first — ambient-control-plane.<ns>.svc is not a valid FQDN and fails with:

DNS resolution failed for ambient-control-plane.ambient-code.svc:8080:
failed to lookup address information: Name does not resolve

With the default ndots:5, the same name (3 dots < 5) would have search domains appended first, resolving correctly. The FQDN .svc.cluster.local resolves correctly regardless of ndots setting.

Test plan

  • Verify sandbox sessions start successfully on ROSA cluster
  • Verify runner can reach control plane via CP_TOKEN_URL
  • Verify kind cluster sessions still work (.svc.cluster.local is the standard Kubernetes FQDN)

🤖 Generated with Claude Code

The ndots:1 workaround for OpenShell musl DNS (NVIDIA/OpenShell#2053)
causes .svc short names to fail resolution inside sandbox pods. With
ndots:1, hostnames with 1+ dots are tried as absolute names first —
ambient-control-plane.<ns>.svc is not a valid FQDN and fails.

Use .svc.cluster.local in CP_TOKEN_URL manifests and remove redundant
.svc endpoints from the sandbox network policy, keeping only the FQDN
variants that resolve correctly regardless of ndots setting.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@JuanmaBM JuanmaBM closed this Jul 31, 2026
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.

1 participant