executor

package
v1.2.3 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2016 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Overview

Package executor includes a mesos executor, which contains a kubelet as its member to manage containers.

Index

Constants

View Source
const (
	PodEventBound podEventType = iota
	PodEventUpdated
	PodEventDeleted
	PodEventIncompatibleUpdate
)

Variables

This section is empty.

Functions

func IsUnsupportedUpdate added in v1.2.0

func IsUnsupportedUpdate(err error) bool

Types

type Config

type Config struct {
	APIClient         *clientset.Clientset
	Docker            dockertools.DockerInterface
	ShutdownAlert     func()
	SuicideTimeout    time.Duration
	KubeletFinished   <-chan struct{} // signals that kubelet Run() died
	ExitFunc          func(int)
	LaunchGracePeriod time.Duration
	NodeInfos         chan<- NodeInfo
	Registry          Registry
	Options           []Option // functional options
}

type Executor added in v1.2.0

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

KubernetesExecutor is an mesos executor that runs pods in a minion machine.

func New

func New(config Config) *Executor

New creates a new kubernetes executor.

func (*Executor) Disconnected added in v1.2.0

func (k *Executor) Disconnected(driver bindings.ExecutorDriver)

Disconnected is called when the executor is disconnected from the slave.

func (*Executor) Done added in v1.2.0

func (k *Executor) Done() <-chan struct{}

Done returns a chan that closes when the executor is shutting down

func (*Executor) Error added in v1.2.0

func (k *Executor) Error(driver bindings.ExecutorDriver, message string)

Error is called when some error happens.

func (*Executor) FrameworkMessage added in v1.2.0

func (k *Executor) FrameworkMessage(driver bindings.ExecutorDriver, message string)

FrameworkMessage is called when the framework sends some message to the executor

func (*Executor) Init added in v1.2.0

func (k *Executor) Init(driver bindings.ExecutorDriver)

func (*Executor) KillTask added in v1.2.0

func (k *Executor) KillTask(driver bindings.ExecutorDriver, taskId *mesos.TaskID)

KillTask is called when the executor receives a request to kill a task.

func (*Executor) LaunchTask added in v1.2.0

func (k *Executor) LaunchTask(driver bindings.ExecutorDriver, taskInfo *mesos.TaskInfo)

LaunchTask is called when the executor receives a request to launch a task. The happens when the k8sm scheduler has decided to schedule the pod (which corresponds to a Mesos Task) onto the node where this executor is running, but the binding is not recorded in the Kubernetes store yet. This function is invoked to tell the executor to record the binding in the Kubernetes store and start the pod via the Kubelet.

func (*Executor) Registered added in v1.2.0

func (k *Executor) Registered(
	driver bindings.ExecutorDriver,
	executorInfo *mesos.ExecutorInfo,
	frameworkInfo *mesos.FrameworkInfo,
	slaveInfo *mesos.SlaveInfo,
)

Registered is called when the executor is successfully registered with the slave.

func (*Executor) Reregistered added in v1.2.0

func (k *Executor) Reregistered(driver bindings.ExecutorDriver, slaveInfo *mesos.SlaveInfo)

Reregistered is called when the executor is successfully re-registered with the slave. This can happen when the slave fails over.

func (*Executor) Shutdown added in v1.2.0

func (k *Executor) Shutdown(driver bindings.ExecutorDriver)

Shutdown is called when the executor receives a shutdown request.

type NodeInfo added in v1.2.0

type NodeInfo struct {
	Cores int
	Mem   uint64 // in bytes
}

type Option added in v1.2.0

type Option func(*Executor)

Option is a functional option type for Executor

func StaticPods added in v1.2.0

func StaticPods(configPath string, f podutil.Filters) Option

StaticPods creates a static pods Option for an Executor

type PodEvent added in v1.2.0

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

func (*PodEvent) FormatShort added in v1.2.0

func (rp *PodEvent) FormatShort() string

func (*PodEvent) Pod added in v1.2.0

func (rp *PodEvent) Pod() *api.Pod

func (*PodEvent) Task added in v1.2.0

func (rp *PodEvent) Task() string

type Registry added in v1.2.0

type Registry interface {
	// Update modifies the registry's iternal representation of the pod; it may also
	// modify the pod argument itself. An update may fail because either a pod isn't
	// labeled with a task ID, the task ID is unknown, or the nature of the update may
	// be incompatible with what's supported in kubernetes-mesos.
	Update(pod *api.Pod) (*PodEvent, error)

	// Remove the task from this registry, returns an error if the taskID is unknown.
	Remove(taskID string) error
	// contains filtered or unexported methods
}

Registry is a state store for pod task metadata. Clients are expected to watch() the event stream to observe changes over time.

func NewRegistry added in v1.2.0

func NewRegistry(client *clientset.Clientset) Registry

Directories

Path Synopsis
Package config contains executor configuration constants.
Package config contains executor configuration constants.
Package messages exposes executor event/message names as constants.
Package messages exposes executor event/message names as constants.
Package service contains the cmd/k8sm-executor glue code.
Package service contains the cmd/k8sm-executor glue code.

Jump to

Keyboard shortcuts

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