How to investigate problems spawning USS processes using the UPM (USS Process Management) plugin in MainView TOM

Version 2
    Share This:

    This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.


    PRODUCT:

    MainView AutoOPERATOR


    APPLIES TO:

    MainView AutoOPERATOR



    QUESTION:

    MainView Total Object Manager (TOM) component of MainView AutoOPERATOR - all versions

    We use the UPM (USS Process Management) plugin in MainView TOM.  When we use TOM to spawn a USS process, we see different results to what we see when the process is started outside of TOM, such as via OMVS, etc. How can we investigate this?


    ANSWER:

     

    Legacy ID:KA415345

      
      This knowledge article provides a Rexx script file which can be run to spawn a UPM process, to simulate what TOM would be doing, except that the script  is run from OMVS using the same userid that the MainView Total Object Manager  (TOM) PAS is defined to use.  If you are using JES2, you can determine the userid by displaying the TOM PAS in SDSF.  The defined userid will be displayed in the OWNER column in SDSF.  If ???????? is displayed, the TOM userid is not defined to any userid in the External Secuirty Manager (ESM) product.   This test will require the user to logon to TSO using this userid.  That may require that a TSO segment be defined for that userid to grant permissions to logon to TSO.   
      
        
      
      This emulates what TOM does and will help us determine whether the problem is with the TOM product, with the user permissions, or with the process that is being started. 
      
        
      
      For example, it is possible that the userid being used (the TOM PAS userid) does not have the necessary permissions to start the process, or it could be caused by another problem unrelated to the TOM PAS itself.  
      
      If this script gives the same result as TOM, then it is not a problem with the TOM product.  If it gives a different result (the expected result), then there may be either a problem with TOM or with the permissions given to TOM.  Using the same userid as defined for the TOM PAS allows you to check the permissions of that userid.  
      
        
      
      Instructions for using the script: 
      
        
      
      0 - Ensure that you have a TSO userid defined with the same name as the RACF userid assigned to the TOM PAS 
      
        
      
      1 - Log into TSO/ISPF with the userid assigned to the TOM PAS  (this may require you to define a TSO segment to the ESM product) 
      
      This way we will know that we are testing the same permissions 
      
        
      
      2 - Save the script below into a file within your USS file system,  
      
      This can be done from ISHELL by issuing TSO ISH, creating a new file and editing it 
      
        
      
      3 - Modify the script to include the desired userid of the TOM PAS, and the program that you are trying to run 
      
        
      
      4 - Log in to OMVS - TSO OMVS - which will start a UNIX terminal  
      
        
      
      5 - Run the script   
    This script should spawn a new process 
      
        
      
      6 - Compare the result with what you get when starting the process by TOM/UPM 
      
        
      
        
      
      The script: 
      
        
      
      /* REXX */                                  
      
      address syscall                             
      
      /* Get spawn parameters */                  
      
      "getpwnam userid pw."         /* <--- change userid name */                  
      
      say 'RC is ' rc                             
      
      say 'retval  is' retval                     
      
      say 'errno is ' errno                       
      
      say 'errnojr is ' errnojr                   
      
      say 'pw.0 is' pw.0                          
      
      say ' userid is' user                       
      
      say ' Home is' pw.PW_DIR                    
      
      say ' program is' pw.PW_SHELL               
      
      /* set up stem variables */                 
      
      address syscall                             
      
      fd.0=0                                      
      
      fd.2=-1                                     
      
      fd.1=retval                                 
      
      parm.0=3                                    
      
      parm.1='/bin/sh'                            
      
      parm.2='-L'                                 
      
      parm.3='/etc/upm.sh 900'      /* <--- change pgm name */
      
      /* add environment variables */             
      
      env.0=6                                     
      
      env.1='_BPX_USERID=userid'      /* <--- change userid name */           
      
      env.2='LOGNAME=userid'              /* <--- change userid name */       
      

    env.3='_BPX_SHAREAS=NO'                     

      
      env.4='PROGRAM='pw.PW_SHELL                 
      
      env.5='SHELL='pw.PW_SHELL                   
      
      env.6='HOME='pw.PW_DIR                      
      
      'spawn /bin/sh  0 fd. parm. env.'           
      
      say 'rc is ' rc                             
      
      say 'retval is ' retval                     
      
      say 'errno is ' errno                       
      
      say 'errnojr is ' errnojr
      
    Related Products:  
       
    1. MainView AutoOPERATOR

     


    Article Number:

    000030910


    Article Type:

    FAQ/Procedural



      Looking for additional information?    Search BMC Support  or  Browse Knowledge Articles