ibm-information-center/dist/eclipse/plugins/i5OS.ic.rzaig_5.4.0.1/rzaigapplicationscallcrgexitprogram.htm

91 lines
6.1 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="concept" />
<meta name="DC.Title" content="Calling a cluster resource group exit program" />
<meta name="abstract" content="The cluster resource group exit program is called during different phases of a cluster environment." />
<meta name="description" content="The cluster resource group exit program is called during different phases of a cluster environment." />
<meta name="DC.Relation" scheme="URI" content="rzaigapplicationswritehighlyavailable.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzaigapplicationscallcrgexitprogram" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Calling a cluster resource group exit program</title>
</head>
<body id="rzaigapplicationscallcrgexitprogram"><a name="rzaigapplicationscallcrgexitprogram"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Calling a cluster resource group exit program</h1>
<div><p>The cluster resource group exit program is called during different
phases of a cluster environment.</p>
<p>This program establishes the environment necessary resiliency
for resources within a cluster. The exit program is optional for a resilient
device CRG but is required for the other CRG types. When a cluster resource
group exit program is used, it is called on the occurrence of cluster-wide
events, including when:</p>
<ul><li>A node leaves the cluster unexpectedly.</li>
<li>A node leaves the cluster as a result of the <a href="../apis/clcntendcn.htm"><span class="apiname">End Cluster Node (QcstEndClusterNode)</span> API </a> or <a href="../apis/clcntrmvcne.htm"><span class="apiname">Remove
Cluster Node Entry (QcstRemoveClusterNodeEntry)</span> API.</a></li>
<li>The cluster is deleted as a result of the <a href="../apis/clcntdltc.htm"><span class="apiname">Delete Cluster (QcstDeleteCluster)</span> API.</a></li>
<li>A node is activated by the <a href="../apis/clcntstcn.htm"><span class="apiname">Start Cluster Node (QcstStartClusterNode)</span> API.</a></li>
<li>Communication with a partitioned node is re-established.</li>
</ul>
<p>This exit program:</p>
<ul><li>Runs in a named activation group or the caller's activation group (*CALLER).</li>
<li>Ignores the restart parameter if the exit program has an unhandled exception
or is canceled.</li>
<li>Provides a cancel handler.</li>
</ul>
<p>When a cluster resource group API is run, the exit program is called from
a separate job with the user profile specified on the <span class="apiname">Create Cluster
Resource Group (QcstCreateClusterResourceGroup)</span> API. The separate
job is automatically created by the API when the exit program is called. If
the exit program for a data CRG is unsuccessful or ends abnormally, the cluster
resource group exit program is called on all active nodes in the recovery
domain with an action code of Undo. This action code allows any unfinished
activity to be backed out and the original state of the cluster resource group
to be recovered.</p>
<p>If the exit program for an application CRG is unsuccessful or ends abnormally,
cluster resource services will attempt to restart the application if the status
of the CRG is active. The cluster resource group exit program is called with
an action code of Restart. If the application cannot be restarted in the specified
maximum number of attempts, the cluster resource group exit program is called
with an action code of Failover. The restart count is reset only when the
exit program is called with an action code of start, which can be the result
of a start CRG, a failover, or a switchover.</p>
<p>When the cluster resource group is started, the application CRG exit program
called on the primary node is not to return control to cluster resource services
until the application itself ends or an error occurs. After an application
CRG is active, if cluster resource services must notify the application CRG
exit program of some event, another instance of the exit program is started
in a different job. Any other action code other than Start or Restart is expected
to return.</p>
<p>When a cluster resource group exit program is called, it is passed a set
of parameters that identify the cluster event being processed, the current
state of the cluster resources, and the expected state of the cluster resources.</p>
<p>For complete information about cluster resource group exit programs, including
what information is passed to the exit program for each action code, see <span class="apiname">Cluster
Resource Group Exit Program</span> in the Cluster API documentation. Sample
source code has been provided in the QUSRTOOL library which can be used as
a basis for writing an exit program. See the TCSTAPPEXT member in the QATTSYSC
file.</p>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzaigapplicationswritehighlyavailable.htm" title="A highly available application is one that can be resilient to a system outage in a clustered environment.">Writing a highly available cluster application</a></div>
</div>
</div>
</body>
</html>