ChaosParameters
Defines all the parameters to configure a Chaos run.
Properties
Name | Type | Required |
---|---|---|
TimeToRunInSeconds |
string | No |
MaxClusterStabilizationTimeoutInSeconds |
integer (int64) | No |
MaxConcurrentFaults |
integer (int64) | No |
EnableMoveReplicaFaults |
boolean | No |
WaitTimeBetweenFaultsInSeconds |
integer (int64) | No |
WaitTimeBetweenIterationsInSeconds |
integer (int64) | No |
ClusterHealthPolicy |
ClusterHealthPolicy | No |
Context |
ChaosContext | No |
ChaosTargetFilter |
ChaosTargetFilter | No |
TimeToRunInSeconds
Type: string
Required: No
Default: 4294967295
Total time (in seconds) for which Chaos will run before automatically stopping. The maximum allowed value is 4,294,967,295 (System.UInt32.MaxValue).
MaxClusterStabilizationTimeoutInSeconds
Type: integer (int64)
Required: No
Default: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 0
The maximum amount of time to wait for all cluster entities to become stable and healthy. Chaos executes in iterations and at the start of each iteration it validates the health of cluster entities.
During validation if a cluster entity is not stable and healthy within MaxClusterStabilizationTimeoutInSeconds, Chaos generates a validation failed event.
MaxConcurrentFaults
Type: integer (int64)
Required: No
Default: 1
InclusiveMaximum: 4294967295
InclusiveMinimum: 0
MaxConcurrentFaults is the maximum number of concurrent faults induced per iteration.
Chaos executes in iterations and two consecutive iterations are separated by a validation phase.
The higher the concurrency, the more aggressive the injection of faults, leading to inducing more complex series of states to uncover bugs.
The recommendation is to start with a value of 2 or 3 and to exercise caution while moving up.
EnableMoveReplicaFaults
Type: boolean
Required: No
Default: true
Enables or disables the move primary and move secondary faults.
WaitTimeBetweenFaultsInSeconds
Type: integer (int64)
Required: No
Default: 20
InclusiveMaximum: 4294967295
InclusiveMinimum: 0
Wait time (in seconds) between consecutive faults within a single iteration.
The larger the value, the lower the overlapping between faults and the simpler the sequence of state transitions that the cluster goes through.
The recommendation is to start with a value between 1 and 5 and exercise caution while moving up.
WaitTimeBetweenIterationsInSeconds
Type: integer (int64)
Required: No
Default: 30
InclusiveMaximum: 4294967295
InclusiveMinimum: 0
Time-separation (in seconds) between two consecutive iterations of Chaos.
The larger the value, the lower the fault injection rate.
ClusterHealthPolicy
Type: ClusterHealthPolicy
Required: No
Passed-in cluster health policy is used to validate health of the cluster in between Chaos iterations. If the cluster health is in error or if an unexpected exception happens during fault execution--to provide the cluster with some time to recuperate--Chaos will wait for 30 minutes before the next health-check.
Context
Type: ChaosContext
Required: No
Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about
the Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.
This map is set by the starter of the Chaos run to optionally store the context about the specific run.
ChaosTargetFilter
Type: ChaosTargetFilter
Required: No
List of cluster entities to target for Chaos faults.
This filter can be used to target Chaos faults only to certain node types or only to certain application instances. If ChaosTargetFilter is not used, Chaos faults all cluster entities.
If ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter specification.