// findPreferredNode finds the preferred node for an allocation func (s *GenericScheduler) findPreferredNode(allocTuple *allocTuple) (node *structs.Node, err error) { if allocTuple.Alloc != nil { taskGroup := allocTuple.Alloc.Job.LookupTaskGroup(allocTuple.Alloc.TaskGroup) if taskGroup == nil { err = fmt.Errorf("can't find task group of existing allocation %q", allocTuple.Alloc.ID) return } if taskGroup.EphemeralDisk.Sticky == true { var preferredNode *structs.Node preferredNode, err = s.state.NodeByID(allocTuple.Alloc.NodeID) if preferredNode.Ready() { node = preferredNode } } } return }