Milestone 2: Installing or upgrading BMC AMI Products for Web on z/OS UNIX
This milestone guides you through the process for installing or upgrading BMC AMI Products for Web (CES, Abend-AID, Session Monitor, iStrobe, Code Pipeline Web, Automation for Batch ThruPut Web, Topaz for Java Performance, and Total Test on z/OS UNIX.
Planning
Before beginning the installation, you should verify the following:
- Java 17 is installed. For supported Java 17 vendors, see Planning.
- (If you are using Java 17.0.11+) The JAVA_TOOL_OPTIONS environment variable is set to -Djdk.util.zip.disableZip64ExtraFieldValidation=true.
- Space requirements are adequate
- Database is created
- Permissions are correct
- Ports are opened
Installing
- Click the BMC AMI Products for Web tab from the product image.
Ex. <network or hard drive>:\USS\setup.exe - Click Install BMC AMI Products for Web for z/OS UNIX. The Mainframe FTP Information tab appears.
Specify a valid Host, User ID, Password, Port number (default = 21), and finally an existing z/OS UNIX Path in which to upload the install.jar and install.sh files from the CES product image to the mainframe. The install.jar and the install.sh are both uploaded as binary.
- Click Upload files to mainframe to begin the upload.
Log on to the mainframe and navigate to an OMVS command prompt, or use any SSH client.
- If the installer is a different account than the account running CES, and you are either adding products or upgrading an existing install, do the following:
- Change the owner to the installer with a command line such as the following: Chown -R installerId /ces/install/directory
- Perform the required upgrades with the installer following the instructions within Upgrading.
- When the installation is complete, change the owner back to the ID that runs CES with a command line such as the following: Chown -R startedTaskId /ces/install/directory
For example, the account performing the install and the account running CES will differ when CES runs as a started task.
- Change the directory to the location where the install.jar and the install.sh files were transferred. For example:
cd <directory containing the uploaded install.jar and install.sh files> - Be sure that the install.sh file has execute authority and execute it. Perform a chmod 755 to open up permissions, if necessary.
Execute the install.sh file. For example:./install.sh
Some systems may require that you increase the Java HEAP size before running the installer. For example:
_JAVA_OPTIONS=-Xmx512M
The CES installer starts.
Enter the directory path to a supported installation of Java (64-bit Java 17).
For example: /usr/lpp/java/J17.0_64/Specify Y (Yes) or N (No) for using the system’s /tmp directory as the installation temporary space. If N, the installation launches. If Y, then you are prompted to enter an absolute directory path to a designated temporary directory space. Press Enter.
- The Installer launches. Read the Introduction panel and press Enter. The License Agreement panel appears.
- Read the BMC AMI Products for Web license agreement. When prompted, type Y and press Enter to accept the terms of the license agreement. The Oracle License Agreement panel appears.
- Read the Oracle Technology Network Development and Distribution License Agreement. When prompted, type Y and press Enter to accept the terms of the license agreement. The BMC AMI Products for Web panel appears.
- Press Enter. The Choose Install Folder panel appears.
Specify the absolute directory path in which to install CES, or press Enter to accept the default location (Default: /opt/BMC/CES). The Select Products to install panel appears.
- Select the BMC AMI Products for Web to be installed along with CES by entering a comma delimited numbered list corresponding to the products and press Enter.
- Confirm your selection. If you would like to make changes to your selection, type Back. Otherwise, press Enter.
- CES stores log and configuration data in the /data directory under the installation directory specified in Step 16. Press Enter to accept the default location (<installation_directory>/data) or specify the absolute path to another location.
Specify Y (Yes) or N (No) whether you want to modify the default port numbers. Be sure that the ports you choose are open on your network's firewall.
Port name
Port number (by default)
Strobe Communication port
24354
Web Server port
48226
Internal Messaging port
17667
Derby port
1545
- (Abend-AID only) Abend-AID communication port (default: 48301) Used to transmit messages. Specify a port number between 1024 and 65535. Press Enter.
- (iStrobe only) Profile directory (default: <installation_directory>/data/istrobe/profiles)
Used to store measurement data in profiles. Specify the absolute directory path for the Profile directory. Press Enter. - (iStrobe only) Quarantine directory (default: <installation_directory>/data/istrobe/quarantine) Used to store profiles that cannot be read. Specify the absolute directory path for the Profile directory. Press Enter.
- (Topaz for Java Performance only) Agent communication port (default: 48128). Topaz for Java Performance requires a port for communication between the mainframe agent and server. Specify a port on which to listen for this communication, or press Enter to accept the default.
- (Total Test only) MongoDB host (default: localhost) and MongoDB port (default: 27017). Total Test requires this information to configure the MongoDB database. This database is used exclusively with Total Test.
Review installation information you selected in the Pre-installation Summary panel. If anything is incorrect, type Back and revise the installation settings as necessary. If the information is correct, press Enter to start the CES installation. The Installation Complete panel appears when the installation finishes.
- The CES installation process is complete. Continue with the next section, Preparing to Start CES. After starting CES, you must still configure CES. See to Configuring BMC AMI Common Enterprise Services.
- To enhance the security of your environment, you can change the permissions of the mount point of the installation directory to read-only. For more information, see Configuring-read-only-for-install-and-read-write-for-data-on-z-OS-UNIX.
Preparing to start BMC AMI Common Enterprise Services
The copyFilestoDataSet.sh script copies the following files from the CES installation directory on z/OS UNIX to MVS:
- CESAMN.PARMLIB
- CESEMN.PARMLIB
- Added _BPX_BATCH_SPAWN = Yes and _BPX_SHAREAS = No variables to the CESEMN parmlib member to control how child processes are spawned.
- Added _BPXK_SETIBMOPT_TRANSPORT variable to the CESEMN parmlib member to control which TCP/IP stack is used by CES.
- Added required JVM options to enable SSL in CES 20.1.
- For CES to run with Java 17, edit the CESEMN file and configure the parameters as follows:
- Modify the value of JAVA_HOME and set it to the Java 17 home directory (for example, export JAVA_HOME=/usr/lpp/java/J17.0_64/).
- Update the value of JAVA_FONTS; you need export JAVA_FONTS when using Strobe Insight reports.
For upgrades: Identify the path of Java fonts. (If Java 8 is installed, this is available in the Java 8 lib/fonts directory.) Add the path to the JAVA_FONTS (for example, export JAVA_FONTS=/usr/lpp/java/J8.0_64/lib/fonts).
- For fresh installations: Modify the path of Java fonts to point to the relevant Java 17 folder that contains the lib/fonts directory (for example, export JAVA_FONTS=/usr/lpp/java/J17.0_64/lib/fonts).
- CESBATCH.JCL
- CESTASK.JCL
- JZOSPROC.JCL
The files that end with PARMLIB are input parameter files used to start the appropriate CES Manager service. These can be shortened to CESxxx member names. The files that are qualified as JCL are the PROC and JOB samples for executing on the z/OS system; these can be shortened by removing the .JCL qualifier.
- CESEMN
- BPX_BATCH_SPAWN = Yes causes BPXBATCH to use spawn instead of fork/exec and allows data definitions to be carried over into the spawned process.
- BPX_SHAREAS = No causes the child process created by the spawn to run a different address space from the parent.
- DEFS="$DEFS -Dcom.ibm.jsse2.overrideDefaultTLS=true" was added in release 20.1 to support running CES with SSL. If upgrading from a version of CES prior to 20.1, and using existing JCL, then this line needs to be added below the DEFS="$DEFS -Dfile.encoding=ISO8859-1" line.
export JAVA_FONTS=/usr/lpp/java/J8.0_64/lib/fonts - Modify the path to point to your Java 8 font library when you use an existing USS CES install, because Java 17 does not include fonts in the JDK.
- CESBATCH - used to run BMC AMI Products for Web as a batch job.
- Change the job card to match your system requirements.
- ARGS=CESAMN is set by default to start the CES Manager.
Change the HLQ1 and HLQ2 to match the first 2 nodes of the CESBATCH member (e.g. CPWR.CES.CNTL(CESBATCH)…HLQ1=CPWR, HLQ2=CES)
000001 //SAMPLE0I JOB ('ACCOUNT',78,1,1),'CES WEB APP SERVER',
000002 // CLASS=L,MSGCLASS=H,NOTIFY=&SYSUID,REGION=0M,JOBRC=LASTRC
000003 //***************************************************
000004 //* Use CESEMN for the env member for all uses
000005 //* Use ARGS="CESAMN" to run CES Web Application
000006 //***************************************************
000007 // SET QUAL='HLQ1.HLQ2' < PARMLIB HI-LEVEL QUALIFIER
000008 //* Note: If running CES as a batch job from a dataset which is not
000009 //* part of the default JCLLIB, uncomment and update the
000010 //* JCLLIB statement below
000011 //*PROCLIB JCLLIB ORDER=HLQ1.HLQ2.CNTL
000012 //CESSERVR EXEC JZOSPROC,ENV=CESEMN,ARGS=CESAMN
000013 //*
000014 //* Following step automatically restarts if we get an rc=3 since
000015 //* Since when applying a patch we shut down with RC=3 so the job
000016 //* knows we need to start CES due to it being shutdown as part
000017 //* of the upgrade process
000018 //RESTART EXEC PGM=IEBGENER,COND=(3,NE)
000019 //SYSUT1 DD DSN=&QUAL..CNTL(CESBATCH),DISP=SHR
000020 //SYSUT2 DD SYSOUT=(,INTRDR)
000021 //SYSPRINT DD SYSOUT=*
000022 //SYSIN DD DUMMYAs shown in the JCL (CESBATCH) above, you can insert a JCLLIB statement if you want to invoke the JZOSPROC from the CPWR.CES.Tnnnnnn.CNTL data set.For example:
// JCLLIB ORDER=(<USER>.CPWR.CES.Tnnnnnn.CNTL)
- CESTASK - used to run BMC AMI Products for Web as a started task.
- Change the job card to match your system requirements.
- ARGS=CESAMN is set by default to start the CES Manager.
- Change the HLQ1 and HLQ2 to match the first 2 nodes of the CESBATCH member (e.g. CPWR.CES.Tnnnnnn.CNTL(CESTASK)…HLQ1=CPWR, HLQ2=CES)
Upon startup, CESTASK will print the message 'CES has started' to both the SYSLOG and the JESMSGLOG.
000001 //* Example JCL to run CES as a started task
000002 //* Note use your site's auto opts program to start this started
000003 //* task if it exits with return code 3. When CES requires
000004 //* a restart it will exit with a return code 3. Anything above
000005 //* a return code 3 is an unexpected error.
000006 //* Use CESEMN for the env member for all uses
000007 //* Use ARGS="CESAMN" to run CES Web Application
000008 //***************************************************
000009 //JLAUNCH PROC VERSION=76,
000010 // QUAL='HLQ1.HLQ2', < PARMLIB HI-LEVEL QUALIFIER
000011 // ENV=CESEMN, < CES ENVIRONMENT INPUT
000012 // ARGS=CESAMN, < CES STARTUP MAIN CLASS
000013 // REGSIZE='0M', < EXECUTION REGION SIZE
000014 // LOGLVL='+I', < Debug LVL: +I(info) +T(trc)
000015 // LEPARM='ENVAR(_EDC_UMASK_DFLT=000)'
000016 //JZOS EXEC PGM=JVMLDM&VERSION,REGION=®SIZE,
000017 // PARM='&LEPARM/&LOGLVL'
000018 //SYSPRINT DD SYSOUT=* < System stdout
000019 //SYSOUT DD SYSOUT=* < System stderr
000020 //STDOUT DD SYSOUT=* < Java System.out
000021 //STDERR DD SYSOUT=* < Java System.err
000022 //STDENV DD DISP=SHR,DSN=&QUAL..CNTL(&ENV)
000023 //MAINARGS DD DISP=SHR,DSN=&QUAL..CNTL(&ARGS)
000024 // PEND
Starting BMC AMI Common Enterprise Services as a batch job
Start CES using one of the following methods:
- Batch Method--Submit the JCL from member CESBATCH
- Started Task Method--Start the system task (CESTASK - described below), to start CES.
Starting BMC AMI Common Enterprise Services as a started task
You can, optionally, set up CES to execute as a started task on your z/OS system by adding the start command to the SYS1.PARMLIB(COMMNDxx) member. Your installation may require special security authorizations for the started task to execute. You can also rename the PROC at your discretion so that the long-running task is identifiable as the CES Manager (for example, CESTASK) or to match your systems standards.
In this setup, you would only have to start the CES Manager the first time with a z/OS console command:
or
For stopping the CES Manager, you can cleanly terminate it by using the following console command:
or
The started task userid must have access to the CES files and directories. You may encounter errors when starting CES if the userid does not have such authority. We therefore recommend changing all the CES directories and files to be owned by the started task userid.
Execute the following change owner command from a USS command prompt such as OMVS.
chown -R <started-task-userid> *
Additional (optional) parameters
Changing the following parameters is optional.
Changing the time zone for CES
The member name CESEMN defines the Time Zone variable.
For more information on setting time zones in CES, see IBM’s z/OS Information Center on the web.
Modifying Java Heap Size for CES
The member name CESEMN defines the startup options. The CES Server is configured with an initial heap size of 256 MB (java option = '-Xms256M') and a maximum heap size of 4096 MB (java option = '-Xmx4096m').
To modify these parameters:
- Stop the CES Server.
Locate the following two lines in member CESEMN.
# INSTALLER: Sets java heap allocation if more becomes necessary
DEFS="-Xms256m"- Make the appropriate changes to the heap size.
- Restart CES.
Modifying BMC AMI Common Enterprise Services to accommodate PassTicket
This member defines the APPLID and the user ID for PassTicket.
To add these parameters:
- Stop the CES Server.
- Locate the following line in member CESEMN.
#--REQUIRED-- custom CES definitions for the runtime environment - Add the following lines after the line identified above.
The following line is required:
DEFS="$DEFS -Dces.passticket.db2.applid=<PassTicket application id>"
The following line is optional. If not specified, it defaults to the value of the system property “user.name”:
DEFS="$DEFS -Dces.passticket.db2.userid=<PassTicket user id>" - Restart CES.
For more information on setting up PassTickets, see the following two IBM specific documents:
- “Defining Profiles in the PTKTDATA Class” in the IBM manual z/OS V1R12.0 Security Server RACF Security Administrator's space
- “R_ticketserv (IRRSPK00): Parse or extract” in the IBM manual z/OS V2R1.0 Security Server RACF Callable Services
Upgrading
This guides you through the process for upgrading CES (CES, Abend-AID, Session Monitor, iStrobe, Code Pipeline, Automation for Batch ThruPut, Topaz for Java Performance, and Total Test).
As of CES17.2.1, a CES maintenance/update file is available for upgrading CES and installed products.
Roles involved
The following individuals are involved with this milestone:
- Systems administrator and possibly a database administrator.
- Security administrator, if security is enabled.
Planning
Before beginning the upgrade, you should have the following:
- For your environment, you should use the same space allocations as identified in the Planning section of this installation space.
When upgrading CES using Update Center (17.2.3 and higher), the CES data folder must be at least 1 GB to accommodate the CES maintenance file. The file will be deleted once the upgrade is complete.
- (For CES on z/OS UNIX only) To upgrade from CES versions 20.15.06 or earlier, to CES versions 23.01.01 or later, you must first upgrade to version 20.15.09.
Adding new web products to an existing CES Installation
Any BMC AMI Products for Web not having been previously installed with the existing CES installation can only be added through a product installation, and not through the CES maintenance/update file.
Upgrading from CES 17.2.3 or later
This upgrade can be accomplished by using either the Update Center within the CES application or through a product install.
Upgrade using the Update Center
Using the Update Center within CES will upgrade both the version of CES as well as the version of the database. If you do not want to upgrade your database at this time, then you must use the product install or temporarily switch to a different database type on the Database settings page before performing the upgrade.
- Open CES 17.2.3+ and navigate to the Update Center in CES Administration.
The installed products will display. Click Show Details for a complete list. - Select the Updates tab.
- Set Check for updates online to On (default) - You must have an HCI defined. The maintenance file can be downloaded from the BMC server. This requires internet access. A secure proxy may be required.
Alternatively, set Check for updates online to Off - This allows you to obtain a maintenance file (for example, from the BMC Support) that can be uploaded from an accessible location.
After downloading or uploading an update file, click Apply to begin the upgrade process.
- After some time, access CES in a new browser tab to verify that the CES UI loads successfully.
- (If you are upgrading from versions prior to 24.xx.xx) If the CES UI does not load properly, it means that your Java 17 parameters are not properly configured. Then, for CES to run with Java 17, edit the CESEMN file and configure the parameters as follows:
- Modify the value of JAVA_HOME and set it to the Java 17 home directory (for example, export JAVA_HOME=/usr/lpp/java/J17.0_64/).
- (If you are using Java 17.0.11+) Set the JAVA_TOOL_OPTIONS environment variable to -Djdk.util.zip.disableZip64ExtraFieldValidation=true.
Update the value of JAVA_FONTS; you need export JAVA_FONTS when using Strobe Insight reports.
Identify the path of Java fonts. (If Java 8 is installed, this is available in the Java 8 lib/fonts directory.) Add the Java 8 fonts path to JAVA_FONTS (for example, export JAVA_FONTS=/usr/lpp/java/J8.0_64/lib/fonts).- Add the following lines to configure LIBPATH to include Java 17 libraries:
- LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
- LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib
- LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/default
- LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/j9vm
- export LIBPATH
- LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
- In the CESEMN.PARMLIB file, in the DEFS="-Xms256m -Xmx1536m" parameter, change the value of the max heap size of the JVM from 1.5 GB (-Xmx1536m) to 4 GB (-Xmx4096m).
Hence, change DEFS="-Xms256m -Xmx1536m" to DEFS="-Xms256m -Xmx4096m". In the CESEMN.PARMLIB file, right after DEFS="$DEFS -Dlog.data.path=${APP_DATA_DIR}/workspace/logs", add the following new parameter:
JAXBV="org.eclipse.persistence.jaxb.JAXBContextFactory"
DEFS="$DEFS -Djavax.xml.bind.context.factory=${JAXBV}"
Refer to the highlighted sections in the sample file snippet to do so.#---REQUIRED--- custom CES definitions for the runtime environment
DEFS="$DEFS -Dosgi.instance.area=${APP_DATA_DIR}/workspace"
DEFS="$DEFS -DAppDataDir=${APP_DATA_DIR}"
DEFS="$DEFS -Dlog.data.path=${APP_DATA_DIR}/workspace/logs"
JAXBV="org.eclipse.persistence.jaxb.JAXBContextFactory"
DEFS="$DEFS -Djavax.xml.bind.context.factory=${JAXBV}"
DEFS="$DEFS -Dosgi.parentClassLoader=boot"
DEFS="$DEFS -Declipse.log.level=INFO"
DEFS="$DEFS -Dorg.osgi.framework.bootdelegation=*"
DEFS="$DEFS -Dcom.ibm.jsse2.overrideDefaultTLS=true"
- Start the CES service by running the CESBATCH job. After the service restarts, refresh your browser. You will be prompted to upgrade your database
- (Optional) At this point, if you switched to a temporary database to preserve the version of the database being used, you will want to re-establish that connection.
- Navigate to the Database settings page in CES Administration and re-enter the configuration settings, being sure to reassign the database type.
- Do one of the following:
- For all database types, click Apply to automatically upgrade the database.
- If using a Db2 LUW, Db2 z/OS, Oracle, or SQL Server database, you may instead choose to generate DDL to upgrade your database by clicking Generate DDL. See the Database settings page in the online help for specific direction.
- If security was previously enabled, you will be prompted to verify and apply your security settings.
(
iStrobe
only) Profiles, notes, tags, folders and any other configuration settings should now be found in the upgraded release.
- Tokens were previously using a host and a port but are now using HCI connections. Ensure that each token is now pointing to a valid HCI. You should also remove those invalid HCI definitions that were created during the upgrade process.
CES has been upgraded and is ready to use.
Upgrade using the Product Installer
- If you are performing an upgrade installation of CES on z/OS UNIX, be sure to stop the CES service before beginning the upgrade.
See the instructions under Installing, following steps 1 through 16 where you enter your existing CES installation directory.
- (If you are upgrading from versions prior to 23.xx.xx) For CES to run with Java 17, edit the CESEMN file and configure the parameters as follows:
- Modify the value of JAVA_HOME and set it to the Java 17 home directory (for example, export JAVA_HOME=/usr/lpp/java/J17.0_64/).
- (If you are using Java 17.0.11+) Set the JAVA_TOOL_OPTIONS environment variable to -Djdk.util.zip.disableZip64ExtraFieldValidation=true.
Update the value of JAVA_FONTS; you need export JAVA_FONTS when using Strobe Insight reports.
Identify the path of Java fonts. (If Java 8 is installed, this is available in the Java 8 lib/fonts directory.) Add the Java 8 fonts path to JAVA_FONTS (for example, export JAVA_FONTS=/usr/lpp/java/J8.0_64/lib/fonts).- Add the following lines to configure LIBPATH to include Java 1 libraries:
- LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
- LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib
- LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/default
- LIBPATH="$LIBPATH":"${JAVA_HOME}"/lib/j9vm
- export LIBPATH
- LIBPATH=/lib:/usr/lib:"${JAVA_HOME}"/bin
- In the CESEMN.PARMLIB file, in the DEFS="-Xms256m -Xmx1536m" parameter, change the value of the max heap size of the JVM from 1.5 GB (-Xmx1536m) to 4 GB (-Xmx4096m).
Hence, change DEFS="-Xms256m -Xmx1536m" to DEFS="-Xms256m -Xmx4096m". In the CESEMN.PARMLIB file, right after DEFS="$DEFS -Dlog.data.path=${APP_DATA_DIR}/workspace/logs", add the following new parameter:
JAXBV="org.eclipse.persistence.jaxb.JAXBContextFactory"
DEFS="$DEFS -Djavax.xml.bind.context.factory=${JAXBV}"
Refer to the highlighted sections in the sample file snippet to do so.#---REQUIRED--- custom CES definitions for the runtime environment
DEFS="$DEFS -Dosgi.instance.area=${APP_DATA_DIR}/workspace"
DEFS="$DEFS -DAppDataDir=${APP_DATA_DIR}"
DEFS="$DEFS -Dlog.data.path=${APP_DATA_DIR}/workspace/logs"
JAXBV="org.eclipse.persistence.jaxb.JAXBContextFactory"
DEFS="$DEFS -Djavax.xml.bind.context.factory=${JAXBV}"
DEFS="$DEFS -Dosgi.parentClassLoader=boot"
DEFS="$DEFS -Declipse.log.level=INFO"
DEFS="$DEFS -Dorg.osgi.framework.bootdelegation=*"
DEFS="$DEFS -Dcom.ibm.jsse2.overrideDefaultTLS=true"
- Start the CES service by running the CESBATCH job and open CES in a browser. You will be prompted to upgrade your database.
- Click the Database Configuration page link. Do one of the following:
- For all database types, click Apply to automatically upgrade the database.
- If you are using a Db2 LUW, Db2 z/OS, Oracle, or SQL Server database, you may instead choose to generate DDL to upgrade your database by clicking Generate DDL. See the Database settings page in the online help for specific direction.
- If security was previously enabled, you will be prompted to verify and apply your security settings.
(
iStrobe
only) Profiles, notes, tags, folders and any other configuration settings should now be found in the upgraded release.
CES has been upgraded and is ready to use.
Moving from a sandbox to a production environment
- If you use a different database in production other than the sandbox database, then only the profiles can be synchronized. All other configuration settings or user-specific settings will be lost as mentioned.
- Make a backup of all files within the profile directory of the existing 05.02.0x install (Default: <iStrobe install directory>/samples).
- After installing the BMC AMI Products for Web, move the backed-up profiles into the profile directory specified during the install (Default: <CES install directory>/data/istrobe/profiles).
Within iStrobe, navigate to iStrobe Administration > General Configuration and click Synchronize to process the profiles into the install.
If you use the same type of database in sandbox and in production, then all the data can be copied from the sandbox database to the production database to restore all the configuration settings. The version number and the build number of the product must exactly match that being used in sandbox and in production.