ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/clrgdltcrg.htm

553 lines
16 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Delete Cluster Resource Group (QcstDeleteClusterResourceGroup)
API</title>
<!-- Begin Header Records ========================================== -->
<!-- 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. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- CLUST3A SCRIPT A converted by B2H R4.1 (346) (CMS) by NLJONES at -->
<!-- RCHVMX on 24 Feb 1999 at 17:23:22 -->
<!-- Edited by Kersten Oct 2001 -->
<!-- End Header Records -->
<!-- -->
<!-- -->
<!-- -->
<!-- Begin Developer Note ========================================== -->
<!-- NOTE: If you are adding, changing, or removing ANY requirements -->
<!-- for this API chance are good that the GUI code need to change -->
<!-- also. The Cluster GUI code is built on top of this API and it -->
<!-- does a certain amount of explicit and implicit validation -->
<!-- checking of user data prior to the API call being made. Please -->
<!-- have the Cluster GUI developer check the -->
<!--/as400/v5r4m0.guix/cur/cmvc/java.pgm/ugcl.guix/com/ibm/as400/opnav/ugcl/ClGuiActionsManager.java/ClGuiActionsManager.java -->
<!-- part to determine if any Cluster GUI code changes are needed. -->
<!-- End Developer Note -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!--Java sync-link-->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<a name="Top_Of_Page"></a>
<h2>Delete Cluster Resource Group (QcstDeleteClusterResourceGroup) API</h2>
<div class="box" style="width: 70%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Request handle</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Char(16)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Cluster name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Cluster resource group name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Results information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(30)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Error code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Service Program: QCSTCRG1<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *EXCLUDE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Delete Cluster Resource Group API deletes a cluster resource group from
all nodes in the recovery domain.
</p>
<p>The cluster resource group object is marked for deletion and is deleted on
each active cluster node. The cluster resource group object will be deleted on
other nodes in the cluster when they become active. If an exit program is
specified for the cluster resource group, the cluster resource group exit
program is called on each active node in the recovery domain with an action
code of Verification Phase (5)
and action code dependent data of Delete (12). This gives the exit program the
ability to verify the exit program. If this call returns with a failure, the
delete request will not proceed. If this call returns with success, the exit
program will be called with
Delete (7). The cluster resource group status is set to Delete Pending (550).
The cluster resource group will be deleted even if the exit program fails. This
API will never call the cluster resource group exit program with an action code
of Undo (15).</p>
<p>The <a href="../cl/dltcrg.htm">Delete Cluster Resource Group (DLTCRG)</a>
command can be used to delete a cluster resource group object on a system that
does not have Cluster Resource Services active.</p>
<p>Deleting a device cluster resource group will not change the ownership of
devices. The devices remain on whatever nodes owns them at the time of the
delete.</p>
<p>If Cluster Resource Services configured the takeover IP address for an
application cluster resource group and the IP interface is not active, the
takeover IP address will be removed. If Cluster Resource Services finds that
the takeover IP address is active, the API will fail with an error message.</p>
<p>This API requires:</p>
<ol>
<li>Cluster Resource Services active on the node processing the request.</li>
<li>Cluster resource group status must not be Active (10).</li>
</ol>
<p>This API operates in an asynchronous mode. See <a href=
"clust1a3.htm#HDRASYMOD">Behavior of Cluster Resource Services APIs</a> for
more information.</p>
<p><strong>Restriction:</strong> This API cannot be called from a cluster
resource group exit program.</p>
<br>
<h3>Authorities and Locks</h3>
<p>The program that calls this API must be running under a user profile with
*IOSYSCFG special authority.</p>
<dl>
<dt><em>Cluster Resource Group Authority</em></dt>
<dd>*OBJEXIST, *USE<br>
<br>
</dd>
<dt><em>Cluster Resource Group Library Authority</em></dt>
<dd>*EXECUTE<br>
<br>
</dd>
<dt><em>Cluster Resource Group Lock</em></dt>
<dd>*EXCL<br>
<br>
</dd>
<dt><em>Exit Program Authority <img src="delta.gif" alt="Start of change"> (applies
to user profile calling the API and user
profile to run the exit program)<img src="deltaend.gif" alt="End of change"> </em></dt>
<dd>*EXECUTE<br>
<br>
</dd>
<dt><em>Exit Program Library Authority <img src="delta.gif" alt="Start of change"> (applies to user profile calling the API and user
profile to run the exit program)<img src="deltaend.gif" alt="End of change"> </em></dt>
<dd>*EXECUTE<br>
<br>
</dd>
<dt><em>User Profile Authority <img src="delta.gif" alt="Start of change">(applies to user profile to run the exit program)<img src="deltaend.gif" alt="End of change"></em></dt>
<dd>*USE<br>
<br>
</dd>
<dt><em>Request Information User Queue Authority</em></dt>
<dd>*OBJOPR, *ADD<br>
<br>
</dd>
<dt><em>Request Information User Queue Library Authority</em></dt>
<dd>*EXECUTE<br>
<br>
</dd>
<dt><em>Request Information User Queue Lock</em></dt>
<dd>*EXCLRD</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Request handle</strong></dt>
<dd>OUTPUT; CHAR(16)
<p>A unique string or handle that identifies this API call. It is used to
associate this call to any responses placed on the user queue specified in the
results information parameter.</p>
</dd>
<dt><strong>Cluster name</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the cluster containing the cluster resource group.</p>
</dd>
<dt><strong>Cluster resource group name</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the cluster resource group.</p>
</dd>
<dt><strong>Results information</strong></dt>
<dd>INPUT; CHAR(30)
<p>This parameter identifies a qualified user queue field and is followed by a
reserved field.</p>
<p>Qualified user queue: Completion information is returned to this user queue,
which exists on the node from which the API was called, after the function has
completed on all active nodes in the cluster. See the <a href="#usage_notes">
Usage Notes</a> section of this API for a description of the data that is
placed on this queue. This is a 20-character field. The first 10 characters
contain the user queue name, and the second 10 characters contain the user
queue library name. No special values are supported. QTEMP, *LIBL, *CURLIB are
not valid library names. The attributes of this user queue must be keyed.</p>
<p>Reserved: The last 10 characters of the 30-character results information are
reserved. Each character in this field must be set to hexadecimal zero.</p>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
</dd>
</dl>
<br>
<h3><a name="usage_notes">Usage Notes</a></h3>
<h3>Results Information User Queue</h3>
<p>Asynchronous results are returned to a user queue specified by the Results
Information parameter of the API. See <a href="clust1a4.htm">Cluster APIs Use
of User Queues</a> and <a href="clust1a5.htm">Using Results Information</a> for
details on how to create the results information user queue, the format of the
entries, and how to use the data placed on the queue. The data is sent to the
user queue in the form of a message identifier and the substitution data for
the message (if any exists). The following identifies the data sent to the user
queue (excluding the message text).</p>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">CPCBB01 C</td>
<td align="left" valign="top" width="85%">Cluster Resource Services API &amp;1
completed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF18BA D</td>
<td align="left" valign="top">Error occurred with subsystem.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2113 E</td>
<td align="left" valign="top">Cannot allocate library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2204 D</td>
<td align="left" valign="top">User profile &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF2 D</td>
<td align="left" valign="top">Error(s) occurred during running of &amp;1
API.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 D</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 D</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9803 D</td>
<td align="left" valign="top">Cannot allocate object &amp;2 in library
&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9804 D</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9810 D</td>
<td align="left" valign="top">Library &amp;1 not found</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB02 D</td>
<td align="left" valign="top">Cluster &amp;1 does not exist.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB0F D</td>
<td align="left" valign="top">Cluster resource group &amp;1 does not exist in
cluster &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB18 D</td>
<td align="left" valign="top">Request &amp;1 not allowed for cluster resource
group &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB2C D</td>
<td align="left" valign="top">Attributes of exit program &amp;1 in library
&amp;2 are not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB2D D</td>
<td align="left" valign="top">Timeout detected while waiting for a
response.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB2E D</td>
<td align="left" valign="top">Job submission failed for cluster resource group
&amp;1 in cluster &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB39 D</td>
<td align="left" valign="top">Current user does not have IOSYSCFG special
authority.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB46 D</td>
<td align="left" valign="top">Cluster resource service internal error.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB47 D</td>
<td align="left" valign="top">Cluster Resource Services ended abnormally.</td>
</tr>
<tr>
<td align="left" valign="top">CPIBB10 D</td>
<td align="left" valign="top">Cluster resource group exit program &amp;1 in
library &amp;2 on node &amp;3 failed.</td>
</tr>
</table>
<br>
<br>
<h3>Error Messages</h3>
<p>Messages that are delivered through the error code parameter are listed
here. The data (messages) sent to the results information user queue are listed
in the <a href="#usage_notes">Usage Notes</a> above.</p>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">CPF2113 E</td>
<td align="left" valign="top" width="85%">Cannot allocate library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2204 E</td>
<td align="left" valign="top">User profile &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF24B4 E</td>
<td align="left" valign="top">Severe error while addressing parameter
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C1E E</td>
<td align="left" valign="top">Required parameter &amp;1 omitted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF2 E</td>
<td align="left" valign="top">Error(s) occurred during running of &amp;1
API.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 E</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9803 D</td>
<td align="left" valign="top">Cannot allocate object &amp;2 in library
&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">
CPF9804 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF980C E</td>
<td align="left" valign="top">Object &amp;1 in library &amp;2 cannot be in an
independent auxiliary storage pool.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9810 E</td>
<td align="left" valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9820 E</td>
<td align="left" valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td align="left" valign="top">Program or service program &amp;1 in library
&amp;2 ended. Reason code &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB02 E</td>
<td align="left" valign="top">Cluster &amp;1 does not exist.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB0F E</td>
<td align="left" valign="top">Cluster resource group &amp;1 does not exist in
cluster &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB26 E</td>
<td align="left" valign="top">Cluster Resource Services not active or not
responding.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB2C E</td>
<td align="left" valign="top">Attributes of exit program &amp;1 in library
&amp;2 are not valid.</td>
</tr>
<tr>
<td align="left" valign="top">
CPFBB32 E</td>
<td align="left" valign="top">Attributes of user queue &amp;1 in library &amp;2
are not valid. </td>
</tr>
<tr>
<td align="left" valign="top">CPFBB39 E</td>
<td align="left" valign="top">Current user does not have IOSYSCFG special
authority.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB44 E</td>
<td align="left" valign="top">&amp;1 API cannot be called from a cluster
resource group exit program.</td>
</tr>
</table>
<br>
<hr>
API introduced: V4R4
<hr>
<center>
<table align="center" cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"clust1a1.htm">Cluster APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table></center>
</body>
</html>