911 lines
29 KiB
HTML
911 lines
29 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>Initiate Switchover (QcstInitiateSwitchOver) 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>Initiate Switchover (QcstInitiateSwitchOver) API</h2>
|
||
|
|
||
|
<div class="box" style="width: 70%;">
|
||
|
<br>
|
||
|
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">Exit program data</td>
|
||
|
<td align="left" valign="top">Input</td>
|
||
|
<td align="left" valign="top">Char(256)</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="center" valign="top">5</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">6</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>
|
||
|
Service Program: QCSTCRG2<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Default Public Authority: *EXCLUDE<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
Threadsafe: Yes<br>
|
||
|
<!-- iddvc RMBR -->
|
||
|
<br>
|
||
|
</div>
|
||
|
|
||
|
<p>The Initiate Switchover (QcstInitiateSwitchOver) API changes the current roles of
|
||
|
nodes in the recovery domain of a cluster resource group:</p>
|
||
|
<ul>
|
||
|
<li>The current primary node is assigned the role of last active backup.</li>
|
||
|
|
||
|
<li>The current first backup is assigned the role of primary.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>If a backup node does not exist in the recovery domain, the switchover will
|
||
|
fail. If the first backup is not the desired primary, first use the <a href="clrgchgcrg.htm">Change
|
||
|
Cluster Resource Group (QcstChangeClusterResourceGroup)</a> API to arrange the backup nodes in recovery domain to
|
||
|
the desired order.</p>
|
||
|
|
||
|
<p>This API will do the following for all cluster resource group types:</p>
|
||
|
|
||
|
<ol>
|
||
|
<li>Set the cluster resource group status Switchover Pending (570).</li>
|
||
|
|
||
|
<li>Call the cluster resource group exit program on all active nodes in the
|
||
|
recovery domain with an action code of Switchover (10), if an exit program is
|
||
|
specified for the cluster resource group.</li>
|
||
|
|
||
|
<li>Set the cluster resource group status to Active (10) if the exit program
|
||
|
completes successfully.</li>
|
||
|
|
||
|
<li>Set the cluster resource group status to Indoubt (30) if the exit program
|
||
|
is unsuccessful and the original state of the cluster resource group cannot be
|
||
|
recovered.</li>
|
||
|
</ol>
|
||
|
|
||
|
<p>This API will do the following for resilient application cluster resource
|
||
|
groups:</p>
|
||
|
|
||
|
<ol>
|
||
|
<li>Cancel the cluster resource group exit program job with a Cancel Job
|
||
|
Immediate on the current primary.</li>
|
||
|
|
||
|
<li>End the takeover IP interface on the current primary.</li>
|
||
|
|
||
|
<li>Start the takeover IP interface on the new primary.</li>
|
||
|
|
||
|
<li>Start the cluster resource group exit program on the new primary.
|
||
|
|
||
|
<p><strong>Note:</strong> The application and exit program code should provide
|
||
|
cancel handlers to clean up the job if it is cancelled.</p>
|
||
|
</li>
|
||
|
|
||
|
<li>Set the cluster resource group status to Active (10) if the takeover IP address
|
||
|
and the cluster resource group exit program job are started.</li>
|
||
|
|
||
|
<li>Set the cluster resource group status to Indoubt (30) if either the takeover IP
|
||
|
address or the cluster resource group exit program job are not started.</li>
|
||
|
</ol>
|
||
|
|
||
|
<p>This API will do the following for resilient device cluster resource
|
||
|
groups:</p>
|
||
|
|
||
|
<ol>
|
||
|
<li>The configuration objects must exist on all active nodes in the recovery
|
||
|
domain and the resource names in the configuration objects must be the same on
|
||
|
all active nodes.</li>
|
||
|
|
||
|
<li>The current primary node must own the IOPs or high-speed link I/O bridges
|
||
|
for the devices configured in the cluster resource group.</li>
|
||
|
|
||
|
<li>The new primary node must be able to access the IOPs or high-speed link I/O
|
||
|
bridges for the devices configured in the cluster resource group.
|
||
|
|
||
|
This requirement does not apply to cross-site mirroring if the new primary node
|
||
|
is at a different site than the current primary node.
|
||
|
|
||
|
</li>
|
||
|
|
||
|
<li>For geographic mirroring,
|
||
|
if the new primary node is at a different site than the current primary node,
|
||
|
a role swap of auxiliary storage pools will occur where a production copy on the current
|
||
|
primary node becomes a mirror copy, and a mirror copy on the new primary node
|
||
|
becomes a production copy. If there is another active backup node at the
|
||
|
same site as the current primary node, the auxiliary storage pools are
|
||
|
moved from the current primary node to that site backup node.
|
||
|
</li>
|
||
|
|
||
|
<li>On the current primary node
|
||
|
if the cluster resource group is active, the configuration objects specified
|
||
|
in the cluster resource group are varied off and the server takeover IP
|
||
|
addresses are ended. The devices are moved to the new primary
|
||
|
or the role of the auxiliary storage pools are swapped (for geographic mirroring
|
||
|
where the new primary node is at a different site than the current primary node),
|
||
|
before the exit program is called on the current primary. If any of
|
||
|
the devices in the cluster resource group are a primary auxiliary storage pool,
|
||
|
all members of the auxiliary storage pool group will be varied off. Before
|
||
|
varying the devices off, cluster resource services will attempt to end all jobs
|
||
|
which are using auxiliary storage pools configured in the cluster resource
|
||
|
group. There are some system server jobs which will not be cancelled. If those
|
||
|
server jobs are performing long running operations against data on an auxiliary
|
||
|
storage pool, the devices may not vary off and the switchover will fail.</li>
|
||
|
|
||
|
<li>For the configuration objects specified in the cluster resource group, vary
|
||
|
the configuration objects on and start the server takeover IP address on the
|
||
|
new primary node if the entry in the cluster resource group indicates the
|
||
|
configuration objects is to be varied on. If any of the devices in the cluster
|
||
|
resource group are a primary auxiliary storage pool, all members of the
|
||
|
auxiliary storage pool group will be varied on if the primary specifies the
|
||
|
vary on value. The exit program is called on the new primary after the devices
|
||
|
are moved to the new primary and varied on.</li>
|
||
|
|
||
|
<li>Cluster Resource Services submits batch job for each UDFS or primary
|
||
|
auxiliary storage pool in the device list to vary the object on or off.
|
||
|
The job is submitted to the job queue defined in the job description
|
||
|
associated with the API's requesting user profile. The batch subsystem should
|
||
|
be defined to allow these batch jobs to run concurrently in order to make
|
||
|
switchover as fast as possible.</li>
|
||
|
|
||
|
<li>Set the cluster resource group status to Active (10) if the
|
||
|
switchover to the new primary node is successful.
|
||
|
</li>
|
||
|
|
||
|
<li>If the device entry in the
|
||
|
cluster resource group indicates the device should be varied on and the vary on
|
||
|
or the start of the server takeover IP address fails for some reason, the
|
||
|
switchover will not complete successfully. The exit program will be called with
|
||
|
an action code of Undo (15) and the devices will be moved back to the original
|
||
|
primary node
|
||
|
and/or the role of auxiliary storage pool will be swapped back as before (for geographic mirroring
|
||
|
where the new primary node is at a different site than the current primary node).
|
||
|
</li>
|
||
|
|
||
|
<li>Set the cluster resource group status to Indoubt (30) if the devices cannot
|
||
|
be successfully switched to the new primary node and cannot be returned to the
|
||
|
same state on the old primary node.</li>
|
||
|
</ol>
|
||
|
|
||
|
|
||
|
<p>When switching over cluster resource groups of different types, the order of
|
||
|
switchover is important. Device cluster resource group objects should be done
|
||
|
first followed by data cluster resource group objects and finally application
|
||
|
cluster resource group objects.</p>
|
||
|
|
||
|
<p>If a cluster resource group has a status of Indoubt (30), the Start Cluster
|
||
|
Resource Group API can be used to change the status to Active (10). See <a
|
||
|
href="clrgstcrg.htm">Start Cluster Resource Group
|
||
|
(QcstStartClusterResourceGroup)</a> API for more information.</p>
|
||
|
|
||
|
<p>This API requires:</p>
|
||
|
|
||
|
<ol>
|
||
|
<li>Cluster Resource Services started on the node processing the request.</li>
|
||
|
|
||
|
<li>Cluster resource group status of Active (10).</li>
|
||
|
</ol>
|
||
|
|
||
|
<p>This API operates in an asynchronous mode. See <a href="clust1a3.htm">
|
||
|
Behavior of Cluster Resource Services APIs</a> for more information.</p>
|
||
|
|
||
|
<p><strong>Restrictions:</strong>
|
||
|
<ul>
|
||
|
<li>This API cannot be called from a cluster resource group exit program.</li>
|
||
|
<li><p><img src="delta.gif" alt="Start of change">This API is not allowed for peer cluster resource groups.<img src="deltaend.gif" alt="End of change"></li>
|
||
|
</ul>
|
||
|
</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>*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><em>Vary Configuration (VRYCFG) Command</em></dt>
|
||
|
|
||
|
<dd>*USE </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>Exit program data</strong></dt>
|
||
|
|
||
|
<dd>INPUT; CHAR(256)
|
||
|
|
||
|
<p>256 bytes of data that is passed to the cluster resource group exit program
|
||
|
when it is called. This parameter may contain any scalar data except pointers.
|
||
|
For example, it can be used to provide state information. This data will be
|
||
|
stored with the specified cluster resource group and copied to all nodes in the
|
||
|
recovery domain. Pointers in this area will not resolve correctly on all nodes
|
||
|
and should not be placed in the data. See <a href="clrgexit.htm">Cluster
|
||
|
Resource Group Exit Program</a> for information about the cluster resource
|
||
|
group exit program. The data specified will replace the existing exit program
|
||
|
data stored with the cluster resource group. If blanks are specified, then the
|
||
|
exit program data stored with the cluster resource group will be cleared. This
|
||
|
parameter must be set to *SAME if no exit program is specified for the cluster
|
||
|
resource group. The following special value can be used:</p>
|
||
|
|
||
|
<table cellpadding="5">
|
||
|
<!-- cols="10 90" -->
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><em>*SAME</em></td>
|
||
|
<td align="left" valign="top">The exit program data stored with the cluster
|
||
|
resource group specified will be passed to the exit program. This must be left
|
||
|
justified.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</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="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">Message Text</th>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td width="15%" valign="top">CPCBB01 C</td>
|
||
|
<td width="85%" valign="top">Cluster Resource Services API &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">CPF2204 D</td>
|
||
|
<td align="left" valign="top">User profile &1 not found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF26B6</td>
|
||
|
<td align="left" valign="top">Initialization program has ended with a hard error.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2640</td>
|
||
|
<td align="left" valign="top">Vary command not processed.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF2659</td>
|
||
|
<td align="left" valign="top">Vary command may not have completed.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF3CF2 D</td>
|
||
|
<td align="left" valign="top">Error(s) occurred during running of &1 API.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9801 D</td>
|
||
|
<td align="left" valign="top">Object &2 in library &3 not found</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9802 D</td>
|
||
|
<td align="left" valign="top">Not authorized to object &2 in &3.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9803 D</td>
|
||
|
<td align="left" valign="top">Cannot allocate object &2 in library &3.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9804 D</td>
|
||
|
<td align="left" valign="top">Object &2 in library &3 damaged.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9810 D</td>
|
||
|
<td align="left" valign="top">Library &1 not found</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB09 D</td>
|
||
|
<td align="left" valign="top">Cluster node &1 does not exist in cluster &2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB0A D</td>
|
||
|
<td align="left" valign="top">Cluster node &1 in cluster &2 not active.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB0F D</td>
|
||
|
<td align="left" valign="top">Cluster resource group &1 does not exist in cluster
|
||
|
&2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB17 D</td>
|
||
|
<td align="left" valign="top">&1 API cannot be processed in cluster &2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB18 D</td>
|
||
|
<td align="left" valign="top">Request &1 not allowed for cluster resource group
|
||
|
&2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB1E D</td>
|
||
|
<td align="left" valign="top">A switchover cannot be done for cluster resource group
|
||
|
&1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB2C D</td>
|
||
|
<td align="left" valign="top">Attributes for exit program &1 in library &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 &1 in
|
||
|
cluster &2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB38 D</td>
|
||
|
<td align="left" valign="top">Value &1 not allowed for library name.</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">CPFBB5B D</td>
|
||
|
<td align="left" valign="top">Resource name &1 incorrect for configuration object &2
|
||
|
on node &3.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB66 D</td>
|
||
|
<td align="left" valign="top">Request failed for device cluster resource group &3.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB67 D</td>
|
||
|
<td align="left" valign="top">Ownership of hardware associated with configuration object
|
||
|
&1 cannot be changed.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB69 A</td>
|
||
|
<td align="left" valign="top">Primary node &1 not current owner of hardware resource
|
||
|
&2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB6A D</td>
|
||
|
<td align="left" valign="top">Primary node &1 not current owner of specified
|
||
|
devices.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB6C D</td>
|
||
|
<td align="left" valign="top">Hardware configuration is not complete for configuration
|
||
|
objects in cluster resource group &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB6E E</td>
|
||
|
<td align="left" valign="top">Exit program data cannot be specified.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB7B D</td>
|
||
|
<td align="left" valign="top">Device type not correct for configuration object &1 on
|
||
|
node &2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB80 D</td>
|
||
|
<td align="left" valign="top">Request failed for device cluster resource group &3.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB90 D</td>
|
||
|
<td align="left" valign="top">Request failed for device cluster resource group &3.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB92 D</td>
|
||
|
<td align="left" valign="top">Hardware resource &1 not owned by node &3 or node
|
||
|
&4.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB98 D</td>
|
||
|
<td align="left" valign="top">Hardware resource &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 &3.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPIBB10 D</td>
|
||
|
<td align="left" valign="top">Cluster resource group exit program &1 in library &2
|
||
|
on node &3 failed.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B01 D</td>
|
||
|
<td align="left" valign="top">Unable to determine if &1 interface started.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B02 D</td>
|
||
|
<td align="left" valign="top">Cannot determine if &1 interface started.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B05 D</td>
|
||
|
<td align="left" valign="top">&2 interface not started. Reason &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B10 D</td>
|
||
|
<td align="left" valign="top">&2 interface not started.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B11 D</td>
|
||
|
<td align="left" valign="top">&1 interface not started. Tried to exceed maximum number
|
||
|
of active interfaces allowed.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B12 D</td>
|
||
|
<td align="left" valign="top">&1 interface not started. &1 interface already
|
||
|
active.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B13 D</td>
|
||
|
<td align="left" valign="top">&1 interface not started. &1 interface not defined the
|
||
|
TCP/IP configuration.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B14 D</td>
|
||
|
<td align="left" valign="top">&1 interface not started. Line description &2 not
|
||
|
found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B15 D</td>
|
||
|
<td align="left" valign="top">Line description &2 unusable. Internal errors
|
||
|
encountered.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B16 D</td>
|
||
|
<td align="left" valign="top">&2 interface not started.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B25 D</td>
|
||
|
<td align="left" valign="top">&1 interface not started.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP265F D</td>
|
||
|
<td align="left" valign="top">INTNETADR parameter value &2 not valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B61 D</td>
|
||
|
<td align="left" valign="top">Unable to determine if &1 interface ended.&2
|
||
|
successful (&3).</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B62 D</td>
|
||
|
<td align="left" valign="top">Cannot determine if &1 interface ended.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B65 D</td>
|
||
|
<td align="left" valign="top">&2 interface not ended. Reason &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B72 D</td>
|
||
|
<td align="left" valign="top">&1 interface not ended. &1 interface is not
|
||
|
active.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B73 D</td>
|
||
|
<td align="left" valign="top">&1 interface not ended. &1 interface not defined in
|
||
|
TCP/IP configuration.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B74 D</td>
|
||
|
<td align="left" valign="top">&1 interface not ended. Line description &2 not
|
||
|
found.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP1B85 D</td>
|
||
|
<td align="left" valign="top">&1 interface not ended.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP3210 D</td>
|
||
|
<td align="left" valign="top">Connection verification statistics: &1 of &2
|
||
|
successful (&3).</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">TCP9999 D</td>
|
||
|
<td align="left" valign="top">Internal system error in program &1.</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<h3><a name="Header_45">Error Messages</a></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 &1.</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 &1 omitted.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF3C39 E</td>
|
||
|
<td align="left" valign="top">Value for reserved field 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 &1 API.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9801 E</td>
|
||
|
<td align="left" valign="top">Object &2 in library &3 not found</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9802 E</td>
|
||
|
<td align="left" valign="top">Not authorized to object &2 in &3.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9803 E</td>
|
||
|
<td align="left" valign="top">Cannot allocate object &2 in library &3.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9804 E</td>
|
||
|
<td align="left" valign="top">Object &2 in library &3 damaged. </td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF980C E</td>
|
||
|
<td align="left" valign="top">Object &1 in library &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 &1 not found</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPF9820 E</td>
|
||
|
<td align="left" valign="top">Not authorized to use library &1.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB02 E</td>
|
||
|
<td align="left" valign="top">Cluster &1 does not exist.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB09 E</td>
|
||
|
<td align="left" valign="top">Cluster node &1 does not exist in cluster &2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB0A E</td>
|
||
|
<td align="left" valign="top">Cluster node &1 in cluster &2 not active.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB0F E</td>
|
||
|
<td align="left" valign="top">Cluster resource group &1 does not exist in cluster
|
||
|
&2.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB1E E</td>
|
||
|
<td align="left" valign="top">A switchover cannot be done for cluster resource group
|
||
|
&1.</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 for exit program &1 in library &2 are not
|
||
|
valid.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB32 E</td>
|
||
|
<td align="left" valign="top">Attributes of user queue &1 in library &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">&1 API cannot be called from a cluster resource group exit
|
||
|
program.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top">CPFBB6E E</td>
|
||
|
<td align="left" valign="top">Exit program data cannot be specified.</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="left" valign="top"><img src="delta.gif" alt="Start of change">CPFBB3B E</td>
|
||
|
<td align="left" valign="top">Request not allowed for cluster resource group type &1.<img src="deltaend.gif" alt="End of change"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<br>
|
||
|
<hr>
|
||
|
API introduced: V4R4
|
||
|
|
||
|
<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>
|
||
|
|