client

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2015 License: MPL-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultConfig

func DefaultConfig() *config.Config

DefaultConfig returns the default configuration

Types

type AllocRunner

type AllocRunner struct {
	// contains filtered or unexported fields
}

AllocRunner is used to wrap an allocation and provide the execution context.

func NewAllocRunner

func NewAllocRunner(logger *log.Logger, config *config.Config, updater AllocStateUpdater, alloc *structs.Allocation) *AllocRunner

NewAllocRunner is used to create a new allocation context

func (*AllocRunner) Alloc

func (r *AllocRunner) Alloc() *structs.Allocation

Alloc returns the associated allocation

func (*AllocRunner) Destroy

func (r *AllocRunner) Destroy()

Destroy is used to indicate that the allocation context should be destroyed

func (*AllocRunner) DestroyContext

func (r *AllocRunner) DestroyContext() error

DestroyContext is used to destroy the context

func (*AllocRunner) DestroyState

func (r *AllocRunner) DestroyState() error

DestroyState is used to cleanup after ourselves

func (*AllocRunner) RestoreState

func (r *AllocRunner) RestoreState() error

RestoreState is used to restore the state of the alloc runner

func (*AllocRunner) Run

func (r *AllocRunner) Run()

Run is a long running goroutine used to manage an allocation

func (*AllocRunner) SaveState

func (r *AllocRunner) SaveState() error

SaveState is used to snapshot our state

func (*AllocRunner) Update

func (r *AllocRunner) Update(update *structs.Allocation)

Update is used to update the allocation of the context

func (*AllocRunner) WaitCh added in v0.1.2

func (r *AllocRunner) WaitCh() <-chan struct{}

WaitCh returns a channel to wait for termination

type AllocStateUpdater

type AllocStateUpdater func(alloc *structs.Allocation) error

AllocStateUpdater is used to update the status of an allocation

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client is used to implement the client interaction with Nomad. Clients are expected to register as a schedulable node to the servers, and to run allocations as determined by the servers.

func NewClient

func NewClient(cfg *config.Config) (*Client, error)

NewClient is used to create a new client from the given configuration

func (*Client) Leave

func (c *Client) Leave() error

Leave is used to prepare the client to leave the cluster

func (*Client) Node

func (c *Client) Node() *structs.Node

Node returns the locally registered node

func (*Client) RPC

func (c *Client) RPC(method string, args interface{}, reply interface{}) error

RPC is used to forward an RPC call to a nomad server, or fail if no servers

func (*Client) Servers

func (c *Client) Servers() []string

Servers is used to return the current known servers list. When an agent is first started, this list comes directly from configuration files.

func (*Client) SetServers

func (c *Client) SetServers(servers []string)

SetServers is used to modify the known servers list. This avoids forcing a config rollout + rolling restart and enables auto-join features. The full set of servers is passed to support adding and/or removing servers.

func (*Client) Shutdown

func (c *Client) Shutdown() error

Shutdown is used to tear down the client

func (*Client) Stats

func (c *Client) Stats() map[string]map[string]string

Stats is used to return statistics for debugging and insight for various sub-systems

type TaskRunner

type TaskRunner struct {
	// contains filtered or unexported fields
}

TaskRunner is used to wrap a task within an allocation and provide the execution context.

func NewTaskRunner

func NewTaskRunner(logger *log.Logger, config *config.Config,
	updater TaskStateUpdater, ctx *driver.ExecContext,
	allocID string, task *structs.Task) *TaskRunner

NewTaskRunner is used to create a new task context

func (*TaskRunner) Destroy

func (r *TaskRunner) Destroy()

Destroy is used to indicate that the task context should be destroyed

func (*TaskRunner) DestroyState

func (r *TaskRunner) DestroyState() error

DestroyState is used to cleanup after ourselves

func (*TaskRunner) RestoreState

func (r *TaskRunner) RestoreState() error

RestoreState is used to restore our state

func (*TaskRunner) Run

func (r *TaskRunner) Run()

Run is a long running routine used to manage the task

func (*TaskRunner) SaveState

func (r *TaskRunner) SaveState() error

SaveState is used to snapshot our state

func (*TaskRunner) Update

func (r *TaskRunner) Update(update *structs.Task)

Update is used to update the task of the context

func (*TaskRunner) WaitCh

func (r *TaskRunner) WaitCh() <-chan struct{}

WaitCh returns a channel to wait for termination

type TaskStateUpdater

type TaskStateUpdater func(taskName, status, desc string)

TaskStateUpdater is used to update the status of a task

Directories

Path Synopsis
Functions shared between linux/darwin.
Functions shared between linux/darwin.
Package exec is used to invoke child processes across various platforms to provide the following features:
Package exec is used to invoke child processes across various platforms to provide the following features:

Jump to

Keyboard shortcuts

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