hashicorp/nomad · error
address must be in IP:port format: %w
Error message
address must be in IP:port format: %w
What it means
RaftPeerRequest.validateAddress could not parse the supplied peer address with netip.ParseAddrPort; the address must be an IP:port pair such as 10.0.0.1:4647.
Source
Thrown at nomad/structs/operator.go:106
if (r.ID == "" && r.Address == "") || (r.ID != "" && r.Address != "") {
return errors.New("either ID or Address must be set")
}
if r.ID != "" {
return r.validateID()
}
return r.validateAddress()
}
func (r *RaftPeerRequest) validateID() error {
if _, err := uuid.ParseUUID(string(r.ID)); err != nil {
return fmt.Errorf("id must be a uuid: %w", err)
}
return nil
}
func (r *RaftPeerRequest) validateAddress() error {
if _, err := netip.ParseAddrPort(string(r.Address)); err != nil {
return fmt.Errorf("address must be in IP:port format: %w", err)
}
return nil
}
type LeadershipTransferResponse struct {
From RaftIDAddress // Server yielding leadership
To RaftIDAddress // Server obtaining leadership
Noop bool // Was the transfer a non-operation
Err error // Non-nil if there was an error while transferring leadership
}
type RaftIDAddress struct {
Address raft.ServerAddress
ID raft.ServerID
}
// NewRaftIDAddress takes parameters in the order provided by raft's
// LeaderWithID func and returns a RaftIDAddressView on GitHub (pinned to 482b49bf1a)
Solutions
- Provide the address in IP:port format (no scheme or hostname)
- Use the exact address from `nomad operator raft list-peers`
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at nomad/structs/operator.go:106 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04).
Data as JSON: /api/errors/6ac617ee8907e280.
Report an issue: GitHub.