Skip to content

Using State Change Propagations and Validations#

Overview#

In this section, it's described how to use the resource state change propagation and validation in Resource Clusters. A Resource Cluster consists of different Sub-Resource groups which may consist of resources of type Process, LoadPorts, ConsumableFeeds and Components. The affiliation to a particular Resource Group is defined by the Resource Group property of the Resource that is a free text field. If a Resource has no Resource Group it's not considered for the purpose of Resource State Change propagations and validations.

Whenever a Resource state change takes place, if the Resource property ValidateDown is set, the system will call the business rule ResourceValidateDown to check whether the state change is valid according to the cluster configuration and sub-resource current states. If the Resource property PropagateUp is set, the system will propagate the state change by calling the business rule ResourcePropagateUp. The standard ResourceValidateDown and ResourcePropagateUp provides a certain behavior - described later in this section - but the customer can override this behavior by implementing their own logic.

Resource cluster

The system standard business rules are based only on the SystemState property of the Resource. At each Resource Group level, the following rules apply:

Group State Condition Validate down Propagate up
Down No group member is up and at least one group member is down Checked Checked
Non-scheduled All group members are Non Scheduled Not Checked Checked
Up At least one group member is up Not Checked Checked

Table: Resource Group level rules

At the Resource Cluster level (which represents the state of all Resource Groups that belong to the Resource Cluster), the following rules apply:

Cluster State Condition Validate down Propagate up
Down At least one group is Down Not Checked Checked
Non-scheduled At least one group is Non-Scheduled and no group is Down Not Checked Checked
Up All groups are Up Checked Checked

Table: Resource Cluster level rules

Validate Down#

The standard ResourceValidateDown business rule makes only one check, that the Resource Cluster is not changed to an Up state if the there is one Resource Group which is Down.

Propagate Up#

The standard ResourcePropagateUp business rule implements the following logic:

  1. It tests if the current Resource system state has changed as the result of the state change. If it has not changed, the business rule exits gracefully.

  2. It tests if the current Resource Group state has changed (using the Group State rules above) as a result of the state change of the current Resource.If it has not changed, the business rule exits gracefully.

  3. For each Parent of the Resource (the Parent representing the Cluster), the rule will evaluate whether the system of the Parent must change (using the Cluster State rules above). If it has not changed, the business rule exits gracefully.

  4. If the Parent state change must change, the system tries to change the state using the following methods in the following sequence:

  5. Applying the same state transition

  6. Adjust the state

  7. Set the system state