Documentation ¶
Overview ¶
Package node is a generated GoMock package.
Index ¶
- type ConcurrentExecutor
- type Configuration
- type HeartbeatConfiguration
- type HeartbeatOptions
- type HeartbeatRouter
- type Listener
- type ListenerID
- type MockOptions
- func (m *MockOptions) EXPECT() *MockOptionsMockRecorder
- func (m *MockOptions) HeartbeatOptions() HeartbeatOptions
- func (m *MockOptions) InstrumentOptions() instrument.Options
- func (m *MockOptions) MaxPullSize() int64
- func (m *MockOptions) OperationTimeout() time.Duration
- func (m *MockOptions) OperatorClientFn() OperatorClientFn
- func (m *MockOptions) Retrier() retry.Retrier
- func (m *MockOptions) SetHeartbeatOptions(arg0 HeartbeatOptions) Options
- func (m *MockOptions) SetInstrumentOptions(arg0 instrument.Options) Options
- func (m *MockOptions) SetMaxPullSize(arg0 int64) Options
- func (m *MockOptions) SetOperationTimeout(arg0 time.Duration) Options
- func (m *MockOptions) SetOperatorClientFn(arg0 OperatorClientFn) Options
- func (m *MockOptions) SetRetrier(arg0 retry.Retrier) Options
- func (m *MockOptions) SetTransferBufferSize(arg0 int) Options
- func (m *MockOptions) TransferBufferSize() int
- func (m *MockOptions) Validate() error
- type MockOptionsMockRecorder
- func (mr *MockOptionsMockRecorder) HeartbeatOptions() *gomock.Call
- func (mr *MockOptionsMockRecorder) InstrumentOptions() *gomock.Call
- func (mr *MockOptionsMockRecorder) MaxPullSize() *gomock.Call
- func (mr *MockOptionsMockRecorder) OperationTimeout() *gomock.Call
- func (mr *MockOptionsMockRecorder) OperatorClientFn() *gomock.Call
- func (mr *MockOptionsMockRecorder) Retrier() *gomock.Call
- func (mr *MockOptionsMockRecorder) SetHeartbeatOptions(arg0 interface{}) *gomock.Call
- func (mr *MockOptionsMockRecorder) SetInstrumentOptions(arg0 interface{}) *gomock.Call
- func (mr *MockOptionsMockRecorder) SetMaxPullSize(arg0 interface{}) *gomock.Call
- func (mr *MockOptionsMockRecorder) SetOperationTimeout(arg0 interface{}) *gomock.Call
- func (mr *MockOptionsMockRecorder) SetOperatorClientFn(arg0 interface{}) *gomock.Call
- func (mr *MockOptionsMockRecorder) SetRetrier(arg0 interface{}) *gomock.Call
- func (mr *MockOptionsMockRecorder) SetTransferBufferSize(arg0 interface{}) *gomock.Call
- func (mr *MockOptionsMockRecorder) TransferBufferSize() *gomock.Call
- func (mr *MockOptionsMockRecorder) Validate() *gomock.Call
- type MockServiceNode
- func (m *MockServiceNode) Clone() placement.Instance
- func (m *MockServiceNode) Close() error
- func (m *MockServiceNode) DeregisterListener(arg0 ListenerID)
- func (m *MockServiceNode) EXPECT() *MockServiceNodeMockRecorder
- func (m *MockServiceNode) Endpoint() string
- func (m *MockServiceNode) GetRemoteOutput(arg0 RemoteOutputType, arg1 string) (bool, error)
- func (m *MockServiceNode) Hostname() string
- func (m *MockServiceNode) ID() string
- func (m *MockServiceNode) IsAvailable() bool
- func (m *MockServiceNode) IsInitializing() bool
- func (m *MockServiceNode) IsLeaving() bool
- func (m *MockServiceNode) IsolationGroup() string
- func (m *MockServiceNode) Metadata() placement.InstanceMetadata
- func (m *MockServiceNode) Port() uint32
- func (m *MockServiceNode) Proto() (*placementpb.Instance, error)
- func (m *MockServiceNode) RegisterListener(arg0 Listener) ListenerID
- func (m *MockServiceNode) SetEndpoint(arg0 string) placement.Instance
- func (m *MockServiceNode) SetHostname(arg0 string) placement.Instance
- func (m *MockServiceNode) SetID(arg0 string) placement.Instance
- func (m *MockServiceNode) SetIsolationGroup(arg0 string) placement.Instance
- func (m *MockServiceNode) SetMetadata(arg0 placement.InstanceMetadata) placement.Instance
- func (m *MockServiceNode) SetPort(arg0 uint32) placement.Instance
- func (m *MockServiceNode) SetShardSetID(arg0 uint32) placement.Instance
- func (m *MockServiceNode) SetShards(arg0 shard.Shards) placement.Instance
- func (m *MockServiceNode) SetWeight(arg0 uint32) placement.Instance
- func (m *MockServiceNode) SetZone(arg0 string) placement.Instance
- func (m *MockServiceNode) Setup(arg0 build.ServiceBuild, arg1 build.ServiceConfiguration, arg2 string, ...) error
- func (m *MockServiceNode) ShardSetID() uint32
- func (m *MockServiceNode) Shards() shard.Shards
- func (m *MockServiceNode) Start() error
- func (m *MockServiceNode) Status() Status
- func (m *MockServiceNode) Stop() error
- func (m *MockServiceNode) String() string
- func (m *MockServiceNode) Teardown() error
- func (m *MockServiceNode) TransferLocalFile(arg0 string, arg1 []string, arg2 bool) error
- func (m *MockServiceNode) Weight() uint32
- func (m *MockServiceNode) Zone() string
- type MockServiceNodeMockRecorder
- func (mr *MockServiceNodeMockRecorder) Clone() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Close() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) DeregisterListener(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Endpoint() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) GetRemoteOutput(arg0, arg1 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Hostname() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) ID() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) IsAvailable() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) IsInitializing() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) IsLeaving() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) IsolationGroup() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Metadata() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Port() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Proto() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) RegisterListener(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) SetEndpoint(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) SetHostname(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) SetID(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) SetIsolationGroup(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) SetMetadata(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) SetPort(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) SetShardSetID(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) SetShards(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) SetWeight(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) SetZone(arg0 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Setup(arg0, arg1, arg2, arg3 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) ShardSetID() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Shards() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Start() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Status() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Stop() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) String() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Teardown() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) TransferLocalFile(arg0, arg1, arg2 interface{}) *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Weight() *gomock.Call
- func (mr *MockServiceNodeMockRecorder) Zone() *gomock.Call
- type OperatorClientFn
- type Options
- type RemoteOutputType
- type ServiceNode
- type ServiceNodeFn
- type ServiceNodes
- type Status
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConcurrentExecutor ¶
type ConcurrentExecutor interface { // Run runs the provide ServiceNodeFn concurrently Run() error }
ConcurrentExecutor executes functions on a collection of service nodes concurrently
func NewConcurrentExecutor ¶
func NewConcurrentExecutor( nodes []ServiceNode, concurrency int, timeout time.Duration, fn ServiceNodeFn, ) ConcurrentExecutor
NewConcurrentExecutor returns a new concurrent executor
type Configuration ¶
type Configuration struct { OperationTimeout *time.Duration `yaml:"operationTimeout"` TransferBufferSize *int `yaml:"transferBufferSize"` Retry *xretry.Configuration `yaml:"retry"` Heartbeat *HeartbeatConfiguration `yaml:"heartbeat"` }
Configuration is a YAML wrapper around Options
func (*Configuration) Options ¶
func (c *Configuration) Options(iopts instrument.Options) Options
Options returns `Options` corresponding to the provided struct values
type HeartbeatConfiguration ¶
type HeartbeatConfiguration struct { Enabled *bool `yaml:"enabled"` Timeout *time.Duration `yaml:"timeout"` Interval *time.Duration `yaml:"interval"` CheckInterval *time.Duration `yaml:"checkInterval"` }
HeartbeatConfiguration is a YAML compatible wrapper around HeartbeatOptions
func (*HeartbeatConfiguration) Options ¶
func (h *HeartbeatConfiguration) Options() HeartbeatOptions
Options returns HeartbeatOptions corresponding to the values in the HeartbeatConfiguration
type HeartbeatOptions ¶
type HeartbeatOptions interface { // Validate validates the HeartbeatOptions Validate() error // SetEnabled sets whether the Heartbeating is enabled SetEnabled(bool) HeartbeatOptions // Enabled returns whether the Heartbeating is enabled Enabled() bool // SetNowFn sets the NowFn SetNowFn(xclock.NowFn) HeartbeatOptions // NowFn returns the NowFn NowFn() xclock.NowFn // SetInterval sets the heartbeating interval SetInterval(time.Duration) HeartbeatOptions // Interval returns the heartbeating interval Interval() time.Duration // SetCheckInterval sets the frequency with which heartbeating timeouts // are checked SetCheckInterval(time.Duration) HeartbeatOptions // CheckInterval returns the frequency with which heartbeating timeouts // are checked CheckInterval() time.Duration // SetTimeout sets the heartbeat timeout duration, i.e. the window of // time after which missing heartbeats are considered errorneous SetTimeout(time.Duration) HeartbeatOptions // Timeout returns the heartbeat timeout duration, i.e. the window of // time after which missing heartbeats are considered errorneous Timeout() time.Duration // SetHeartbeatRouter sets the heartbeat router to be used SetHeartbeatRouter(HeartbeatRouter) HeartbeatOptions // HeartbeatRouter returns the heartbeat router in use HeartbeatRouter() HeartbeatRouter }
HeartbeatOptions are the knobs to control heartbeating behavior
func NewHeartbeatOptions ¶
func NewHeartbeatOptions() HeartbeatOptions
NewHeartbeatOptions returns the default HeartbeatOptions
type HeartbeatRouter ¶
type HeartbeatRouter interface { hb.HeartbeaterServer // Endpoint returns the router endpoint Endpoint() string // Register registers the specified server under the given id Register(string, hb.HeartbeaterServer) error // Deregister un-registers any server registered under the given id Deregister(string) error }
HeartbeatRouter routes heartbeats based on registered servers
func NewHeartbeatRouter ¶
func NewHeartbeatRouter(endpoint string) HeartbeatRouter
NewHeartbeatRouter returns a new heartbeat router
type Listener ¶
type Listener interface { // OnProcessTerminate is invoked when the remote process being run terminates OnProcessTerminate(node ServiceNode, desc string) // OnHeartbeatTimeout is invoked upon remote heartbeats having timed-out OnHeartbeatTimeout(node ServiceNode, lastHeartbeatTs time.Time) // OnOverwrite is invoked if remote agent control is overwritten by another // coordinator OnOverwrite(node ServiceNode, desc string) }
Listener provides callbacks invoked upon remote process state transitions
func NewListener ¶
func NewListener( onProcessTerminate func(ServiceNode, string), onHeartbeatTimeout func(ServiceNode, time.Time), onOverwrite func(ServiceNode, string), ) Listener
NewListener creates a new listener
type MockOptions ¶
type MockOptions struct {
// contains filtered or unexported fields
}
MockOptions is a mock of Options interface
func NewMockOptions ¶
func NewMockOptions(ctrl *gomock.Controller) *MockOptions
NewMockOptions creates a new mock instance
func (*MockOptions) EXPECT ¶
func (m *MockOptions) EXPECT() *MockOptionsMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockOptions) HeartbeatOptions ¶
func (m *MockOptions) HeartbeatOptions() HeartbeatOptions
HeartbeatOptions mocks base method
func (*MockOptions) InstrumentOptions ¶
func (m *MockOptions) InstrumentOptions() instrument.Options
InstrumentOptions mocks base method
func (*MockOptions) MaxPullSize ¶
func (m *MockOptions) MaxPullSize() int64
MaxPullSize mocks base method
func (*MockOptions) OperationTimeout ¶
func (m *MockOptions) OperationTimeout() time.Duration
OperationTimeout mocks base method
func (*MockOptions) OperatorClientFn ¶
func (m *MockOptions) OperatorClientFn() OperatorClientFn
OperatorClientFn mocks base method
func (*MockOptions) Retrier ¶
func (m *MockOptions) Retrier() retry.Retrier
Retrier mocks base method
func (*MockOptions) SetHeartbeatOptions ¶
func (m *MockOptions) SetHeartbeatOptions(arg0 HeartbeatOptions) Options
SetHeartbeatOptions mocks base method
func (*MockOptions) SetInstrumentOptions ¶
func (m *MockOptions) SetInstrumentOptions(arg0 instrument.Options) Options
SetInstrumentOptions mocks base method
func (*MockOptions) SetMaxPullSize ¶
func (m *MockOptions) SetMaxPullSize(arg0 int64) Options
SetMaxPullSize mocks base method
func (*MockOptions) SetOperationTimeout ¶
func (m *MockOptions) SetOperationTimeout(arg0 time.Duration) Options
SetOperationTimeout mocks base method
func (*MockOptions) SetOperatorClientFn ¶
func (m *MockOptions) SetOperatorClientFn(arg0 OperatorClientFn) Options
SetOperatorClientFn mocks base method
func (*MockOptions) SetRetrier ¶
func (m *MockOptions) SetRetrier(arg0 retry.Retrier) Options
SetRetrier mocks base method
func (*MockOptions) SetTransferBufferSize ¶
func (m *MockOptions) SetTransferBufferSize(arg0 int) Options
SetTransferBufferSize mocks base method
func (*MockOptions) TransferBufferSize ¶
func (m *MockOptions) TransferBufferSize() int
TransferBufferSize mocks base method
type MockOptionsMockRecorder ¶
type MockOptionsMockRecorder struct {
// contains filtered or unexported fields
}
MockOptionsMockRecorder is the mock recorder for MockOptions
func (*MockOptionsMockRecorder) HeartbeatOptions ¶
func (mr *MockOptionsMockRecorder) HeartbeatOptions() *gomock.Call
HeartbeatOptions indicates an expected call of HeartbeatOptions
func (*MockOptionsMockRecorder) InstrumentOptions ¶
func (mr *MockOptionsMockRecorder) InstrumentOptions() *gomock.Call
InstrumentOptions indicates an expected call of InstrumentOptions
func (*MockOptionsMockRecorder) MaxPullSize ¶
func (mr *MockOptionsMockRecorder) MaxPullSize() *gomock.Call
MaxPullSize indicates an expected call of MaxPullSize
func (*MockOptionsMockRecorder) OperationTimeout ¶
func (mr *MockOptionsMockRecorder) OperationTimeout() *gomock.Call
OperationTimeout indicates an expected call of OperationTimeout
func (*MockOptionsMockRecorder) OperatorClientFn ¶
func (mr *MockOptionsMockRecorder) OperatorClientFn() *gomock.Call
OperatorClientFn indicates an expected call of OperatorClientFn
func (*MockOptionsMockRecorder) Retrier ¶
func (mr *MockOptionsMockRecorder) Retrier() *gomock.Call
Retrier indicates an expected call of Retrier
func (*MockOptionsMockRecorder) SetHeartbeatOptions ¶
func (mr *MockOptionsMockRecorder) SetHeartbeatOptions(arg0 interface{}) *gomock.Call
SetHeartbeatOptions indicates an expected call of SetHeartbeatOptions
func (*MockOptionsMockRecorder) SetInstrumentOptions ¶
func (mr *MockOptionsMockRecorder) SetInstrumentOptions(arg0 interface{}) *gomock.Call
SetInstrumentOptions indicates an expected call of SetInstrumentOptions
func (*MockOptionsMockRecorder) SetMaxPullSize ¶
func (mr *MockOptionsMockRecorder) SetMaxPullSize(arg0 interface{}) *gomock.Call
SetMaxPullSize indicates an expected call of SetMaxPullSize
func (*MockOptionsMockRecorder) SetOperationTimeout ¶
func (mr *MockOptionsMockRecorder) SetOperationTimeout(arg0 interface{}) *gomock.Call
SetOperationTimeout indicates an expected call of SetOperationTimeout
func (*MockOptionsMockRecorder) SetOperatorClientFn ¶
func (mr *MockOptionsMockRecorder) SetOperatorClientFn(arg0 interface{}) *gomock.Call
SetOperatorClientFn indicates an expected call of SetOperatorClientFn
func (*MockOptionsMockRecorder) SetRetrier ¶
func (mr *MockOptionsMockRecorder) SetRetrier(arg0 interface{}) *gomock.Call
SetRetrier indicates an expected call of SetRetrier
func (*MockOptionsMockRecorder) SetTransferBufferSize ¶
func (mr *MockOptionsMockRecorder) SetTransferBufferSize(arg0 interface{}) *gomock.Call
SetTransferBufferSize indicates an expected call of SetTransferBufferSize
func (*MockOptionsMockRecorder) TransferBufferSize ¶
func (mr *MockOptionsMockRecorder) TransferBufferSize() *gomock.Call
TransferBufferSize indicates an expected call of TransferBufferSize
func (*MockOptionsMockRecorder) Validate ¶
func (mr *MockOptionsMockRecorder) Validate() *gomock.Call
Validate indicates an expected call of Validate
type MockServiceNode ¶
type MockServiceNode struct {
// contains filtered or unexported fields
}
MockServiceNode is a mock of ServiceNode interface
func NewMockServiceNode ¶
func NewMockServiceNode(ctrl *gomock.Controller) *MockServiceNode
NewMockServiceNode creates a new mock instance
func (*MockServiceNode) Clone ¶
func (m *MockServiceNode) Clone() placement.Instance
Clone mocks base method
func (*MockServiceNode) DeregisterListener ¶
func (m *MockServiceNode) DeregisterListener(arg0 ListenerID)
DeregisterListener mocks base method
func (*MockServiceNode) EXPECT ¶
func (m *MockServiceNode) EXPECT() *MockServiceNodeMockRecorder
EXPECT returns an object that allows the caller to indicate expected use
func (*MockServiceNode) Endpoint ¶
func (m *MockServiceNode) Endpoint() string
Endpoint mocks base method
func (*MockServiceNode) GetRemoteOutput ¶
func (m *MockServiceNode) GetRemoteOutput(arg0 RemoteOutputType, arg1 string) (bool, error)
GetRemoteOutput mocks base method
func (*MockServiceNode) Hostname ¶
func (m *MockServiceNode) Hostname() string
Hostname mocks base method
func (*MockServiceNode) IsAvailable ¶
func (m *MockServiceNode) IsAvailable() bool
IsAvailable mocks base method
func (*MockServiceNode) IsInitializing ¶
func (m *MockServiceNode) IsInitializing() bool
IsInitializing mocks base method
func (*MockServiceNode) IsLeaving ¶
func (m *MockServiceNode) IsLeaving() bool
IsLeaving mocks base method
func (*MockServiceNode) IsolationGroup ¶
func (m *MockServiceNode) IsolationGroup() string
IsolationGroup mocks base method
func (*MockServiceNode) Metadata ¶ added in v0.15.0
func (m *MockServiceNode) Metadata() placement.InstanceMetadata
Metadata mocks base method
func (*MockServiceNode) Proto ¶
func (m *MockServiceNode) Proto() (*placementpb.Instance, error)
Proto mocks base method
func (*MockServiceNode) RegisterListener ¶
func (m *MockServiceNode) RegisterListener(arg0 Listener) ListenerID
RegisterListener mocks base method
func (*MockServiceNode) SetEndpoint ¶
func (m *MockServiceNode) SetEndpoint(arg0 string) placement.Instance
SetEndpoint mocks base method
func (*MockServiceNode) SetHostname ¶
func (m *MockServiceNode) SetHostname(arg0 string) placement.Instance
SetHostname mocks base method
func (*MockServiceNode) SetID ¶
func (m *MockServiceNode) SetID(arg0 string) placement.Instance
SetID mocks base method
func (*MockServiceNode) SetIsolationGroup ¶
func (m *MockServiceNode) SetIsolationGroup(arg0 string) placement.Instance
SetIsolationGroup mocks base method
func (*MockServiceNode) SetMetadata ¶ added in v0.15.0
func (m *MockServiceNode) SetMetadata(arg0 placement.InstanceMetadata) placement.Instance
SetMetadata mocks base method
func (*MockServiceNode) SetPort ¶
func (m *MockServiceNode) SetPort(arg0 uint32) placement.Instance
SetPort mocks base method
func (*MockServiceNode) SetShardSetID ¶
func (m *MockServiceNode) SetShardSetID(arg0 uint32) placement.Instance
SetShardSetID mocks base method
func (*MockServiceNode) SetShards ¶
func (m *MockServiceNode) SetShards(arg0 shard.Shards) placement.Instance
SetShards mocks base method
func (*MockServiceNode) SetWeight ¶
func (m *MockServiceNode) SetWeight(arg0 uint32) placement.Instance
SetWeight mocks base method
func (*MockServiceNode) SetZone ¶
func (m *MockServiceNode) SetZone(arg0 string) placement.Instance
SetZone mocks base method
func (*MockServiceNode) Setup ¶
func (m *MockServiceNode) Setup(arg0 build.ServiceBuild, arg1 build.ServiceConfiguration, arg2 string, arg3 bool) error
Setup mocks base method
func (*MockServiceNode) ShardSetID ¶
func (m *MockServiceNode) ShardSetID() uint32
ShardSetID mocks base method
func (*MockServiceNode) Shards ¶
func (m *MockServiceNode) Shards() shard.Shards
Shards mocks base method
func (*MockServiceNode) Teardown ¶
func (m *MockServiceNode) Teardown() error
Teardown mocks base method
func (*MockServiceNode) TransferLocalFile ¶
func (m *MockServiceNode) TransferLocalFile(arg0 string, arg1 []string, arg2 bool) error
TransferLocalFile mocks base method
type MockServiceNodeMockRecorder ¶
type MockServiceNodeMockRecorder struct {
// contains filtered or unexported fields
}
MockServiceNodeMockRecorder is the mock recorder for MockServiceNode
func (*MockServiceNodeMockRecorder) Clone ¶
func (mr *MockServiceNodeMockRecorder) Clone() *gomock.Call
Clone indicates an expected call of Clone
func (*MockServiceNodeMockRecorder) Close ¶
func (mr *MockServiceNodeMockRecorder) Close() *gomock.Call
Close indicates an expected call of Close
func (*MockServiceNodeMockRecorder) DeregisterListener ¶
func (mr *MockServiceNodeMockRecorder) DeregisterListener(arg0 interface{}) *gomock.Call
DeregisterListener indicates an expected call of DeregisterListener
func (*MockServiceNodeMockRecorder) Endpoint ¶
func (mr *MockServiceNodeMockRecorder) Endpoint() *gomock.Call
Endpoint indicates an expected call of Endpoint
func (*MockServiceNodeMockRecorder) GetRemoteOutput ¶
func (mr *MockServiceNodeMockRecorder) GetRemoteOutput(arg0, arg1 interface{}) *gomock.Call
GetRemoteOutput indicates an expected call of GetRemoteOutput
func (*MockServiceNodeMockRecorder) Hostname ¶
func (mr *MockServiceNodeMockRecorder) Hostname() *gomock.Call
Hostname indicates an expected call of Hostname
func (*MockServiceNodeMockRecorder) ID ¶
func (mr *MockServiceNodeMockRecorder) ID() *gomock.Call
ID indicates an expected call of ID
func (*MockServiceNodeMockRecorder) IsAvailable ¶
func (mr *MockServiceNodeMockRecorder) IsAvailable() *gomock.Call
IsAvailable indicates an expected call of IsAvailable
func (*MockServiceNodeMockRecorder) IsInitializing ¶
func (mr *MockServiceNodeMockRecorder) IsInitializing() *gomock.Call
IsInitializing indicates an expected call of IsInitializing
func (*MockServiceNodeMockRecorder) IsLeaving ¶
func (mr *MockServiceNodeMockRecorder) IsLeaving() *gomock.Call
IsLeaving indicates an expected call of IsLeaving
func (*MockServiceNodeMockRecorder) IsolationGroup ¶
func (mr *MockServiceNodeMockRecorder) IsolationGroup() *gomock.Call
IsolationGroup indicates an expected call of IsolationGroup
func (*MockServiceNodeMockRecorder) Metadata ¶ added in v0.15.0
func (mr *MockServiceNodeMockRecorder) Metadata() *gomock.Call
Metadata indicates an expected call of Metadata
func (*MockServiceNodeMockRecorder) Port ¶
func (mr *MockServiceNodeMockRecorder) Port() *gomock.Call
Port indicates an expected call of Port
func (*MockServiceNodeMockRecorder) Proto ¶
func (mr *MockServiceNodeMockRecorder) Proto() *gomock.Call
Proto indicates an expected call of Proto
func (*MockServiceNodeMockRecorder) RegisterListener ¶
func (mr *MockServiceNodeMockRecorder) RegisterListener(arg0 interface{}) *gomock.Call
RegisterListener indicates an expected call of RegisterListener
func (*MockServiceNodeMockRecorder) SetEndpoint ¶
func (mr *MockServiceNodeMockRecorder) SetEndpoint(arg0 interface{}) *gomock.Call
SetEndpoint indicates an expected call of SetEndpoint
func (*MockServiceNodeMockRecorder) SetHostname ¶
func (mr *MockServiceNodeMockRecorder) SetHostname(arg0 interface{}) *gomock.Call
SetHostname indicates an expected call of SetHostname
func (*MockServiceNodeMockRecorder) SetID ¶
func (mr *MockServiceNodeMockRecorder) SetID(arg0 interface{}) *gomock.Call
SetID indicates an expected call of SetID
func (*MockServiceNodeMockRecorder) SetIsolationGroup ¶
func (mr *MockServiceNodeMockRecorder) SetIsolationGroup(arg0 interface{}) *gomock.Call
SetIsolationGroup indicates an expected call of SetIsolationGroup
func (*MockServiceNodeMockRecorder) SetMetadata ¶ added in v0.15.0
func (mr *MockServiceNodeMockRecorder) SetMetadata(arg0 interface{}) *gomock.Call
SetMetadata indicates an expected call of SetMetadata
func (*MockServiceNodeMockRecorder) SetPort ¶
func (mr *MockServiceNodeMockRecorder) SetPort(arg0 interface{}) *gomock.Call
SetPort indicates an expected call of SetPort
func (*MockServiceNodeMockRecorder) SetShardSetID ¶
func (mr *MockServiceNodeMockRecorder) SetShardSetID(arg0 interface{}) *gomock.Call
SetShardSetID indicates an expected call of SetShardSetID
func (*MockServiceNodeMockRecorder) SetShards ¶
func (mr *MockServiceNodeMockRecorder) SetShards(arg0 interface{}) *gomock.Call
SetShards indicates an expected call of SetShards
func (*MockServiceNodeMockRecorder) SetWeight ¶
func (mr *MockServiceNodeMockRecorder) SetWeight(arg0 interface{}) *gomock.Call
SetWeight indicates an expected call of SetWeight
func (*MockServiceNodeMockRecorder) SetZone ¶
func (mr *MockServiceNodeMockRecorder) SetZone(arg0 interface{}) *gomock.Call
SetZone indicates an expected call of SetZone
func (*MockServiceNodeMockRecorder) Setup ¶
func (mr *MockServiceNodeMockRecorder) Setup(arg0, arg1, arg2, arg3 interface{}) *gomock.Call
Setup indicates an expected call of Setup
func (*MockServiceNodeMockRecorder) ShardSetID ¶
func (mr *MockServiceNodeMockRecorder) ShardSetID() *gomock.Call
ShardSetID indicates an expected call of ShardSetID
func (*MockServiceNodeMockRecorder) Shards ¶
func (mr *MockServiceNodeMockRecorder) Shards() *gomock.Call
Shards indicates an expected call of Shards
func (*MockServiceNodeMockRecorder) Start ¶
func (mr *MockServiceNodeMockRecorder) Start() *gomock.Call
Start indicates an expected call of Start
func (*MockServiceNodeMockRecorder) Status ¶
func (mr *MockServiceNodeMockRecorder) Status() *gomock.Call
Status indicates an expected call of Status
func (*MockServiceNodeMockRecorder) Stop ¶
func (mr *MockServiceNodeMockRecorder) Stop() *gomock.Call
Stop indicates an expected call of Stop
func (*MockServiceNodeMockRecorder) String ¶
func (mr *MockServiceNodeMockRecorder) String() *gomock.Call
String indicates an expected call of String
func (*MockServiceNodeMockRecorder) Teardown ¶
func (mr *MockServiceNodeMockRecorder) Teardown() *gomock.Call
Teardown indicates an expected call of Teardown
func (*MockServiceNodeMockRecorder) TransferLocalFile ¶
func (mr *MockServiceNodeMockRecorder) TransferLocalFile(arg0, arg1, arg2 interface{}) *gomock.Call
TransferLocalFile indicates an expected call of TransferLocalFile
func (*MockServiceNodeMockRecorder) Weight ¶
func (mr *MockServiceNodeMockRecorder) Weight() *gomock.Call
Weight indicates an expected call of Weight
func (*MockServiceNodeMockRecorder) Zone ¶
func (mr *MockServiceNodeMockRecorder) Zone() *gomock.Call
Zone indicates an expected call of Zone
type OperatorClientFn ¶
type OperatorClientFn func() (*grpc.ClientConn, m3em.OperatorClient, error)
OperatorClientFn returns a function able to construct connections to remote Operators
type Options ¶
type Options interface { // Validate validates the NodeOptions Validate() error // SetInstrumentOptions sets the instrumentation options SetInstrumentOptions(instrument.Options) Options // InstrumentOptions returns the instrumentation options InstrumentOptions() instrument.Options // SetOperationTimeout returns the timeout for node operations SetOperationTimeout(time.Duration) Options // OperationTimeout returns the timeout for node operations OperationTimeout() time.Duration // SetRetrier sets the retrier for node operations SetRetrier(xretry.Retrier) Options // OperationRetrier returns the retrier for node operations Retrier() xretry.Retrier // SetTransferBufferSize sets the bytes buffer size used during file transfer SetTransferBufferSize(int) Options // TransferBufferSize returns the bytes buffer size used during file transfer TransferBufferSize() int // SetMaxPullSize sets the max bytes retrieved from remote agents when // fetching output files SetMaxPullSize(int64) Options // MaxPullSize returns the max bytes retrieved from remote agents when // fetching output files MaxPullSize() int64 // SetHeartbeatOptions sets the HeartbeatOptions SetHeartbeatOptions(HeartbeatOptions) Options // HeartbeatOptions returns the HeartbeatOptions HeartbeatOptions() HeartbeatOptions // SetOperatorClientFn sets the OperatorClientFn SetOperatorClientFn(OperatorClientFn) Options // OperatorClientFn returns the OperatorClientFn OperatorClientFn() OperatorClientFn }
Options are the various knobs to control Node behavior
func NewOptions ¶
func NewOptions( opts instrument.Options, ) Options
NewOptions returns a new Options construct.
type RemoteOutputType ¶
type RemoteOutputType int
RemoteOutputType describes the various outputs available on the remote agents
const ( // RemoteProcessStdout refers to the remote process stdout RemoteProcessStdout RemoteOutputType = iota // RemoteProcessStderr refers to the remote process stderr RemoteProcessStderr )
type ServiceNode ¶
type ServiceNode interface { placement.Instance // Setup initializes the directories, config file, and binary for the process being tested. // It does not Start the process on the ServiceNode. Setup( build build.ServiceBuild, config build.ServiceConfiguration, token string, force bool, ) error // Start starts the service process for this ServiceNode. Start() error // Stop stops the service process for this ServiceNode. Stop() error // Status returns the ServiceNode status. Status() Status // Teardown releases any remote resources used for testing. Teardown() error // Close releases any locally held resources Close() error // RegisterListener registers an event listener RegisterListener(Listener) ListenerID // DeregisterListener un-registers an event listener DeregisterListener(ListenerID) // TransferLocalFile transfers a local file to the specified destination paths // NB: destPaths are not allowed to use relative path specifiers, i.e. '..' is illegal; // the eventual destination path on remote hosts is relative to the working directory // of the remote agent. // e.g. if the remote agent has working directory /var/m3em-agent, and we make the call: // svcNode.TransferLocalFile("some/local/file/path/id", []string{"path/id", "another/path/id"}) // // upon success, there will be two new files under the remote agent working directory: // /var/m3em-agent/ // /var/m3em-agent/path/id <-- same contents as "some/local/file/path/id" // /var/m3em-agent/another/path/id <-- same contents as "some/local/file/path/id" TransferLocalFile(localSrc string, destPaths []string, overwrite bool) error // GetRemoteOutput transfers the specified remote file to the specified path GetRemoteOutput(t RemoteOutputType, localDest string) (truncated bool, err error) }
ServiceNode represents an executable service node. This object controls both the service and resources on the host running the service (e.g. fs, processes, etc.)
type ServiceNodeFn ¶
type ServiceNodeFn func(ServiceNode) error
ServiceNodeFn performs an operation on a given ServiceNode
type Status ¶
type Status int
Status indicates the different states a ServiceNode can be in. The state diagram below describes the transitions between the various states:
┌──────────────────┐ │ │ ┌Teardown()─────│ Error │ │ │ │ │ └──────────────────┘ │ ▼
┌──────────────────┐ ┌───────────────-──┐ │ │ Setup() │ │ │ Uninitialized ├────────────────────────▶│ Setup │◀─┐ │ │◀───────────┐ │ │ │ └──────────────────┘ Teardown()└────────────└──────────────────┘ │
▲ │ │ │ │ │ │ │ │ │ Start() │ │ │ ┌─────────────┘ │ │ │ │ │ │ │ │ │ │ │ ▼ │ │ ┌──────────────────┐ │ │Teardown() │ │ | └────────────────────│ Running │────────────Stop() │ │ └──────────────────┘
const ( // StatusUninitialized refers to the state of an un-initialized node. StatusUninitialized Status = iota // StatusSetup is the state of a node which has been Setup() StatusSetup // StatusRunning is the state of a node which has been Start()-ed StatusRunning // StatusError is the state of a node which is in an Error state StatusError )