Versions in this module Expand all Collapse all v1 v1.0.0 Dec 17, 2020 Changes in this version + const InvokeNemesis + const InvokeOperation + const RecoverNemesis + const ReturnOperation + func RegisterDB(db DB) + func RegisterNemesis(n Nemesis) + type ChaosKind string + const ContainerKill + const IOChaos + const NetemChaos + const NetworkPartition + const PDLeaderShuffler + const PDScheduler + const PodFailure + const PodKill + const Scaling + const TimeChaos + type Checker interface + Check func(m Model, ops []Operation) (bool, error) + Name func() string + func MultiChecker(name string, checkers ...Checker) Checker + type Client interface + DumpState func(ctx context.Context) (interface{}, error) + Invoke func(ctx context.Context, node cluster.ClientNode, r interface{}) UnknownResponse + NextRequest func() interface{} + SetUp func(ctx context.Context, nodes []cluster.Node, clientNodes []cluster.ClientNode, ...) error + Start func(ctx context.Context, cfg interface{}, clientNodes []cluster.ClientNode) error + TearDown func(ctx context.Context, nodes []cluster.ClientNode, idx int) error + type ClientCreator interface + Create func(node cluster.ClientNode) Client + type DB interface + Name func() string + SetUp func(ctx context.Context, nodes []cluster.Node, node cluster.Node) error + TearDown func(ctx context.Context, nodes []cluster.Node, node cluster.Node) error + func GetDB(name string) DB + type DelayNemesisGenerator struct + Delay time.Duration + Gen NemesisGenerator + func (d DelayNemesisGenerator) Generate(nodes []cluster.Node) []*NemesisOperation + func (d DelayNemesisGenerator) Name() string + type Model interface + Equal func(state1, state2 interface{}) bool + Init func() interface{} + Name func() string + Prepare func(state interface{}) + Step func(state interface{}, input interface{}, output interface{}) (bool, interface{}) + type Nemesis interface + Invoke func(ctx context.Context, node *cluster.Node, args ...interface{}) error + Name func() string + Recover func(ctx context.Context, node *cluster.Node, args ...interface{}) error + func GetNemesis(name string) Nemesis + type NemesisControl struct + func (n *NemesisControl) Rollback(ctx context.Context) + func (n *NemesisControl) Start(ctx context.Context) + func (n *NemesisControl) WaitForRollback(ctx context.Context) + func (n *NemesisControl) WaitForStart() + type NemesisGenerator interface + Generate func(nodes []cluster.Node) []*NemesisOperation + Name func() string + type NemesisGeneratorRecord struct + Name string + Ops []*NemesisOperation + type NemesisGenerators interface + HasNext func() bool + Next func() NemesisGenerator + Reset func() bool + func NewNemesisGenerators(gens []NemesisGenerator) NemesisGenerators + func NewOneRoundNemesisGenerators(gen NemesisGenerator) NemesisGenerators + type NemesisOperation struct + InvokeArgs []interface{} + NemesisControl *NemesisControl + Node *cluster.Node + RecoverArgs []interface{} + RunTime time.Duration + Type ChaosKind + func (n NemesisOperation) String() string + type NoopChecker struct + func (NoopChecker) Check(m Model, ops []Operation) (bool, error) + func (NoopChecker) Name() string + type NoopClientCreator struct + func (NoopClientCreator) Create(node cluster.Node) Client + type NoopDB struct + func (NoopDB) Name() string + func (NoopDB) SetUp(ctx context.Context, nodes []cluster.Node, node cluster.Node) error + func (NoopDB) TearDown(ctx context.Context, nodes []cluster.Node, node cluster.Node) error + type OneRoundNemesisGenerators struct + func (m *OneRoundNemesisGenerators) HasNext() bool + func (m *OneRoundNemesisGenerators) Next() NemesisGenerator + func (m *OneRoundNemesisGenerators) Reset() bool + type Operation struct + Action string + Data interface{} + Proc int64 + Time time.Time + type UnknownResponse interface + IsUnknown func() bool