Skip to content

Commit 56a5716

Browse files
authored
Merge pull request #55594 from jagilber/patch-3
modify service-fabric-sfctl-chaos.md add example for --app-type-healt…
2 parents bd9903d + fcc930e commit 56a5716

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

articles/service-fabric/service-fabric-sfctl-chaos.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ If Chaos is not already running in the cluster, it starts Chaos with the passed
7878

7979
|Argument|Description|
8080
| --- | --- |
81-
| --app-type-health-policy-map | JSON encoded list with max percentage unhealthy applications for specific application types. Each entry specifies as a key the application type name and as a value an integer that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type. <br><br> Defines a map with max percentage unhealthy applications for specific application types. Each entry specifies as key the application type name and as value an integer that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type. The application type health policy map can be used during cluster health evaluation to describe special application types. The application types included in the map are evaluated against the percentage specified in the map, and not with the global MaxPercentUnhealthyApplications defined in the cluster health policy. The applications of application types specified in the map are not counted against the global pool of applications. For example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type and assign it a value of 0% (that is, do not tolerate any failures). All other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances. The application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation. |
81+
| --app-type-health-policy-map | JSON encoded array of dictionary (key / value) entries with max percentage unhealthy applications for specific application types. Each dictionary entry specifies as a key the application type name and an integer for value that represents the MaxPercentUnhealthyApplications percentage used to evaluate the applications of the specified application type. <br><br> Defines a map with max percentage unhealthy applications for specific application types. The application type health policy map can be used during cluster health evaluation to describe individual application types. The application types included in the map are evaluated against the percentage specified in the map, and not with the global MaxPercentUnhealthyApplications defined in the cluster health policy. The applications of application types specified in the map are not counted against the global pool of applications. For example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type and assign it a value of 0% (do not tolerate any failures). All other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances. The application type health policy map is used only if the cluster manifest enables application type health evaluation using the configuration entry for HealthManager/EnableApplicationTypeHealthEvaluation. <br><br> Example JSON encoded string: [{\"key\": \"fabric:/Voting\", \"value\": \"0\"}] |
8282
| --chaos-target-filter | JSON encoded dictionary with two string type keys. The two keys are NodeTypeInclusionList and ApplicationInclusionList. Values for both of these keys are list of string. chaos_target_filter defines all filters for targeted Chaos faults, for example, faulting only certain node types or faulting only certain applications. <br><br> If chaos_target_filter is not used, Chaos faults all cluster entities. If chaos_target_filter is used, Chaos faults only the entities that meet the chaos_target_filter specification. NodeTypeInclusionList and ApplicationInclusionList allow a union semantics only. It is not possible to specify an intersection of NodeTypeInclusionList and ApplicationInclusionList. For example, it is not possible to specify "fault this application only when it is on that node type." Once an entity is included in either NodeTypeInclusionList or ApplicationInclusionList, that entity cannot be excluded using ChaosTargetFilter. Even if applicationX does not appear in ApplicationInclusionList, in some Chaos iteration applicationX can be faulted because it happens to be on a node of nodeTypeY that is included in NodeTypeInclusionList. If both NodeTypeInclusionList and ApplicationInclusionList are empty, an ArgumentException is thrown. All types of faults (restart node, restart code package, remove replica, restart replica, move primary, and move secondary) are enabled for the nodes of these node types. If a node type (say NodeTypeX) does not appear in the NodeTypeInclusionList, then node level faults (like NodeRestart) will never be enabled for the nodes of NodeTypeX, but code package and replica faults can still be enabled for NodeTypeX if an application in the ApplicationInclusionList happens to reside on a node of NodeTypeX. At most 100 node type names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfNodeTypesInChaosEntityFilter configuration. All replicas belonging to services of these applications are amenable to replica faults (restart replica, remove replica, move primary, and move secondary) by Chaos. Chaos may restart a code package only if the code package hosts replicas of these applications only. If an application does not appear in this list, it can still be faulted in some Chaos iteration if the application ends up on a node of a node type that is included in NodeTypeInclusionList. However if applicationX is tied to nodeTypeY through placement constraints and applicationX is absent from ApplicationInclusionList and nodeTypeY is absent from NodeTypeInclusionList, then applicationX will never be faulted. At most 1000 application names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfApplicationsInChaosEntityFilter configuration. |
8383
| --context | JSON encoded map 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. |
8484
| --disable-move-replica-faults | Disables the move primary and move secondary faults. |
@@ -126,4 +126,4 @@ Stops Chaos from executing new faults. In-flight faults will continue to execute
126126

127127
## Next steps
128128
- [Setup](service-fabric-cli.md) the Service Fabric CLI.
129-
- Learn how to use the Service Fabric CLI using the [sample scripts](/azure/service-fabric/scripts/sfctl-upgrade-application).
129+
- Learn how to use the Service Fabric CLI using the [sample scripts](/azure/service-fabric/scripts/sfctl-upgrade-application).

0 commit comments

Comments
 (0)