hashicorp/nomad · error

node %s is not allowed to update allocs while in status %s

Error message

node %s is not allowed to update allocs while in status %s

What it means

Node.UpdateAlloc refused the update because the node's status is down or disconnected (UnresponsiveStatus); a node must successfully heartbeat before it may update allocations, so its status must first be restored.

Source

Thrown at nomad/node_endpoint.go:1550

	if targetNodeID == "" {
		return fmt.Errorf("missing node ID")
	}

	node, err := n.srv.State().NodeByID(nil, targetNodeID)
	if err != nil {
		return fmt.Errorf("failed to retrieve node %s: %v", targetNodeID, err)
	}
	if node == nil {
		return fmt.Errorf("node %s not found", targetNodeID)
	}
	if !aclObj.AllowClientOp(node.NodePool) {
		return structs.ErrPermissionDenied
	}
	if err := auth.AuthorizeSameNode(args.GetIdentity(), targetNodeID); err != nil {
		return err
	}
	if node.UnresponsiveStatus() {
		return fmt.Errorf("node %s is not allowed to update allocs while in status %s", targetNodeID, node.Status)
	}

	// Ensure that evals aren't set from client RPCs
	// We create them here before the raft update
	if len(args.Evals) != 0 {
		return fmt.Errorf("evals field must not be set")
	}

	// Update modified timestamp for client initiated allocation updates
	now := time.Now()
	var evals []*structs.Evaluation

	for _, allocToUpdate := range args.Alloc {
		evalTriggerBy := ""
		allocToUpdate.ModifyTime = now.UTC().UnixNano()

		alloc, _ := n.srv.State().AllocByID(nil, allocToUpdate.ID)
		if alloc == nil {

View on GitHub (pinned to 482b49bf1a)

Solutions

  1. Restore node connectivity so heartbeats resume and the status leaves down/disconnected
  2. Have the client call UpdateStatus once it is ready
  3. Investigate why the node was marked unresponsive (network, agent down)
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at nomad/node_endpoint.go:1550 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/0d03621a5023c0ba. Report an issue: GitHub.