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

1028 lines
32 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">
<!-- 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 -->
<!-- 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">
<title>Add Cluster Resource Group Device Entry (QcstAddClusterResourceGroupDev)
API</title>
</head>
<body>
<!--Java sync-link-->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<a name="Top_Of_Page"></a>
<h2>Add Cluster Resource Group Device Entry (QcstAddClusterResourceGroupDev)
API</h2>
<div class="box" style="width: 80%;">
<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">Configuration object entry information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Format name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">6</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">7</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 Add Cluster Resource Group Device Entry (QcstAddClusterResourceGroupDev)
API adds one or more configuration objects representing hardware devices to a
device cluster resource group. All devices being added must be able to be
switched from one cluster node to another,
unless for cross-site mirroring where a site only has one node.
</p>
<p>If the cluster resource group
contains any members of an auxiliary storage pool group, it must contain
<strong>all</strong> members before the cluster resource group can be started.
All members do not have to be specifed at once. Additional members can be added
later. If the auxiliary storage pool group has previously been created and
clustering can determine which members are in the group, a warning message is
sent if some members of the group were not added.</p>
<p>If an exit program is specified for the cluster resource group, the cluster
resource group exit program is called with an action code of Add Device Entry
(17) on all active nodes in the recovery domain. The cluster resource group
status is set to Add Device Entry Pending (590). If the exit program completes
successfully, the cluster resource group status is reset to its value at the
time the API was called. If the exit program fails and the cluster resource
group cannot be restored to its original condition, the cluster resource group
status is set to Indoubt (30).</p>
<p>This API requires:</p>
<ol>
<li>Only auxiliary storage pool devices are supported.</li>
<li>Cluster Resource Services must be active on the node processing the
request.</li>
<li>The number of configuration objects being added plus the number of
configuration objects already in the cluster resource group cannot exceed
256.</li>
<li>The configuration object for the devices being added must exist on all
nodes in the recovery domain of the cluster resource group.</li>
<li>The resource name specified in the configuration object must be the same on
all nodes in the recovery domain.</li>
<li>If a data base name is
specified in the configuration object, it must be the same on all nodes in the
recovery domain.</li>
<li>If a new auxiliary storage pool group is added to an active cluster
resource group, all members of the group must be specified.</li>
<li>If a server takeover IP address is specified, it must exist on all nodes in
the recovery domain if the cluster resource group is active. The server
takeover IP address must be unique. It can only be associated with a primary
auxiliary storage pool.</li>
<li>The configuration objects being added cannot be specified in another
cluster resource group.</li>
<li>Devices attached to the same IOP or high-speed link I/O bridge can be
specified for only one cluster resource group.
For cross-site mirroring which only has one node at a site, this requirement does not apply.
</li>
<li>If devices attached to different IOPs or high-speed link I/O bridges are
grouped such as for an auxiliary storage pool, all devices for the affected
IOPs or high-speed link I/O bridges must be specified in the same cluster
resource group.
For cross-site mirroring which only has one node at a site, this requirement does not apply.
</li>
<li>The IOP or high-speed link I/O bridge controlling the devices specified in
a cluster resource group must be accessible by all nodes in the cluster
resource group's recovery domain
or by all nodes within the same site (for cross-site mirroring).
This is verified if sufficient hardware
configuration has been performed so that all nodes are aware of the new
hardware. If hardware configuration is incomplete, this is verified when the <a
href="clrgstcrg.htm">Start Cluster Resource Group API</a> is called.</li>
<li>If the primary node does not currently own the specified devices, the API
fails with an error message.</li>
<li>If an exit program is specified, the exit program must exist on all nodes
in the recovery domain.</li>
<li>All nodes in the recovery domain must be active.</li>
</ol>
<p>This API operates in an asynchronous mode. See <a href=
"clust1a3.htm#HDRASYMOD">Cluster Resource Services APIs Behavior</a> for more
information.</p>
<p><strong>Restriction:</strong> This API cannot be called from a cluster
resource group exit program.</p>
<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>*CHANGE</dd>
<dt><em>Cluster Resource Group Library Authority</em></dt>
<dd>*EXECUTE</dd>
<dt><em>Cluster Resource Group Lock</em></dt>
<dd>*EXCL</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</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</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</dd>
<dt><em>Request Information User Queue Authority</em></dt>
<dd>*OBJOPR, *ADD</dd>
<dt><em>Request Information User Queue Library Authority</em></dt>
<dd>*EXECUTE</dd>
<dt><em>Request Information User Queue Lock</em></dt>
<dd>*EXCLRD</dd>
<dt><em>Configuration Object Authority</em></dt>
<dd>*USE and *OBJMGT</dd>
<dt><img src="delta.gif" alt="Start of change"><em>Configuration Object Lock</em></dt>
<dd>*EXCLRD<img src="deltaend.gif" alt="End of change"></dd>
</dl>
<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 to which the cluster resource group belongs.</p>
</dd>
<dt><strong>Cluster resource group name</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the cluster resource group which is to be changed.</p>
</dd>
<dt><strong>Configuration object entry information</strong></dt>
<dd>INPUT; CHAR(*)
<p>Detailed information about the configuration objects to be added to the
cluster resource group. For more information, see <a href="#HDRRGDIC01">Device
Resiliency (RGDA0100 Format)</a>.</p>
</dd>
<dt><strong>Format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The content and format of the device information. The possible format names
are:</p>
<table cellpadding="5">
<!-- cols="25 75" -->
<tr>
<td align="left" valign="top"><em><a href="#HDRRGDIC01">RGDA0100</a></em></td>
<td align="left" valign="top">This format describes the resilient device.</td>
</tr>
</table>
<br>
</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. 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="HDRRGDIC01">Device Resiliency (RGDA0100 Format)</a></h3>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Offset to configuration object
array</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of entries in configuration object
array</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of configuration object array entry</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to additional fields</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">E</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of additional fields</td>
</tr>
<tr>
<td align="center" valign="top">*</td>
<td align="center" valign="top">*</td>
<td align="left" valign="top">Array (*) of CHAR(36)</td>
<td align="left" valign="top">Configuration object array</td>
</tr>
<tr>
<td align="left" valign="top" colspan="2" rowspan="5">These fields repeat, in
the order listed, for each device.</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Configuration object name</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Configuration object type</td>
</tr>
<tr>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Configuration object online</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Server takeover IP address</td>
</tr>
</table>
<br>
<h3><a name="HDRLSCDDE1">Field Descriptions</a></h3>
<strong>Configuration object array.</strong>
<p>This array identifies the resilient devices.</p>
<p><strong>Configuration object name.</strong> The name of the auxiliary
storage pool device description object which can be switched between the nodes
in the recovery domain. An auxiliary storage pool device description can be
specified in only one cluster resource group.</p>
<p><strong>Configuration object
online.</strong> Vary the configuration object on and start the server takeover
IP address or leave the configuration object varied off and the server takeover
IP address inactive when a device is switched from one node to another with the
<a href="clrginitso.htm">Initiate Switchover (QcstInitiateSwitchOver) API</a>
or when it is failed over to a backup node. This attribute does
<strong>not</strong> vary the device on or off and does <strong>not</strong>
start or end the server takeover IP address when the cluster resource group is
started or ended and when adding a new device entry to the cluster resource
group. For secondary auxiliary storage pools, only a value of 2 is valid. If
cluster resources cannot determine if this value is correct for a device entry
because the auxiliary storage pool is not yet created, any errors will be
detected when the cluster resource group is started. A value of 2 cannot be
specified for any other device type. Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Do not vary the configuration object on and do
not start the server takeover IP address.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Vary the configuration object on and start the
server takeover IP address.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Perform the same action for a secondary auxiliary
storage pool as is specified for the primary.</td>
</tr>
</table>
<p><strong>Configuration object type.</strong> This specifies the type of
configuration object specified with configuration object name. Possible values
are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Device description</td>
</tr>
</table>
<p><strong>Length of additional fields.</strong> The length in bytes of
additional fields. This must be set to hexadecimal zero. It will be used in a
future release if more fields are needed in the RGDA0100 format.</p>
<p><strong>Length of configuration object array entry.</strong> This specifies
the length of an entry in the configuration object array. Is values must be set
to the length of an array entry.</p>
<p><strong>Number of entries in configuration object array.</strong> The number
of entries in the configuration object array. This must be greater than zero
and the number of these entries plus the number of entries already in the
cluster resource group cannot be greater than 256.</p>
<p><strong>Offset to additional fields.</strong> The byte offset from the
beginning of this parameter to additional fields. This must be set to
hexadecimal zero. It will be used in a future release if more fields are needed
in the RGDA0100 format.</p>
<p><strong>Offset to configuration object array.</strong> The byte offset from
the beginning of this parameter to the configuration object array field.</p>
<p><strong>Reserved.</strong> Must contain hexadecimal zeroes.</p>
<p><strong>Server takeover IP
address.</strong> This is a takeover IP address for servers associated with the
relational database name in the device description for an auxiliary storage
pool. This field is optional and can only be specified for a primary auxiliary
storage pool. If specified, the address must be represented in dotted decimal
format and be a null-terminated string. The specified address must exist on all
nodes in the recovery domain if the cluster resource group is active. If not
specified, or for a secondary and UDFS auxiliary storage pool, this field must
be set to *NONE and be left justified. If the current cluster version is 2 and
the length of configuration object array entry specified includes the server
takeover IP address, this field must be set to hexadecimal zeroes. Valid
special values for this field are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*NONE</em></td>
<td align="left" valign="top">There is no server takeover IP address associated
with the relational database name in the device description for an auxiliary
storage pool.</td>
</tr>
</table>
<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).<br>
<br>
</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 width="15%" valign="top">CPCBB01 C</td>
<td width="85%" valign="top">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">CPFBB0B D</td>
<td align="left" valign="top">Request using takeover IP address &amp;1 failed.</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 is 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">CPFBB32 D</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">CPFBB35 D</td>
<td align="left" valign="top">The user profile name &amp;1 is not valid for this
request.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB38 D</td>
<td align="left" valign="top">Library name &amp;1 is not allowed for this request.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB39 D</td>
<td align="left" valign="top">The 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 Services internal error.</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>
<tr>
<td align="left" valign="top">CPFBB5B D</td>
<td align="left" valign="top">Resource name &amp;1 incorrect for configuration object &amp;2
on node &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB5C D</td>
<td align="left" valign="top">Configuration object &amp;1 already in cluster resource group
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB5D D</td>
<td align="left" valign="top">Other related devices already in cluster resource group
&amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB64 D</td>
<td align="left" valign="top">Configuration object &amp;1 not valid device type.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB66 D</td>
<td align="left" valign="top">Request failed for device cluster resource group &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB70 D</td>
<td align="left" valign="top">API request &amp;1 not compatible with current cluster
version.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB7A D</td>
<td align="left" valign="top">Primary node &amp;1 in cluster resource group &amp;2 not
current owner of specified devices.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB7B D</td>
<td align="left" valign="top">Device type incorrect for configuration object &amp;1 on node
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB7C D</td>
<td align="left" valign="top">Resource name &amp;1 already used by configuration object
&amp;2 in cluster resource group &amp;4.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB7D D</td>
<td align="left" valign="top">Configuration object &amp;1 already in cluster resource group
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB7E D</td>
<td align="left" valign="top">Resource name &amp;1 already in cluster resource group
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB7F D</td>
<td align="left" valign="top">Too many I/O processors or high-speed link I/O bridges
specified for cluster resource group &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB80 D</td>
<td align="left" valign="top">Request failed for device cluster resource group &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB90 D</td>
<td align="left" valign="top">Request failed for device cluster resource group &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB97 D</td>
<td align="left" valign="top">Primary node does not own hardware for configuration object
&amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB98 D</td>
<td align="left" valign="top">Hardware resource &amp;1 not switchable.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB99 D</td>
<td align="left" valign="top">Request failed for device cluster resource group &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB9A D</td>
<td align="left" valign="top">Online value not valid for device &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB9B D</td>
<td align="left" valign="top">Auxiliary storage pool group member &amp;1 not specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB9C D</td>
<td align="left" valign="top">Not all auxiliary storage pool group members added or removed
together.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB9D D</td>
<td align="left" valign="top">Device &amp;1 not compatible with current cluster
version.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB9E D</td>
<td align="left" valign="top">Data base name &amp;1 not correct for configuration object
&amp;2 on node &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBBA6 E</td>
<td align="left" valign="top">Server takeover IP address cannot be associated with device
subtype &amp;1.</td>
</tr>
</table>
<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 width="15%" valign="top">CPF2113 E</td>
<td width="85%" valign="top">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">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C29 E</td>
<td align="left" valign="top">Object name &amp;1 is not valid.</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 E</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 not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB35 E</td>
<td align="left" valign="top">The user profile name &amp;1 is not valid for this
request.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB38 E</td>
<td align="left" valign="top">Library name &amp;1 is not allowed for this request.</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>
<tr>
<td align="left" valign="top">CPFBB5F E</td>
<td align="left" valign="top">Number of configuration object entries not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB60 E</td>
<td align="left" valign="top">Offset to configuration object array is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB61 E</td>
<td align="left" valign="top">Configuration object &amp;1 specified more than once in
configuration object array.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB63 E</td>
<td align="left" valign="top">The value specified for the field at offset &amp;1 of
configuration object array entry &amp;2 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB64 E</td>
<td align="left" valign="top">Configuration object &amp;1 not valid device type.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB6B E</td>
<td align="left" valign="top">Request not valid for type &amp;1 cluster resource group.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB70 E</td>
<td align="left" valign="top">API request &amp;1 not compatible with current cluster
version.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBB7A E</td>
<td align="left" valign="top">Primary node &amp;1 in cluster resource group &amp;2 not
current owner of specified devices.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBBA5 E</td>
<td align="left" valign="top">Server takeover IP address &amp;1 specified more than once in
the configuration object array.</td>
</tr>
<tr>
<td align="left" valign="top">TCP1901 D</td>
<td align="left" valign="top">Internet address &amp;1 not valid.</td>
</tr>
</table>
<br>
<hr>
API introduced: V5R1
<hr>
<center>
<table 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>