# Functions
AllocsFit checks if a given set of allocations will fit on a node.
Decode is used to decode a MsgPack encoded object.
Encode is used to encode a MsgPack object with type prefix.
FilterTerminalAllocs filters out all allocations in a terminal state.
GenerateUUID is used to generate a random UUID.
IntContains scans an integer slice for a value.
NewNetworkIndex is used to construct a new network index.
RemoveAllocs is used to remove any allocs with the given IDs from the list of allocations.
ScoreFit is used to score the fit based on the Google work published here: http://www.columbia.edu/~cs2035/courses/ieor4405.S13/datacenter_scheduling.ppt This is equivalent to their BestFit v3.
ShouldDrainNode checks if a given node status should trigger an evaluation.
ValidNodeStatus is used to check if a node status is valid.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Allocation should stop, and was evicted.
Allocation failed to be done.
Allocation should run.
Allocation should stop.
No description provided by the author
No description provided by the author
No description provided by the author
CoreJobEvalGC is used for the garbage collection of evaluations and allocations.
CoreJobNodeGC is used for the garbage collection of failed nodes.
Ensure CoreJobPriority is higher than any user specified job so that it gets priority.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
IgnoreUnknownTypeFlag is set along with a MessageType to indicate that the message type can be safely ignored if it is not recognized.
JobDefaultPriority is the default priority if not not specified.
No description provided by the author
JobMaxPriority is the maximum allowed priority.
JobMinPriority is the minimum allowed priority.
No description provided by the author
Complete means there was a clean termination.
Dead means there was abnormal termination.
Pending means the job is waiting on scheduling.
Running means the entire job is running.
No description provided by the author
JobTypeNomad is reserved for internal system tasks and is always handled by the CoreScheduler.
No description provided by the author
MaxDynamicPort is the largest dynamic port generated.
MinDynamicPort is the smallest dynamic port generated.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Variables
No description provided by the author
No description provided by the author
# Structs
Allocation is used to allocate the placement of a task group to a node.
AllocListRequest is used to request a list of allocations.
AllocListResponse is used for a list request.
AllocListStub is used to return a subset of alloc information.
AllocMetric is used to track various metrics while attempting to make an allocation.
AllocSpecificRequest is used to query a specific allocation.
AllocUpdateRequest is used to submit changes to allocations, either to cause evictions or to assign new allocaitons.
Constraints are used to restrict placement options in the case of a hard constraint, and used to prefer a placement in the case of a soft constraint.
EvalAckRequest is used to Ack/Nack a specific evaluation.
EvalAllocationsResponse is used to return the allocations for an evaluation.
EvalDeleteRequest is used for deleting an evaluation.
EvalDequeueRequest is used when we want to dequeue an evaluation.
EvalDequeueResponse is used to return from a dequeue.
EvalListRequest is used to list the evaluations.
EvalListResponse is used for a list request.
EvalSpecificRequest is used when we just need to specify a target evaluation.
Evaluation is used anytime we need to apply business logic as a result of a change to our desired state (job specification) or the emergent state (registered nodes).
EvalUpdateRequest is used for upserting evaluations.
GenericRequest is used to request where no specific information is needed.
GenericResponse is used to respond to a request where no specific response information is needed.
Job is the scope of a scheduling request to Nomad.
JobAllocationsResponse is used to return the allocations for a job.
JobDeregisterRequest is used for Job.Deregister endpoint to deregister a job as being a schedulable entity.
JobDeregisterResponse is used to respond to a job deregistration.
JobEvaluateRequest is used when we just need to re-evaluate a target job.
JobEvaluationsResponse is used to return the evaluations for a job.
JobListRequest is used to parameterize a list request.
JobListResponse is used for a list request.
JobListStub is used to return a subset of job information for the job list.
JobRegisterRequest is used for Job.Register endpoint to register a job as being a schedulable entity.
JobRegisterResponse is used to respond to a job registration.
JobSpecificRequest is used when we just need to specify a target job.
NetworkIndex is used to index the available network resources and the used network resources on a machine given allocations.
NetworkResource is used to represent available network resources.
Node is a representation of a schedulable client node.
NodeAllocsResponse is used to return allocs for a single node.
NodeDeregisterRequest is used for Node.Deregister endpoint to deregister a node as being a schedulable entity.
NodeDrainUpdateResponse is used to respond to a node drain update.
NodeEvaluateRequest is used to re-evaluate the ndoe.
NodeListRequest is used to parameterize a list request.
JobListResponse is used for a list request.
NodeListStub is used to return a subset of job information for the job list.
NodeRegisterRequest is used for Node.Register endpoint to register a node as being a schedulable entity.
NodeSpecificRequest is used when we just need to specify a target node.
NodeUpdateDrainRequest is used for updatin the drain status.
NodeUpdateResponse is used to respond to a node update.
NodeUpdateStatusRequest is used for Node.UpdateStatus endpoint to update the status of a node.
Plan is used to submit a commit plan for task allocations.
PlanRequest is used to submit an allocation plan to the leader.
PlanResponse is used to return from a PlanRequest.
PlanResult is the result of a plan submitted to the leader.
QueryMeta allows a query response to include potentially useful metadata about a query.
QueryOptions is used to specify various flags for read queries.
Resources is used to define the resources available on a client.
SingleAllocResponse is used to return a single allocation.
SingleEvalResponse is used to return a single evaluation.
SingleJobResponse is used to return a single job.
SingleNodeResponse is used to return a single node.
Task is a single process typically that is executed as part of a task group.
TaskGroup is an atomic unit of placement.
UpdateStrategy is used to modify how updates are done.
VersionResponse is used for the Status.Version reseponse.
WriteMeta allows a write response to includ e potentially useful metadata about the write.
No description provided by the author
# Interfaces
RPCInfo is used to describe common information about query.
# Type aliases
No description provided by the author