client

package
v1.0.4-rc0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2018 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ScalingMetricNone      = "None" // All supported allocation resources are unutilized.
	ScalingMetricDisk      = "Disk"
	ScalingMetricMemory    = "Memory"
	ScalingMetricProcessor = "CPU"
)

Scaling metric types indicate the most-utilized resource across the cluster. When evaluating scaling decisions, the most-utilized resource will be prioritized.

View Source
const (
	ScalingDirectionOut  = "Out"
	ScalingDirectionIn   = "In"
	ScalingDirectionNone = "None"
)

Scaling direction types indicate the allowed scaling actions.

Variables

This section is empty.

Functions

func CalculateUsage

func CalculateUsage(clusterInfo *structs.ClusterCapacity)

CalculateUsage computes the percentage of overall worker pool capacity consumed and computes the amount of that capacity consumed by each node.

func Deregister added in v1.0.0

func Deregister(node *nomad.NodeListStub, nodeRegistry *structs.NodeRegistry) (err error)

Deregister is responsible for removing a node from a worker pool record. If after node deregistration, a worker pool has no remaining nodes, the worker pool is removed from the node registry.

func MaxAllowedClusterUtilization

func MaxAllowedClusterUtilization(capacity *structs.ClusterCapacity, nodeFaultTolerance int, scaleIn bool) (maxAllowedUtilization int)

MaxAllowedClusterUtilization calculates the maximum allowed cluster utilization after taking into consideration node fault-tolerance and scaling overhead.

func NewConsulClient

func NewConsulClient(addr, token string) (structs.ConsulClient, error)

NewConsulClient is used to construct a new Consul client using the default configuration and supporting the ability to specify a Consul API address endpoint in the form of address:port.

func NewNomadClient

func NewNomadClient(addr string, token string,
	tlsServerName string) (structs.NomadClient, error)

NewNomadClient is used to create a new client to interact with Nomad. The client implements the NomadClient interface.

func NodeRegistryUpdated added in v1.0.0

func NodeRegistryUpdated(nodeRegistry *structs.NodeRegistry) (updated bool)

NodeRegistryUpdated determines if the node registry has been updated and manages updating the node hash.

func ProcessNodeConfig added in v1.0.0

func ProcessNodeConfig(node *nomad.Node,
	config *structs.Config) (pool *structs.WorkerPool, err error)

ProcessNodeConfig retrieves detailed information about a node and processes configuration details. If the meta configuration parameters required for scaling and identification of the associated worker pool are successfully processed, they are returned.

func Register added in v1.0.0

func Register(node *nomad.Node, workerPool *structs.WorkerPool,
	nodeRegistry *structs.NodeRegistry) error

Register is responsible for registering a newly discovered worker pool or registering a node with an previously discovered worker pool.

func RemoveJobScalingPolicy added in v1.0.0

func RemoveJobScalingPolicy(jobName string, scaling *structs.JobScalingPolicies)

RemoveJobScalingPolicy deletes the job entry within the the policies map.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL