VMTAPE not recognizing the drive - after a VARY OFF and a following VARY ON.

Document ID : KB000019769
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Customer found that when a drive online to VM has been varied offline to be used on z/OS and then varied back online to VM again, VMTAPE doesn't always make the drive available.

We're showing the steps that were taken and how this didn't quite work the way the customer expected.

Here's what they did:

  1. Aattach one drive to a VM lvl2
  2. Did a vmtape start for this drive, did a mount to validate it is accessible, did a detach of the drive
  3. Vary on this drive on MVS
  4. Did a vmtape mount and got the pending mount msg
  5. Did a vary off of the drive on MVS
  6. Still got the vmtape pending message
  7. Did a vmtape drain/start and the mount was made

Solution:

In this example, only 1 drive was available to VM, A0A0. VARY OFF command was entered for the raddr (A0A0) for the drive.
A MOUNT request was issued to VMTAPE. VMTAPE had only that one drive, A0A0 in its EDL (Eligible Drive List) .
VMTAPE allocated that one/only drive, it got the ASSIGNED ELSEWHERE failure, which caused the drive to be EXEMPTed in the EDL, and VMTAPE attempts to select another drive (that is not EXEMPT) from the EDL, but there are none that are ONLINE ... that causes the Pending message.

If there was another drive in the EDL "FREE" and not EXEMPT, VMTAPE would have selected it to try to complete the mount.

If another drive was made available, other than A0A0 which was EXEMPTed after the failure, VMTAPE would have picked it and completed the mount.

The only way VMTAPE could have been made to attempt to use A0A0 for this mount request would have been (after you "fixed" the drive) to issue a VMTAPE CHANGE vaddr userid DRIVELIST … to change A0A0 back from EXEMPT (for this mount) to NOTEXEMPT.

You could have used the VMTAPE QUERY DRIVELIST command to see this.
For example:

IMLSTA1  976 VMTINI600I Beginning: 'MOUNT SCRATCH ( RETPD 0' for IMLSTA1 using
IMLSTA1  976 VMTMNU709I Volume VW4245 is now in saved status
IMLSTA1  976 VMTAPK100I Volume VW4245 picked from pool LIBRARY.
IMLSTA1  976 VMTMNT005I MOUNT '0181' request accepted.
IMLSTA1  976 VMTEDL050I Eligible drives: 0781 0782 0783 0784 0785 0786 0787 0
IMLSTA1  976 VMTEDL050I                  078D 078E 078F 0E00 0E01 0780
IMLSTA1  976 VMTEDL070I Location NONARM selected for IMLSTA1 0181
IMLSTA1  976 VMTEDL050I Eligible drives: 0781 0782 0783 0784 0785 0786 0787 0
IMLSTA1  976 VMTEDL050I                  078D 078E 078F 0E00 0E01 0780
IMLSTA1  976 VMTEDL050I Eligible drives: 0781 0782 0783 0784 0785 0786 0787 0
IMLSTA1  976 VMTEDL050I                  078D 078E 078F 0E00 0E01 0780
VMTAPE   000 VMTMIA000I Sending to MIMGR: ATTACH INT ("*EDL*") TO * AS FFFF (
 ATTACHED TO VMTAPE FFFF
VMTAPE   000 MIM2507  ATTACH  0781 TO VMTAPE   AS  FFFF
 DEFINED
VMTAPE   000 VMTMIA999I MIMGR ended ATTACH command with RC=0
IMLSTA1  976 VMTMAN280A Mount selected LIBRARY SCRATCH volume VW4245 on '0781
IMLSTA1  976 VMTTIC499A Dev 0781 RELOAD CARTRIDGE.
IMLSTA1  976 VMTTIC204E Manual unload error occurred on '781'; virtual addres
IMLSTA1  976 VMTTIC136I Sense is 42408033 00000020 0F008E06 8E060000 000000E9
IMLSTA1  976 VMTTIC137I CSW is 0009E900 0C00000; CCW is 07000000 2000000.
IMLSTA1  976 VMTDET191I DETACH 0781 FROM VMTAPE
VMTAPE   000 VMTMIA000I Sending to MIMGR: ATTACH INT ("*EDL*") TO * AS FFFF (
 DEFINED
VMTAPE   000 VMTMIA999I MIMGR ended ATTACH command with RC=0
IMLSTA1  976 VMTMAN280A Mount selected LIBRARY SCRATCH volume VW4245 on '0782
HIDRO    990 VMTINI600I Beginning: 'QUERY DRIVELIST 181 IMLSTA1' for HIDRO us
HIDRO    990 VMTINI601I Ending: 'QUERY', RC=0.

And here are the results of the QUERY DRIVELIST command after 0781 was rejected for the I/O error (and EXEMPTed).
In my case, the next drive was "FREE" and selected/used to complete the mount:

vmtape query drivelist 181 imlsta1
0781 3490E    36trk,38K/XF     EXEMPT
0782 3490E    36trk,38K/XF     MOUNTING IMLSTA1  0181 VW4245  RING IN
Ready; T=0.01/0.01 14:56:43

Using the QUERY DRIVE LIST command and/or try to bring another drive online or use the VMTAPE CHANGE command to add the previously rejected tape drive back to NOEXEMPT status, you will see that everything is working.

For the above situation, here is the CHANGE command I entered:

Change 181 imlsta1 NOREORDR 0781 ACTIVE

This change cannot be done automatically, like a refresh of sort because VMTAPE does not know that the problem has been corrected with the drive. You have to tell it by using the VMTAPE CHANGE command to take the drive out of EXEMPT status for that mount request.