Automated Testing

Automated Testing

Automated Testing

Build an automated testing process to enable continuous integration of your hybrid cloud applications including z/OS

 View Only
Expand all | Collapse all

Software License Installation and Configuration

  • 1.  Software License Installation and Configuration

    Posted Thu June 14, 2018 05:57 AM

    I've recently been working on setting up ZD&T for software licensing and have a few, er, criticisms which I want to address here. There maybe answers to them which I have missed and would be happy to go back and start again...

    Linux OS

    The first point is regarding the Linux distribution. Normally I would use SUSE but as this is unsupported although the install scripts still check for it and allow it, I decided to go for a supported OS, namely Ubuntu. One of the main problems regarding the installation of applications in Ubuntu is that the root user is locked down which means that you cannot 'su' to root but have to use sudo. It might be a good idea to document this or show the commands relating to Ubuntu with sudo in front of them as I suspect users new to ZD&T and Linux (and I suspect there are quite a few) would not know this.

    Continuing on, there are numerous points to using utilities in /opT/IBM/LDK which you cannot as this is owned by root! Even 'su' doesn't seem to work in this area but you need to use 'sudo -i' which allows you to get into this directory and run the scripts/programs

    Installation of License Server for EE

    The installation of the license server is simple, works fine but then that is it, installation only. In order to actually use it you need to go to another chapter which is called 'Reference' whereas I would have expected this information to be in the 'Enabling the license servers' chapter. It is all a bit confusing.

    Once you have the license applied then it all looks fine except for one thing, where is it documented about installing the actual z1091 code for EE based systems? I am under the impression that when using the web based tools that it possibly deploys the executable and installs it but haven't got that far in testing that area yet. So at this point you have a license server and then another server (the client) but nowhere is ti documente don how to install the z1091 code without the web based tools or for the PE version. As it is, I have installed the hardware license based software and then configured it to use a software license. Once again, very confusing...

    Misc.

    A number of files delivered which are ZD&T only and need to be edited seem to have been created with a Windows system, this means that CRLF characters (^M) appear at the end and this will may cause problems. Running dos2unix against them will fix that.

     

    Just a few of the problems I have come across...

     

    Sebastian

    swelton


  • 2.  Re: Software License Installation and Configuration

    Posted Thu June 14, 2018 08:30 AM

    Thanks so much for your considerations. Most if not all of them are now being added to the doc for our next release.

    About installing z1091, your assumption is correct. ZDT web server will do all the process in the Deploy function.

    AdilsonColombo


  • 3.  Re: Software License Installation and Configuration

    Posted Wed June 20, 2018 08:41 AM
    Thanks for that, a few other things:

     

    - You might want to change ./UIMSERVERSTART to ./uimserverstart on page 124
    - I've noticed that when creating an image environment that is automatically appends adcd to the path which means if I set it to /ZDT it will be /ZDT/adcd and if I set it to /ZDT/adcd/may2018 it will set it to /ZDT/adcd/may2018/adcd
    - Some problems occur when trying to use SSH when trying to deploy an image. This is probably system specific but the sshd_config needs the PasswordAuthentication parameter set to yes
    - The /var/log/zdt directory does not seem to get created:

     

     0000094f com.ibm.zdt.rest.logic.DeployProcesses                       W [ZDT-LOG-WARN] Deploying image zDT from may2018 to blahblah:  Failed sending script logs to the Java log directory
    com.ibm.zdt.utility.ZdtException: Failed changing directory to /var/log/zdt
    Original exception: No such file,error code:21002
    ZdtResponse: Response code: 21002,parameters:

     

    - Trying to deploy over SSH has some further errors:

     

    Webserver log:

     

    [6/17/18 12:23:31:948 UTC] 00000990 com.ibm.zdt.rest.logic.DeployProcesses                       I [ZDT-LOG-INFO] Deploying image zDT from may2018 to 192.168.2.126:  status DOWNLOADING
    [6/17/18 12:23:32:159 UTC] 00000990 com.ibm.zdt.rest.logic.DeployProcesses                       E [ZDT-LOG-SEVERE] Deploying image zDT from may2018 to 192.168.2.126: Returned error code 11001 with message:
    stdout: <empty>, stderr: sudo: no tty present and no askpass program specified

     

    This required some set-up in the /etc/sudoers to actually work. Probably the format of the ssh command sent by the remote system needs to be looked at

     

    - Once all the little problems were sorted, deployment from an image repository was started and worked. A profile was created and presumably the gen2_init and clientconfig are run automatically as it looked like the system was already configured. Licenses were found and an attempt was made to IPL which failed with the message:

     

    CPU address out of range

     

    A small DEVMAP was created and started and no problems occurred so tried the original (aprof1) was tried again. This then failed with another problem regarding OSA:
    ...
    Commenting out the OSA stanza allowed the z/OS 2.3 system to be IPL'ed. When looking at aprof1 it has created the OSA stanza like this:
    [manager]
    name    awsosa  0009    --path=A0       --pathtype=OSD  --tunnel_intf=y #QDIO mode
    device  400     osa     3274    --unitadd=0
    device  401     osa     3274    --unitadd=1
    device  402     osa     3274    --unitadd=2
    Whereas it should be:
    [manager]
    name    awsosa  0009    --path=A0       --pathtype=OSD  --tunnel_intf=y #QDIO mode
    device  400     osa     osa    --unitadd=0
    device  401     osa     osa    --unitadd=1
    device  402     osa     osa    --unitadd=2
    ---
    There is a problem on the ADCD with RRS logstreams, at least IPL'ing with loadparm CS and 00:

     

    02 ATR202D GAP FOUND IN ATR.S0W1.RM.DATA. REPLY RETRY OR ACCEPT TO ACCEPT THE DATA LOSS                                             

     

    Replying with retry requires the A3DBAR volume but is automatically replied to with cancel and so you get:

     

    IXG251I IKJ56883I DATA SET IXGLOGR.ATR.S0W1.RM.DATA.A0000000 NOT     
    ALLOCATED, REQUEST CANCELED                                          
    ATR203I RRS COULD NOT READ FROM THE RM DATA LOG.                     
    ATR210E INACCESSIBLE LOG DATA DETECTED ON THE RRS RM DATA 548        
    LOGSTREAM ATR.S0W1.RM.DATA                                           
    ATR138I ATTEMPT TO BRING UP RRS FAILED, DIAG =00000008               
    ATR212I RRS DETECTED LOG DATA LOSS ON 549                            
    LOGSTREAM ATR.S0W1.RM.DATA DUE TO INACCESSIBLE LOG DATA.             
    LOG DATA FROM ******************* TO 2018/06/20 12:31:53 ARE AFFECTED.
    ATR218I INITIALIZATION PROCESS HAS FAILED DUE TO 550                 
    INACCESSIBLE LOG DATA IN LOGSTREAM ATR.S0W1.RM.DATA.                 

     

    Replying with accept produces a dump for RRS

     

    I do have some more questions but will save for a bit later...

     

    Sebastian

    swelton


  • 4.  Re: Software License Installation and Configuration

    Posted Thu June 21, 2018 12:57 PM

    Tks so much for your contribution to ZD&T.

    All your points were recorded and will be worked.

    Rot the RRS, it might happen after the first IPL. Would not be expected in the first IPL. Anyway, we have prepared a recovery for this issue. In the console or TSO SDSF, issue this command:

    S RRSCOLD

    followed by:

    S RRS,SUB=MSTR

    It will cleanup the RRS logstream files.

    AdilsonColombo


  • 5.  Re: Software License Installation and Configuration

    Posted Wed June 27, 2018 05:45 AM

    I'm back :-) with a couple more points and questions:

    From the EE web tools:

    - When you are in the Configure Target Environments and you have one target defined, there is no way you can delete it. You can only delete targets which have been defined after the initial one, which it seems can never be deleted. You cannot also update the IP address of this initial target or any other targets

    - When you create an application image to deploy, it seems that, once again, there is no way to delete them. I currently have 5 different ones, none of which I really want as they were for testing yet they remain

    - On the emulator licenses configuration page, it would be nice if once this was configured you could actually use it to query the licenses

    - When deploying an image, the deployment directory defaults to /home/ibmsys1 however I have /home as a different filesystem which is not large enough as unzipped disks are copied to it. There should be 2 deployment directories: one for configuration files and scripts (/home/ibmsys1) and one for where unzipped disks are to be placed, i.e. /zdisk/zos23

     

     

     

    swelton


  • 6.  Re: Software License Installation and Configuration

    Posted Wed June 27, 2018 12:44 PM

    Once again, very good points. 

    They are somehow known and it's always helpful to hear the most important pain from our users. All of them will be revisited on next releases.

    Tks again for your collaboration.  

    AdilsonColombo


  • 7.  Re: Software License Installation and Configuration

    Posted Thu June 28, 2018 09:10 AM

    Just to update you, I did a reinstall of everything so I could clear all targets and images and basically start afresh. One update, The RRS problem occurs with every IPL so I deployed a new image and tried what you suggested but this didn't look too good:

    07.05.38           s rrscold                                              
    07.05.39 STC00058  $HASP373 RRSCOLD  STARTED                              
    07.05.39           IEF244I IEESYSAS IXGLOGR - UNABLE TO ALLOCATE 1 UNIT(S)
            AT LEAST 1 OFFLINE UNIT(S) NEEDED.                                
    07.05.39           IEE600I REPLY TO 04 IS;CANCEL                          
    07.05.39           IEF244I IEESYSAS IXGLOGR - UNABLE TO ALLOCATE 1 UNIT(S)
            AT LEAST 1 OFFLINE UNIT(S) NEEDED.                                
    07.05.39           IEE600I REPLY TO 05 IS;CANCEL                          
    07.05.40           IEF244I IEESYSAS IXGLOGR - UNABLE TO ALLOCATE 1 UNIT(S)
            AT LEAST 1 OFFLINE UNIT(S) NEEDED.                                
    07.05.40           IEE600I REPLY TO 06 IS;CANCEL                          
    07.05.40           IEF244I IEESYSAS IXGLOGR - UNABLE TO ALLOCATE 1 UNIT(S)
            AT LEAST 1 OFFLINE UNIT(S) NEEDED.                                
    07.05.40           IEE600I REPLY TO 07 IS;CANCEL                          
    07.05.40           IEF244I IEESYSAS IXGLOGR - UNABLE TO ALLOCATE 1 UNIT(S)
            AT LEAST 1 OFFLINE UNIT(S) NEEDED.                                
    07.05.40           IEE600I REPLY TO 08 IS;CANCEL                          
    07.05.44 STC00058  IEF404I RRSCOLD - ENDED - TIME=07.05.44                
    07.05.50           s rrs,sub=mstr                                         
    07.05.50           IRR812I PROFILE * (G) IN THE STARTED CLASS WAS USED    
            TO START RRS WITH JOBNAME RRS.                                    
    07.05.51           ATR221I RRS IS JOINING RRS GROUP ADCDPL ON SYSTEM S0W1 
    07.05.51           ATR130I RRS LOGSTREAM CONNECT HAS FAILED FOR           
    MANDATORY LOGSTREAM ATR.ADCDPL.RM.DATA.                                   
    RC=00000008, RSN=0000080B                                                 
    07.05.51           ASA2013I RRS INITIALIZATION FAILED. COMPONENT ID=SCRRS 
    07.05.51           IEF404I RRS - ENDED - TIME=07.05.51                    
    07.05.51           IEF352I ADDRESS SPACE UNAVAILABLE                      
    07.05.51           ASA2960I RRS SUBSYSTEM FUNCTIONS DISABLED. COMPONENT   
     ID=SCRRS   
                                                                 

     

    I can fix it myself but this is just to let you know.

    Sebastian

    swelton


  • 8.  Re: Software License Installation and Configuration

    Posted Thu June 28, 2018 10:56 AM

    Are you using A3xxxx disks? 

    AdilsonColombo


  • 9.  Re: Software License Installation and Configuration

    Posted Fri June 29, 2018 03:58 AM

    Yes, they are A3* disks. The reason that RRSCOLD doesn't work is because it is not a procedure but a job and then it doesn't work because it is not correct. The following is what it looks like with no comments:

    //ATRCOLD  JOB  MSGLEVEL=(1,1)                                       
    //ATRCOLD  JOB  MSGLEVEL=(1,1)                                       
    //*01* FUNCTION: DELETES AND REDEFINES THE RRS RESOURCE MANAGER      
    //SYSPRINT DD   SYSOUT=*                                             
    //SYSIN    DD   *                                                    
        DATA TYPE(LOGR)                                                  
        DEFINE LOGSTREAM NAME(S0W1.ATR.ADCDPL.RM.DATA) STRUCTNAME(LIST01)
               LS_DATACLAS(VSAMLS)                                       
    /*                                                                   
    //       ENDIF 
                                                         

    If the purpose is to delete and define this logstream then I would suggest looking at the ADCD.LIB.JCL(RRSADCD) and ADCD.LIB.JCL(RRSDELA) members. 

    swelton


  • 10.  Re: Software License Installation and Configuration

    Posted Fri June 29, 2018 09:55 AM

    Please, copy this JCL in one of your PROCLIB (suggest USER.Z23A.PROCLIB) and start it from console or SDSF:

    //RRSCOLD  PROC                                                  

    //STEP1    EXEC PGM=IXCMIAPU                                     

    //SYSPRINT DD   SYSOUT=*                                         

    //SYSIN    DD   *                                                

        DATA TYPE(LOGR)                                              

        DELETE LOGSTREAM NAME(ATR.ADCDPL.RM.DATA)                    

        DELETE LOGSTREAM NAME(ATR.ADCDPL.MAIN.UR)                    

        DELETE LOGSTREAM NAME(ATR.ADCDPL.DELAYED.UR)                 

        DELETE LOGSTREAM NAME(ATR.ADCDPL.RESTART)                    

        DELETE LOGSTREAM NAME(ATR.ADCDPL.ARCHIVE)                    

        DELETE LOGSTREAM NAME(ATR.ADCDPL.RM.METADATA)                

    /*                                                                

    //       IF (STEP1.RC = 0) THEN                                  

    //STEP2    EXEC PGM=IXCMIAPU                                     

    //SYSPRINT DD   SYSOUT=*                                         

    //SYSIN    DD   *                                                

        DATA TYPE(LOGR)                                              

        DEFINE LOGSTREAM NAME(ATR.ADCDPL.RM.DATA)                    

               MAXBUFSIZE(65532)                                      

               DASDONLY(YES)                                         

               LS_SIZE(3000)                                         

               STG_SIZE(3000)                                        

               HLQ(IXGLOGR)                                           

               HIGHOFFLOAD(80)                                       

               LOWOFFLOAD(0)                                         

                                                                     

        DEFINE LOGSTREAM NAME(ATR.ADCDPL.MAIN.UR)                    

               MAXBUFSIZE(65532)                                     

               DASDONLY(YES)                                         

               LS_SIZE(3000)                                         

               STG_SIZE(3000)                                        

               HLQ(IXGLOGR)                                          

               HIGHOFFLOAD(80)                                       

               LOWOFFLOAD(0)                                         

                                                                      

        DEFINE LOGSTREAM NAME(ATR.ADCDPL.DELAYED.UR)                 

               MAXBUFSIZE(65532)                            

               DASDONLY(YES)                                

               LS_SIZE(3000)                                

               STG_SIZE(3000)                               

               HLQ(IXGLOGR)                                 

               HIGHOFFLOAD(80)                              

               LOWOFFLOAD(0)                                 

                                                            

        DEFINE LOGSTREAM NAME(ATR.ADCDPL.RESTART)           

               MAXBUFSIZE(65532)                            

               DASDONLY(YES)                                

               LS_SIZE(3000)                                

               STG_SIZE(3000)                               

               HLQ(IXGLOGR)                                 

               HIGHOFFLOAD(80)                              

               LOWOFFLOAD(0)                                

                                                            

        DEFINE LOGSTREAM NAME(ATR.ADCDPL.ARCHIVE)           

               MAXBUFSIZE(65532)                            

               DASDONLY(YES)                                 

               LS_SIZE(3000)                                

               STG_SIZE(3000)                               

               HLQ(IXGLOGR)                                 

               HIGHOFFLOAD(80)                              

               LOWOFFLOAD(0)                                

                                                            

        DEFINE LOGSTREAM NAME(ATR.ADCDPL.RM.METADATA)       

               MAXBUFSIZE(65532)                            

               DASDONLY(YES)                                 

               LS_SIZE(3000)                                

               STG_SIZE(3000)                               

               HLQ(IXGLOGR)                                 

               HIGHOFFLOAD(80)                              

               LOWOFFLOAD(0)                                

                                                            

    /*                                                      

    //       ENDIF                                          

    AdilsonColombo


  • 11.  Re: Software License Installation and Configuration

    Posted Wed July 04, 2018 11:07 AM

    Hello Sebastian, could you please give us some more information about your infrastruture:

    - is it under a cloud? openstack? other?

    AdilsonColombo


  • 12.  Re: Software License Installation and Configuration

    Posted Wed July 04, 2018 02:19 PM

    Hi Adilson,

                     it's just a basic remote software license server connected to a bare metal standalone server, both running Ubuntu. Nothing special at all, in fact it's basically upgrading from RD&T so that ZD&T 12 can be used without a token.

    swelton