ChaosTargetFilter
Definiert alle Filter für gezielte Chaosfehler, z. B. nur bestimmte Knotentypen oder nur bestimmte Anwendungen. Wenn „ChaosTargetFilter“ nicht verwendet wird, stört Chaos alle Clusterentitäten. Wenn „ChaosTargetFilter“ verwendet wird, stört Chaos nur die Entitäten, die der ChaosTargetFilter-Spezifikation entsprechen. NodeTypeInclusionList und ApplicationInclusionList gestatten lediglich eine Vereinigungssemantik. Es ist nicht möglich, eine Schnittmenge von NodeTypeInclusionList und ApplicationInclusionList anzugeben. Es ist beispielsweise nicht möglich, Folgendes anzugeben: „Diese Anwendung nur bemängeln, wenn sie sich auf diesem Knotentyp befindet“. Sobald eine Entität entweder in „NodeTypeInclusionList“ oder „ApplicationInclusionList“ enthalten ist, kann diese Entität nicht mit „ChaosTargetFilter“ ausgeschlossen werden. Selbst wenn „applicationX“ nicht in „ApplicationInclusionList“ enthalten ist, kann „applicationX“ in manchen Chaos-Iterationen fehlerhaft sein, da es sich anscheinend auf einem Knoten von „nodeTypeY“ befindet, der in „NodeTypeInclusionList“ enthalten ist. Wenn sowohl „NodeTypeInclusionList“ als auch „ApplicationInclusionList“ NULL oder leer sind, wird „ArgumentException“ ausgelöst.
Eigenschaften
Name | type | Erforderlich |
---|---|---|
NodeTypeInclusionList |
Array von String | Nein |
ApplicationInclusionList |
Array von String | Nein |
NodeTypeInclusionList
Typ: Array von String
Erforderlich: Nein
Eine Liste von Knotentypen, die in Chaosfehler einbezogen werden sollen.
Für die Knoten dieser Knotentypen sind alle Arten von Fehlern („Knoten neu starten“, „Codepaket neu starten“, „Replikat entfernen“, „Replikat neu starten“, „primäres Replikat verschieben“ und „sekundäres Replikat verschieben“) aktiviert.
Wenn ein Knotentyp (z. B. NodeTypeX) nicht in der NodeTypeInclusionList angezeigt wird, werden Fehler auf Knotenebene (z. B. NodeRestart) nie für die Knoten von NodeTypeX aktiviert, aber Codepaket- und Replikatfehler können weiterhin für NodeTypeX aktiviert werden, wenn eine Anwendung in applicationInclusionList vorhanden ist.
befindet sich auf einem Knoten von NodeTypeX.
Es können maximal 100 Knotentypnamen in diese Liste aufgenommen werden. Um diese Zahl zu erhöhen, ist ein Upgrade der MaxNumberOfNodeTypesInChaosEntityFilter-Konfiguration erforderlich.
ApplicationInclusionList
Typ: Array von String
Erforderlich: Nein
Eine Liste von Anwendungs-URLs, die in Chaosfehler einbezogen werden sollen.
Alle Replikate, die zu den Diensten dieser Anwendungen gehören, sind durch Chaos für Replikatfehler anfällig („Replikat neu starten“, „Replikat entfernen“, „primäres Replikat verschieben“ und „sekundäres Replikat verschieben“).
Chaos startet ein Codepaket möglicherweise nur neu, wenn das Codepaket nur Replikate dieser Anwendungen hostet.
Wenn eine Anwendung nicht in dieser Liste enthalten ist, kann sie dennoch in einer Chaos-Iteration gestört werden, wenn die Anwendung auf einem Knoten eines Knotentyps landet, der in NodeTypeInclusionList enthalten ist.
Wenn applicationX jedoch durch Platzierungseinschränkungen an nodeTypeY gebunden ist und applicationX in ApplicationInclusionList nicht vorhanden ist und nodeTypeY in NodeTypeInclusionList fehlt, wird applicationX nie fehlerhaft.
Es können maximal 1.000 Anwendungsnamen in diese Liste aufgenommen werden. Um diese Zahl zu erhöhen, ist ein Upgrade der MaxNumberOfApplicationsInChaosEntityFilter-Konfiguration erforderlich.