Skip to content

Comments

fix: thread subnet into orchestrator to prevent port collisions#93

Merged
qj0r9j0vc2 merged 1 commit intomainfrom
fix/cross-devnet-port-collision
Feb 7, 2026
Merged

fix: thread subnet into orchestrator to prevent port collisions#93
qj0r9j0vc2 merged 1 commit intomainfrom
fix/cross-devnet-port-collision

Conversation

@qj0r9j0vc2
Copy link
Member

Summary

  • Provisioning a new devnet while another is running causes port collisions because the orchestrator creates nodes with empty Spec.Address, causing all nodes to bind to 0.0.0.0 on the same default ports (26657, 26656, etc.)
  • Threads the allocated subnet through ProvisionOptions so initializeNode() sets node.Spec.Address to the correct loopback IP (e.g., 127.0.42.1), enabling configureNodeNetworking() to bind each devnet's nodes to unique IPs

Changes

  • Added Subnet uint8 field to ProvisionOptions
  • Passed allocatedSubnet through provisionWithOrchestrator() and devnetToProvisionOptions()
  • Set node.Spec.Address via subnet.NodeIP() in initializeNode() when subnet > 0
  • Updated test call sites for the changed function signature

Test Plan

  • go build ./... passes
  • go test ./internal/daemon/provisioner/... passes
  • go test ./... full suite passes (0 failures)
  • Deploy and provision two devnets simultaneously, verify nodes bind to different loopback IPs

@qj0r9j0vc2 qj0r9j0vc2 self-assigned this Feb 7, 2026
@qj0r9j0vc2 qj0r9j0vc2 merged commit bc5f1b9 into main Feb 7, 2026
14 checks passed
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