Starting with PlateSpin® Orchestrate 2.0, the Resource grid object, the VM host grid object, the User grid object and the Repository grid object each has an attribute or “Fact” that denotes the health of the object.
resource.health
vmhost.health
user.health
repository.health
Empirically, object health is a simple Boolean value, with True indicating that the object is healthy. This value can be controlled in a number of ways. An unhealthy object is displayed in the PlateSpin Orchestrate Development Client with a red cross to signal the object’s condition.
Figure A-1 Tree View of Repository Grid Objects in the “all” Group, Some Objects Unhealthy
You can define what constitutes the health or non-health of the grid object by setting this health fact. The health fact can be set or cleared in several ways:
Explicitly set or cleared by the administrator using tools in the PlateSpin Orchestrate Development Client.
Select any grid object in the Development Client, then click the
tab in the Workspace view. This is the “info” attribute editor. The attributes on this page let you edit facts.The object information panel of the page has a
check box that you can select or deselect to set the health of the object.Figure A-2 The “Healthy” Check box on the Info/Groups Page
On the Constraint/Fact fact page of a grid object, right click the xxx.health fact name, then click to open the Edit Fact dialog box.
Figure A-3 The Edit Fact Dialog Box Displayed from the Constraint/Fact Page
You can set the health of the object by selecting or deselecting the health check box. Changing the value in the Development Client in this way has an immediate effect unless the value is overriden by an attached policy (this follows the normal rules of policy inheritance).
Set by using a discovery job (a job periodically scheduled to run on resources and to explicitly set the health fact, much like it sets other discovered facts). In this case, the discovery job performs a setFact (xxx.health) from JDL code.
Set by using a policy. This method has little practical use except for locking the value immediately to override the setting (that is, the typical policy behavior) on the grid object:
<policy> <fact name="resource.health" value="true" type="boolean" /> </policy>
Set by using a computed fact. This method can be used to monitor the health according to a computed value. One applied scenario for this method might be a computed fact that performs a statistical analysis of historical load data, perhaps provided by the Metrics facility.
Set automatically by using a health constraint. This is the most practical use and is best illustrated with examples.
Example 1: Define resources as “unhealthy” if their 10 minute load average is greater than 5>
<policy> <constraint type="health"> <lt fact="resource.metrics.loadaverage.history.10_min" value="5.0" /> </constraint> </policy>
You could attach this policy directly to the Resource grid object or to a Resource group (more practical).
Example 2: Define a user as unhealthy if he or she has no money in their account.
<policy> <constraint type="health"> <ge fact="user.account.balance" value="0" /> </constraint> </policy>
You could attach this policy directly to the User grid object, or to a User group (more practical).
You can aggregate (that is, group together with “and” or “or”) health constraints by using normal rules of policy aggregation.
By default, PlateSpin Control runs health constraints every 30 seconds. To alter this interval, you must contact Novell Support.