Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
205 lines (205 sloc) 12.7 KB
<Type Name="ClusterHealthPolicy" FullName="System.Fabric.Health.ClusterHealthPolicy">
<TypeSignature Language="C#" Value="public class ClusterHealthPolicy" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ClusterHealthPolicy extends System.Object" />
<TypeSignature Language="DocId" Value="T:System.Fabric.Health.ClusterHealthPolicy" />
<TypeSignature Language="VB.NET" Value="Public Class ClusterHealthPolicy" />
<TypeSignature Language="F#" Value="type ClusterHealthPolicy = class" />
<AssemblyInfo>
<AssemblyName>System.Fabric</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>
<para>Defines a health policy used to evaluate the health of the cluster or of a cluster node.</para>
</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ClusterHealthPolicy ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Fabric.Health.ClusterHealthPolicy.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Fabric</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>
<para>Initializes a new instance of the <see cref="T:System.Fabric.Health.ClusterHealthPolicy" /> class.</para>
</summary>
<remarks>By default, no errors or warnings are tolerated.</remarks>
</Docs>
</Member>
<Member MemberName="ApplicationTypeHealthPolicyMap">
<MemberSignature Language="C#" Value="public System.Fabric.Health.ApplicationTypeHealthPolicyMap ApplicationTypeHealthPolicyMap { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Fabric.Health.ApplicationTypeHealthPolicyMap ApplicationTypeHealthPolicyMap" />
<MemberSignature Language="DocId" Value="P:System.Fabric.Health.ClusterHealthPolicy.ApplicationTypeHealthPolicyMap" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property ApplicationTypeHealthPolicyMap As ApplicationTypeHealthPolicyMap" />
<MemberSignature Language="F#" Value="member this.ApplicationTypeHealthPolicyMap : System.Fabric.Health.ApplicationTypeHealthPolicyMap" Usage="System.Fabric.Health.ClusterHealthPolicy.ApplicationTypeHealthPolicyMap" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Fabric</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Fabric.Health.ApplicationTypeHealthPolicyMap</ReturnType>
</ReturnValue>
<Docs>
<summary>
<para>
Gets the map with MaxPercentUnhealthyApplications per application type name.
</para>
</summary>
<value>
<para>The application type health policy map with MaxPercentUnhealthyApplications per application type name.</para>
</value>
<remarks>
<para>The application type health policy map can be used during cluster health evaluation to describe special application types.
By default, all applications are put into a pool and evaluated with <see cref="P:System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyApplications" />. If one or more application types are special
and should be treated in a different way, they can be taken out of the global pool and evaluated against the percentages associated with their application type name in the map.
For example, in a cluster there are thousands of applications of different types, and a few control application instances of a special application type.
The control applications should never be in error. So users can specify global MaxPercentUnhealthyApplications to 20% to tolerate some failures,
but for the application type "ControlApplicationType" set the MaxPercentUnhealthyApplications to 0.
This way, if some of the many applications are unhealthy, but below the global unhealthy percentage, the cluster would be evaluated to Warning.
A warning health state does not impact cluster upgrade or other monitoring triggered by Error health state.
But even one control application in error would make cluster health error, which can rollback or prevent a cluster upgrade. </para>&gt;
<para>For the application types defined in the map, all application instances are taken out of the global pool of applications.
They are evaluated based on the total number of applications of the application type, using the specific MaxPercentUnhealthyApplications from the map.
All the rest of the applications remain in the global pool and are evaluated with MaxPercentUnhealthyApplications.</para><para>To define entries for the specific application types in the cluster manifest, inside FabricSettings add entries
for parameters with name formed by prefix "ApplicationTypeMaxPercentUnhealthyApplications-" followed by application type name.</para><para>If no policy is specified for an application type, the default MaxPercentUnhealthyApplications is used for evaluation.</para><para>The application type health evaluation is done only when the cluster is configured with EnableApplicationTypeHealthEvaluation <languageKeyword>true</languageKeyword>.
The setting is disabled by default.
</para></remarks>
</Docs>
</Member>
<Member MemberName="ConsiderWarningAsError">
<MemberSignature Language="C#" Value="public bool ConsiderWarningAsError { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool ConsiderWarningAsError" />
<MemberSignature Language="DocId" Value="P:System.Fabric.Health.ClusterHealthPolicy.ConsiderWarningAsError" />
<MemberSignature Language="VB.NET" Value="Public Property ConsiderWarningAsError As Boolean" />
<MemberSignature Language="F#" Value="member this.ConsiderWarningAsError : bool with get, set" Usage="System.Fabric.Health.ClusterHealthPolicy.ConsiderWarningAsError" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Fabric</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>
<para>Gets or sets a <see cref="T:System.Boolean" /> that determines whether�reports with warning state should be treated with the same severity as errors.</para>
</summary>
<value>
<para>
<languageKeyword>true</languageKeyword> if reports with warning state should be treated as errors; <languageKeyword>false</languageKeyword> if warnings
should not be treated as errors.</para>
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="MaxPercentUnhealthyApplications">
<MemberSignature Language="C#" Value="public byte MaxPercentUnhealthyApplications { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance unsigned int8 MaxPercentUnhealthyApplications" />
<MemberSignature Language="DocId" Value="P:System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyApplications" />
<MemberSignature Language="VB.NET" Value="Public Property MaxPercentUnhealthyApplications As Byte" />
<MemberSignature Language="F#" Value="member this.MaxPercentUnhealthyApplications : byte with get, set" Usage="System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyApplications" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Fabric</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Byte</ReturnType>
</ReturnValue>
<Docs>
<summary>
<para>Gets or sets the maximum allowed percentage of unhealthy applications.</para>
</summary>
<value>
<para>The maximum allowed percentage of unhealthy applications. Allowed values are integer values from zero to 100.</para>
</value>
<remarks>
<para>
The percentage represents the maximum tolerated percentage of applications that can be unhealthy
before the cluster is considered in error. If the percentage is respected but there is at least one unhealthy application,
the health is evaluated as Warning.
This is calculated by dividing the number of unhealthy applications
over the total number of applications deployed in the cluster, excluding all applications of application types
that are included in the <see cref="T:System.Fabric.Health.ApplicationTypeHealthPolicyMap" />.
The computation rounds up to tolerate one failure on small numbers of applications. Default percentage: zero.
</para>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">
<para>The specified value was outside the range of integer values from zero to 100.</para>
</exception>
</Docs>
</Member>
<Member MemberName="MaxPercentUnhealthyNodes">
<MemberSignature Language="C#" Value="public byte MaxPercentUnhealthyNodes { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance unsigned int8 MaxPercentUnhealthyNodes" />
<MemberSignature Language="DocId" Value="P:System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes" />
<MemberSignature Language="VB.NET" Value="Public Property MaxPercentUnhealthyNodes As Byte" />
<MemberSignature Language="F#" Value="member this.MaxPercentUnhealthyNodes : byte with get, set" Usage="System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Fabric</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Byte</ReturnType>
</ReturnValue>
<Docs>
<summary>
<para>Gets or sets the maximum allowed percentage of unhealthy nodes.</para>
</summary>
<value>
<para>The maximum allowed percentage of unhealthy nodes. Allowed values are integer values from zero to 100.</para>
</value>
<remarks>
<para>
The percentage represents the maximum tolerated percentage of nodes that can be unhealthy
before the cluster is considered in error. If the percentage is respected but there is at least one unhealthy node,
the health is evaluated as Warning.
This is calculated by dividing the number of unhealthy nodes
over the total number of nodes in the cluster.
The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage: zero.
</para>
<para>In large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.</para>
</remarks>
<exception cref="T:System.ArgumentOutOfRangeException">
<para>The specified value was outside the range of integer values from zero to 100.</para>
</exception>
</Docs>
</Member>
<Member MemberName="ToString">
<MemberSignature Language="C#" Value="public override string ToString ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Fabric.Health.ClusterHealthPolicy.ToString" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function ToString () As String" />
<MemberSignature Language="F#" Value="override this.ToString : unit -&gt; string" Usage="clusterHealthPolicy.ToString " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Fabric</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>
Gets a string representation of the cluster health policy.
</summary>
<returns>A string representation of the cluster health policy.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>
You can’t perform that action at this time.