This section is empty.


This section is empty.


func NewAllocRunner

func NewAllocRunner(config *Config) (*allocRunner, error)

    NewAllocRunner returns a new allocation runner.

    func TestAllocRunnerFromAlloc

    func TestAllocRunnerFromAlloc(t *testing.T, alloc *structs.Allocation) (*allocRunner, func())


    type Config

    type Config struct {
    	// Logger is the logger for the allocation runner.
    	Logger log.Logger
    	// ClientConfig is the clients configuration.
    	ClientConfig *clientconfig.Config
    	// Alloc captures the allocation that should be run.
    	Alloc *structs.Allocation
    	// StateDB is used to store and restore state.
    	StateDB cstate.StateDB
    	// Consul is the Consul client used to register task services and checks
    	Consul consul.ConsulServiceAPI
    	// ConsulSI is the Consul client used to manage service identity tokens.
    	ConsulSI consul.ServiceIdentityAPI
    	// Vault is the Vault client to use to retrieve Vault tokens
    	Vault vaultclient.VaultClient
    	// StateUpdater is used to emit updated task state
    	StateUpdater interfaces.AllocStateHandler
    	// DeviceStatsReporter is used to lookup resource usage for alloc devices
    	DeviceStatsReporter interfaces.DeviceStatsReporter
    	// PrevAllocWatcher handles waiting on previous or preempted allocations
    	PrevAllocWatcher allocwatcher.PrevAllocWatcher
    	// PrevAllocMigrator allows the migration of a previous allocations alloc dir
    	PrevAllocMigrator allocwatcher.PrevAllocMigrator
    	// DeviceManager is used to mount devices as well as lookup device
    	// statistics
    	DeviceManager devicemanager.Manager
    	// DriverManager handles dispensing of driver plugins
    	DriverManager drivermanager.Manager
    	// ServersContactedCh is closed when the first GetClientAllocs call to
    	// servers succeeds and allocs are synced.
    	ServersContactedCh chan struct{}

      Config holds the configuration for creating an allocation runner.

      type MockStateUpdater

      type MockStateUpdater struct {
      	Updates []*structs.Allocation
      	// contains filtered or unexported fields

        MockStateUpdater implements the AllocStateHandler interface and records alloc updates.

        func (*MockStateUpdater) AllocStateUpdated

        func (m *MockStateUpdater) AllocStateUpdated(alloc *structs.Allocation)

          AllocStateUpdated implements the AllocStateHandler interface and records an alloc update.

          func (*MockStateUpdater) Last

          func (m *MockStateUpdater) Last() *structs.Allocation

            Last returns a copy of the last alloc (or nil) update. Safe for concurrent access with updates.

            func (*MockStateUpdater) Reset

            func (m *MockStateUpdater) Reset()

              Reset resets the recorded alloc updates.

              type NetworkConfigurator

                NetworkConfigurator sets up and tears down the interfaces, routes, firewall rules, etc for the configured networking mode of the allocation.


                Path Synopsis