Attention:  z/VM 6.1 SMAPI users who do not use the Unified Resource Manager and have the Stacked 6105RSU (CMS LEVEL 1101)

Updated: 29 September 2011

There is a disruptive change with RSU 6105 for z/VM 6.1 SMAPI users who do not use the Unified Resource Manager and who have installed Stacked 6105RSU (CMS LEVEL 1101). For this situation, updates are required to the directory entries and PROFILE EXECs as documented below to enable SMAPI to continue to work correctly.

For SMAPI users who use the Unified Resource Manager, see z/VM service required for IBM zEnterprise Unified Resource Manager

  1. Update the SMAPI Server Directory Entries

    • The following is the recommended directory entry for each SMAPI request server (VSMREQIN, VSMREQIU, VSMREQI6, VSMPROXY, VSMREQIM). Note that they do not require special privilege classes.
            USER name name 128M 512M G
            IPL CMS PARM AUTOCR
            OPTION DIAG88
            MACHINE ESA
            IUCV auth MSGLIMIT 255
            IUCV *VMEVENT
            IUCV *SCLP
            CONSOLE 0009 3215 T
            NAMESAVE VSMDCSS
            SPOOL 000C 2540 READER *
            SPOOL 000D 2540 PUNCH A
            SPOOL 000E 1403 A
            LINK MAINT 190 190 RR
            LINK MAINT 19E 19E RR
            LINK MAINT 193 193 RR
            LINK TCPMAINT 591 591 RR
            LINK TCPMAINT 592 592 RR
            MDISK 191 3390 2398 025 610RES MR READ WRITE MULTIPLE
       
       
        where name and auth are:
        VSMREQIN, VSMREQI6, along with ANY for the AF_INET/AF_INET6 request
                            server(s)
        VSMREQIM and ANY for the AF_MGMT request server.
        VSMREQIU and ALLOW for the AF_IUCV request server(s)
        VSMPROXY and ANY for the AF_SCLP request server
       
        Notes:
        1) The line  IUCV *SCLP  is required only for the AF_SCLP
           request server.
        2) Keep in mind that neither request servers
           nor worker servers can run with multiple CPUs defined.
        3) If you are applying service updates to an existing system,
           you may currently have less than 128M defined in your USER
           name name statement. IBM recommends that you increase this
           amount to at least 128M. (Note that 512M is the maximum
           allowed.)
        4) If there is no  NAMESAVE VSMDCSS entry specified, the
           server will create one automatically.
      
    • The following is the recommended directory entry for the worker servers (including VSMGUARD, VSMWORK1, VSMWORK2, and VSMWORK3). Since the worker servers process requests that require various privileges, the worker servers must have all of the privilege classes (A through G).
            USER name name 128M 512M ABCDEFG
            IPL CMS PARM AUTOCR
            OPTION DIAG88 MAINTCCW LNKS LNKE
            MACHINE ESA
            IUCV ANY MSGLIMIT 255
            CONSOLE 0009 3215 T
            NAMESAVE VSMDCSS
            SPOOL 000C 2540 READER *
            SPOOL 000D 2540 PUNCH A
            SPOOL 000E 1403 A
            LINK MAINT 190 190 RR
            LINK MAINT 19E 19E RR
            LINK MAINT 193 193 RR
            LINK MAINT CF1 CF1 MD
            LINK MAINT CF2 CF2 MD
            LINK TCPMAINT 591 591 RR
            LINK TCPMAINT 592 592 RR
            MDISK 191 3390 2398 025 610RES MR READ WRITE MULTIPLE
       
        where name  is VSMWORK1 , VSMWORK2 , or VSMWORK3  (assuming
        you're using three worker servers, as per the default installation,
        plus VSMGUARD.
       
        Notes:
        1) Keep in mind that neither request servers nor worker
           servers can run with multiple CPUs defined.
        2) VSMGUARD is not required when not running with Unified
           Resource Manager. However, using VSMGUARD in all SMAPI
           installations is recommended.
        3) If you are applying service updates to an existing system, you
           may currently have less than 128M defined in your USER name name
           statement. IBM recommends that you increase this amount to at
           least 128M. (Note that 512M is the maximum allowed.)
        4) If there is no NAMESAVE VSMDCSS  entry specified, the
           server will create one automatically.
      
  2. Update the SMAPI Request Servers PROFILE EXEC

    • The following is the PROFILE EXEC for the Request Servers. Replace the PROFILE EXEC for each of the SMAPI Request Servers (VSMREQIN, VSMREQIU, VSMREQI6, VSMPROXY, VSMREQIM) with the following:
      /**********************************************************************/
      /*   A000000-999999  New for z/VM Version 5 Release 3        @VRHFZJH */
      /**********************************************************************/
      /*                                                                    */
      /* Sample PROFILE EXEC for a Virtual Systems Management API           */
      /* request server virtual machine.                                    */
      /*                                                                    */
      /**********************************************************************/
      'CP TERM TIMESTAMP ON'
      'CP SP CONS * START'
      'CP SET CONCEAL OFF'
      'CP SET CONCEAL ON'
       
      'Access 193 E'               /* Access the VSM API code.              */
      'Access 591 F'               /* Access the TCPIP server modules.      */
       'Access 592 G'              /* Access the TCPIP client configuration.*/
       
       Call APILOAD 'DMSSICNF'     /* Access the configurable binding file  */
       
        /* Access the code and server directories */
        'SET FILEPOOL ' Server_SFSpool
       
        'SET AUTOREAD OFF'
        'ACCESS ' Server_DATA DataDisk' (FORCERW'
        'ACCESS ' Server_SOURCE SourceDisk' (FORCERW'
        'ACCESS 191 D'
       
        /* arrange it so that we don't bounce up and down forever */
        /* in the case that there is a config problem or continuous errors */
       
        NUMERIC DIGITS 12  /* need for longer arithmetic */
        Call APILOAD 'VMREXTMR' /* get timer stuff */
       
        /* get info about last bounce */
        'PIPE filefast retry count d | stem myretry.'
       
        if (myretry.0 = 0)
        then do  /* initial bounce */
           baseretry = 0
           basetime = 0
        end
        else do /* bounced before */
          parse var myretry.1 baseretry basetime
        end
       
        /* get current time */
        call CSL 'DateTimeGet retcode reascode vm_tmr_format_iso',
                   'one two three newtime'
       
        /* get time since first bounce this interval */
        difftime = newtime - basetime
       
        if (baseretry > 4) /* how many bounces this interval */
        then do
          if (difftime < 1800)
          then do  /* too many bounces, stop bouncing */
            'ERASE RETRY COUNT D'
            say 'TERMINATING SERVER DUE TO SEVERE ERROR LOOP'
            'SP CONS CLOSE'
            exit
          end
        end
       
        if (difftime >= 1800)
        then do /* new interval */
          basetime = newtime
          baseretry = 0
        end
        else baseretry = baseretry + 1 /* increment bounces this interval */
       
         /* save info about this bounce */
        outline = baseretry basetime
        'PIPE var outline | > retry count d'
       
        /* Start the Server */
        'NUCXLOAD DMSRSPXY (SYSTEM'
        'DMSRSPXY DMSRSRQA'
       
        If (rc <> 0) Then
        Say 'Server Failed with Return Code: ' rc
       
        'CP IPL'
      
    • The following is the PROFILE EXEC for the Worker Servers. Replace the PROFILE EXEC for each of the SMAPI Request Servers (including VSMGUARD, VSMWORK1, VSMWORK2, and VSMWORK3) with the following:

      /**********************************************************************/
      /*   A000000-999999  New for z/VM Version 5 Release 3        @VRHFZJH */
      /**********************************************************************/
      /*                                                                    */
      /* Sample PROFILE EXEC for a Virtual Systems Management API           */
      /* worker virtual machine.                                            */
      /*                                                                    */
      /* Change activity                                                    */
      /*                                                                    */
      /* @VA64596 - allow more memory for smapi servers                     */
      /**********************************************************************/
      'CP TERM TIMESTAMP ON'
      'CP SP CONS * START'
      'CP SET CONCEAL OFF'
      'CP SET CONCEAL ON'
       
      'Access 193 E'               /* Access the VSM API code.              */
      'Access 591 F'               /* Access the TCPIP server modules.      */
      'Access 592 G'               /* Access the TCPIP client configuration.*/
       
      Call APILOAD 'DMSSICNF'
       
       /* Access the Shared file Pool */
       'SET FILEPOOL' Server_SFSpool
       'ACCESS ' Server_DATA DataDisk' (FORCERW'
       'ACCESS ' Server_SOURCE SourceDisk' (FORCERW'
       'ACCESS 191 D'
       'SET AUTOREAD OFF'
       
       /* arrange it so that we don't bounce up and down forever */
       /* in the case that there is a config problem or continuous errors */
       
       NUMERIC DIGITS 12  /* need for longer arithmetic */
       Call APILOAD 'VMREXTMR' /* get timer stuff */
       
       /* get info about last bounce */
       'PIPE filefast retry count d | stem myretry.'
       
       if (myretry.0 = 0)
       then do  /* initial bounce */
         baseretry = 0
         basetime = 0
         end
         else do /* bounced before */
           parse var myretry.1 baseretry basetime
         end
         /* get current time */
         call CSL 'DateTimeGet retcode reascode vm_tmr_format_iso',
                    'one two three newtime'
       
         /* get time since first bounce this interval */
         difftime = newtime - basetime
       
         if (baseretry > 4) /* how many bounces this interval */
         then do
           if (difftime < 1800)
           then do  /* too many bounces, stop bouncing */
             'ERASE RETRY COUNT D'
             say 'TERMINATING SERVER DUE TO SEVERE ERROR LOOP'
             'SP CONS CLOSE'
             exit
         end
         end
         if (difftime >= 1800)
         then do /* new interval */
           basetime = newtime
           baseretry = 0
         end
         else baseretry = baseretry + 1 /* increment bounces this interval */
       
          /* save info about this bounce */
         outline = baseretry basetime
         'PIPE var outline | > retry count d'
       
         myret = DMSWSSMI(Server_DCSS)
         parse var myret myrc myrsn
         if (myrc /= 0) then say 'Server Error' myrc myrsn
         exit myrc