ACSLS STATUS Reference Introduction The intention of the ACSLS STATUS Reference is to provide definitions for return codes from the ACSLS media manager. The "EDT Message Guide" gives reference to this guide for both definition and in some cases problem determination. The "EDT Message Guide" should always be the first reference for problem determination and this reference consulted, when and how, the "EDT Message Guide" says to do so. Using this guide as the main source of problem determination will not provide an accurate basis for problem determination. The ACSLS response in the form of the STATUS Code, helps pinpoint where the error occurred: * Communication problem * ACSLS or the library itself being in an incompatible state. * Command or volume access control. * An internal error within ACSLS. * Incompatible packet version or incompatible version of ACSLS software. * Volume in an incompatible state. ======================================================================== 1.0 Codes indicating ACSLS media manager and/or the robotic library is in an incompatible state to service a request. STATUS_ACS_FULL On a "dismount" request, an available cell location cannot be found in the database to dismount the cartridge into. *EDT NOTES* Either the robotic library is full, or the ACSLS database believes the library is full. Contact your StorageTek representative if help is needed in resolving this matter. STATUS_AUDIT_IN_PROGRESS A request attempted to access a cell locked by a current ACSLS "audit" request. When an "audit" request is in progress, cell locations being actively audited are temporarily unavailable for access by other request processes. *EDT NOTES* No function within EDT currently issues an "audit" request. Any "audit" being performed on the library would have to come from an external source such as the ACSLS administrative console. STATUS_CANCELED A request was canceled by the "cancel" procedure. *EDT NOTES* No function within EDT currently issues an "cancel" request. Any "cancel" being performed on the library would have to come from an external source such as the ACSLS administrative console. STATUS_LIBRARY_BUSY The ACSLM was unable to communicate with the robotic library after the alloted retries and timeouts (set in configuration of ACSLS) expired for a specific request. *EDT NOTES* This is a configuration issue in ACSLS. The default for retries is 5 and the timeout is 4 seconds. You must should investigate the source of communication error between ACSLS and the robotic library. If raising the default retries and timeout is necessary, please consider raising the Communication API timeout value which has a default of 5 minutes. **** Related Topics **** "EDT Special Topics" topic "Environmental Overrides for Communication API. Specific to the SSI Daemons Communicating to ACSLS Media Manager" "SSITIMEOUT" "EDT Special Topics" topic "Multiple Communication APIs" ************************ STATUS_LIBRARY_FAILURE A request requiring a robotic library resource failed due to a failure of the ACS library component. *EDT NOTES* This is best recognized as a mechanical failure or a "state" failure, which means the robot hand mechanism or drive is in a state that would cause library failure. In this situation it is best to contact your StorageTek representative. STATUS_LIBRARY_NOT_AVAILABLE A request other than a query server is received by ACSLS while it is in "STATE_RECOVERY", "STATE_IDLE", or "STATE_IDLE_PENDING". STATE_RECOVERY occurs when ACSLS is restarted and is going through its recovery mode. STATE_IDLE and STATE_IDLE_PENDING are forced states issued through the ACSLS administrative console, which disable any requests requiring library resources. *EDT NOTES* Only in an extremely rare case would any request other than a Query Server ever see STATUS_LIBRARY_NOT_AVAILABLE, as a Query Server is always issued ahead of a series of other requests made to ACSLS in order to confirm communications. Nowhere from within EDT is a request made to start the ACSLS or to force it into an idle state. STATUS_LSM_OFFLINE The request can not be completed because a specified component is contained in an offline or offline-pending LSM, or the specified LSM is in an offline or offline-pending state. *EDT NOTES* The LSM in question can be varied online through the ACSLS administrative console. If this does not work, contact your StorageTek representative. ------------------------------------------------------------- 2.0 Codes indicating access control conflict. STATUS_COMMAND_ACCESS_DENIED Command access is enabled, and the machine from which the request is issued is not allowed to perform this operation. *EDT NOTES* If you are using command access control, the machine on which the EDT resides, must be enabled as a client that has access to the following commands: dismount, dismount_force, enter, eject, lock, mount, query, query_lock, set_scratch, unlock, and vary. STATUS_SCRATCH_NOT_AVAILABLE STATUS_VOLUME_ACCESS_DENIED Volume access is enabled, and the machine from which the request is issued is not allowed to perform this operation. *EDT NOTES* The "EDT Special Topics Guide" details how to set volume access control. This includes, allowing access to all commands. If you are using allow and/or disallow files for volume access control, the following commands must be allowed for the client machine on which EDT resides: dismount, eject, lock, mount, mount readonly, query volume, set scratch, and unlock. ------------------------------------------------------------- 3.0 Codes indicating ACSLS internal error. STATUS_DATABASE_ERROR The ACSLM (library management component ot the ACSLS Software) detected a database inconsistency while processing a request. *EDT NOTES* An error of this type indicates a problem in the ACSLS internal database. Your StorageTek representative can best help solve a problem of this type. STATUS_INVALID_TYPE This is a status value which is reserved for use within ACSLS. *EDT NOTES* No request from EDT is supposed to receive this code; it would be apparent at the ACSLS administrative console. Your StorageTek representative can best help solve a problem of this type. STATUS_INVALID_VERSION This is a status value which is reserved for use within ACSLS. *EDT NOTES* No request from EDT is supposed to receive this code; it would be apparent at the ACSLS administrative console. Your StorageTek representative can best help solve a problem of this type. STATUS_PROCESS_FAILURE The ACSLM was not able to spawn the request or received a process failure from a spawned process. Your StorageTek representative can best help solve a problem of this type. ------------------------------------------------------------- 4.0 Codes indicating incompatible packet version or incompatible version of ACSLS Server software. *EDT NOTES* These notes are pertinent for all the status codes in this section. The Communication API is built from the 2.1.1 Toolkit and has been verified to run correctly at packet version level 4. The EDT message reporting one of these errors would include the "PACKET VERSION" of the request being sent to the ACSLS media manager. Consult the related topics for the discussion of an environmental override for the ACSAPI_PACKET_VERSION. **** Related Topics **** "EDT Special Topics Guide" topic "Environmental Overrides for Communication API. Specific to the SSI Daemons Communicating to ACSLS Media Manager" "ACSAPI_PACKET_VERSION" ************************ One of the following possibilities may exist: - Packet level is being internally corrupted within EDT and the environmental override may help to alleviate or pinpoint the problem. - The ACSLS media manager is level 4.0 or lower and will not properly accept packet level 4. In this case, lowering the packet level may achieve success, but should not be regarded as a permanent solution. Below is a list of compatible packet versions with ACSLS software levels: Packet version ACS Server level 4 5.0 and higher 3 4.0 2 3.0 1 2.0 0 1.0 - The environmental override has already been used and is set to a level incompatible with the current ACSLS software. STATUS_COUNT_TOO_LARGE The "count" field in the request packet received by ACSLS is larger than the largest count expected for this particular request. STATUS_COUNT_TOO_SMALL The "count" field in the request packet received by ACSLS is smaller than the smallest count expected for this particular request. STATUS_INVALID_MEDIA_TYPE The "media type" field used with query mount scratch and the mount scratch requests is set to ANY_MEDIA_TYPE which is recognized by ACSLS 5.0 and higher. STATUS_INVALID_OPTION The request packet received by ACSLS contains an invalid option for this particular request. STATUS_MESSAGE_TOO_LARGE The request packet received by ACSLS is larger than the expected message size for this particular request. STATUS_MESSAGE_TOO_SMALL The request packet received by ACSLS is smaller than the expected message size for this particular request. STATUS_MISSING_OPTION The request packet received by ACSLS is missing an option for this particular request. STATUS_UNSUPPORTED_OPTION An option for this request is valid, but is not supported for this version of ACSLS. STATUS_UNSUPPORTED_STATE Specifically on a vary drive operation, the requested state is unsupported. STATUS_UNSUPPORTED_TYPE The "type" field for this request is valid, but is not supported for this version of ACSLS. ------------------------------------------------------------- 5.0 Codes indicating volumes not in an expected state. STATUS_MISPLACED_TAPE On dismount, ACSLS database is inaccurate with respect to the volume loaded in the drive. *EDT NOTES* Run an audit on the robotic library through the ACSLS administrative console. If this does not alleviate the problem, contact your StorageTek representative. STATUS_UNREADABLE_LABEL On a dismount or mount request, if a cartridge's external label is unreadable, and the cartridge has not been assigned a virtual label, the request is rejected. *EDT NOTES* Currently, EDT does not support the use of virtual labels. To force the dismount of a volume, use the "force" parameter with the dismount command, issued through the ACSLS administrative console. STATUS_VOLUME_IN_USE When a mount request attempts to mount a locked tape cartridge without including the correct lock identifier with the mount request, the mount request is rejected. *EDT NOTES* EDT currently uses no volume locks during mounts, only drive locks. Establish if the volume is locked through the ACSLS administrative console. Any volume locks must be cleared in order for EDT to make use of the volumes. ------------------------------------------------------------- 6.0 Additional Status Definitions STATUS_ACS_NOT_IN_LIBRARY STATUS_LSM_NOT_IN_LIBRARY STATUS_DRIVE_NOT_IN_LIBRARY These three codes refer to either the "ACS#", "LSM#", "PANEL#", or "DRIVE#" in a request being syntactically valid but is not in the current configuration. Note that an inaccuracy in either the "PANEL#" or "DRIVE#", would produce the singular return STATUS_DRIVE_NOT_IN_LIBRARY. STATUS_DRIVE_AVAILABLE On a dismount request, an attempt was made to dismount a volume from a library drive which did not contain a volume. STATUS_DRIVE_IN_USE On a dismount, an attempt was made to dismount a volume from a locked library drive without including the correct lockID. STATUS_DRIVE_OFFLINE The request cannot be completed because the specified drive is in an offline or offline pending state. STATUS_INCOMPATIBLE_MEDIA_TYPE On mount requests, when the media type of the volume is incompatible with the drive. STATUS_INCORRECT_LOCKID Resources (drive, volume) were found locked the lockid passed in with the request, but it is incorrect for this particular resource. STATUS_INVALID_ACS STATUS_INVALID_LSM STATUS_INVALID_DRIVE These three codes refer to either the "ACS#", "LSM#", "PANEL#", or "DRIVE#" in a request being syntactically invalid. Note that an inaccuracy in either the "PANEL#" or "DRIVE#", would produce the singular return STATUS_INVALID_DRIVE. Current valid ranges are: ACS 0-126 LSM 0-23 PANEL 0-19 DRIVE 0-9 STATUS_INVALID_POOL The ACSLS scratch tape pool used in the request is outside the legitimate range of 0 to 65534. STATUS_INVALID_RANGE The volume range identifier specified in the request is syntactically incorrect. It contains invalid characters, of the fixed portions of the starting and ending vol_ids do not match, or the rightmost numeric field of the ending VolumeID is less than the rightmost field of the starting VolumeID. STATUS_INVALID_VOLUME The volume specified is syntactically incorrect. Any VolumeID of length smaller than 6 characters will produce this error. STATUS_LOCKID_NOT_FOUND No resources (drive, volume) were found locked under the lockid passed in with the request. STATUS_NOT_IN_SAME_ACS On a mount request, the volume is not in the same ACS as the drive. The term ACS refers to the identifier under which ACSLS recognizes a series of robotic libraries linked together and able to pass volumes back and forth through pass through ports. Each individual robotic library module contains panels for volumes and drives and is identified to ACSLS by an LSM number. It may be possible to identify a series of linked LSMs to ACSLS under more than one ACS identifier. In this situation, a volume that is located within one LSM under one ACS identifier is not eligible to be mounted in a drive in another LSM under another ACS identifier, even though all LSMs are linked together by pass thru ports. STATUS_POOL_HIGH_WATER The ACSLS scratch tape pool, PoolID, in the request is at the high water mark. STATUS_POOL_LOW_WATER The ACSLS scratch tape pool, PoolID, in the request is at the high water mark. STATUS_POOL_NOT_FOUND The ACSLS scratch tape pool, PoolID, in the request is not defined to ACSLS. STATUS_SCRATCH_NOT_AVAILABLE On a mount scratch request, if no volumes are available to satisfy the request, it is rejected. Note: See Section on Codes indicating access control conflict. STATUS_VOLUME_IN_DRIVE On a mount request, after a tape cartridge is mounted, subsequent requests to mount the volume are rejected. STATUS_VOLUME_IN_USE On a set scratch request, the volume is seen in a drive. STATUS_VOLUME_NOT_IN_DRIVE Using the ACSLS database, the requested VolumeID is matched with the requested ACSLS driveID. If the database shows the volume is not in the drive, the dismount fails. STATUS_VOLUME_NOT_IN_LIBRARY The VolumeID included in the request is syntactically correct, but is not found in the ACSLS database (not in robotic library).