Class: Azure::ServiceFabric::V6_5_0_36::Models::ChaosParameters

Inherits:
Object
  • Object
show all
Includes:
MsRestAzure
Defined in:
lib/6.5.0.36/generated/azure_service_fabric/models/chaos_parameters.rb

Overview

Defines all the parameters to configure a Chaos run.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#chaos_target_filterChaosTargetFilter

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.

Returns:



83
84
85
# File 'lib/6.5.0.36/generated/azure_service_fabric/models/chaos_parameters.rb', line 83

def chaos_target_filter
  @chaos_target_filter
end

#cluster_health_policyClusterHealthPolicy

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.

Returns:



65
66
67
# File 'lib/6.5.0.36/generated/azure_service_fabric/models/chaos_parameters.rb', line 65

def cluster_health_policy
  @cluster_health_policy
end

#contextChaosContext

(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.

Returns:

  • (ChaosContext)

    Describes a map, which is a collection of



74
75
76
# File 'lib/6.5.0.36/generated/azure_service_fabric/models/chaos_parameters.rb', line 74

def context
  @context
end

#enable_move_replica_faultsBoolean

secondary faults. Default value: true .

Returns:

  • (Boolean)

    Enables or disables the move primary and move



42
43
44
# File 'lib/6.5.0.36/generated/azure_service_fabric/models/chaos_parameters.rb', line 42

def enable_move_replica_faults
  @enable_move_replica_faults
end

#max_cluster_stabilization_timeout_in_secondsInteger

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. Default value: 60 .

Returns:

  • (Integer)

    The maximum amount of time to wait for all cluster



27
28
29
# File 'lib/6.5.0.36/generated/azure_service_fabric/models/chaos_parameters.rb', line 27

def max_cluster_stabilization_timeout_in_seconds
  @max_cluster_stabilization_timeout_in_seconds
end

#max_concurrent_faultsInteger

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. Default value: 1 .

Returns:

  • (Integer)

    MaxConcurrentFaults is the maximum number of



38
39
40
# File 'lib/6.5.0.36/generated/azure_service_fabric/models/chaos_parameters.rb', line 38

def max_concurrent_faults
  @max_concurrent_faults
end

#time_to_run_in_secondsString

before automatically stopping. The maximum allowed value is 4,294,967,295 (System.UInt32.MaxValue). Default value: ‘4294967295’ .

Returns:

  • (String)

    Total time (in seconds) for which Chaos will run



18
19
20
# File 'lib/6.5.0.36/generated/azure_service_fabric/models/chaos_parameters.rb', line 18

def time_to_run_in_seconds
  @time_to_run_in_seconds
end

#wait_time_between_faults_in_secondsInteger

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. Default value: 20 .

Returns:

  • (Integer)

    Wait time (in seconds) between consecutive faults



51
52
53
# File 'lib/6.5.0.36/generated/azure_service_fabric/models/chaos_parameters.rb', line 51

def wait_time_between_faults_in_seconds
  @wait_time_between_faults_in_seconds
end

#wait_time_between_iterations_in_secondsInteger

iterations of Chaos. The larger the value, the lower the fault injection rate. Default value: 30 .

Returns:

  • (Integer)

    Time-separation (in seconds) between two consecutive



57
58
59
# File 'lib/6.5.0.36/generated/azure_service_fabric/models/chaos_parameters.rb', line 57

def wait_time_between_iterations_in_seconds
  @wait_time_between_iterations_in_seconds
end

Class Method Details

.mapperObject

Mapper for ChaosParameters class as Ruby Hash. This will be used for serialization/deserialization.



90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/6.5.0.36/generated/azure_service_fabric/models/chaos_parameters.rb', line 90

def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'ChaosParameters',
    type: {
      name: 'Composite',
      class_name: 'ChaosParameters',
      model_properties: {
        time_to_run_in_seconds: {
          client_side_validation: true,
          required: false,
          serialized_name: 'TimeToRunInSeconds',
          default_value: '4294967295',
          type: {
            name: 'String'
          }
        },
        max_cluster_stabilization_timeout_in_seconds: {
          client_side_validation: true,
          required: false,
          serialized_name: 'MaxClusterStabilizationTimeoutInSeconds',
          default_value: 60,
          constraints: {
            InclusiveMaximum: 4294967295,
            InclusiveMinimum: 0
          },
          type: {
            name: 'Number'
          }
        },
        max_concurrent_faults: {
          client_side_validation: true,
          required: false,
          serialized_name: 'MaxConcurrentFaults',
          default_value: 1,
          constraints: {
            InclusiveMaximum: 4294967295,
            InclusiveMinimum: 0
          },
          type: {
            name: 'Number'
          }
        },
        enable_move_replica_faults: {
          client_side_validation: true,
          required: false,
          serialized_name: 'EnableMoveReplicaFaults',
          default_value: true,
          type: {
            name: 'Boolean'
          }
        },
        wait_time_between_faults_in_seconds: {
          client_side_validation: true,
          required: false,
          serialized_name: 'WaitTimeBetweenFaultsInSeconds',
          default_value: 20,
          constraints: {
            InclusiveMaximum: 4294967295,
            InclusiveMinimum: 0
          },
          type: {
            name: 'Number'
          }
        },
        wait_time_between_iterations_in_seconds: {
          client_side_validation: true,
          required: false,
          serialized_name: 'WaitTimeBetweenIterationsInSeconds',
          default_value: 30,
          constraints: {
            InclusiveMaximum: 4294967295,
            InclusiveMinimum: 0
          },
          type: {
            name: 'Number'
          }
        },
        cluster_health_policy: {
          client_side_validation: true,
          required: false,
          serialized_name: 'ClusterHealthPolicy',
          type: {
            name: 'Composite',
            class_name: 'ClusterHealthPolicy'
          }
        },
        context: {
          client_side_validation: true,
          required: false,
          serialized_name: 'Context',
          type: {
            name: 'Composite',
            class_name: 'ChaosContext'
          }
        },
        chaos_target_filter: {
          client_side_validation: true,
          required: false,
          serialized_name: 'ChaosTargetFilter',
          type: {
            name: 'Composite',
            class_name: 'ChaosTargetFilter'
          }
        }
      }
    }
  }
end