The IMS provisioning playbook samples demonstrate how to allocate the required data sets and configure them to provision IMS and related services.
It is a good practice to review the playbook sample contents before executing them. It will help you understand the requirements in terms of space, location, names, authority, and the artifacts that will be created and cleaned up. Although samples are written to operate without the need for the user’s configuration, flexibility is written into the samples because it is not easy to determine if a sample has access to the host’s resources. Review the playbook notes sections for additional details and configuration.
- provision-ims-dbdc.yml - handles allocating required data sets and kicking off many IMS services.
- deprovision-ims-dbdc.yml - handles deleting data sets (created by provision-ims-dbdc.yml) and stopping all IMS services.
- query-ims.yml - provides examples of how to query status of different IMS services. These examples utilize the roles defined below.
This project uses roles to provide an object-oriented model to provision IMS. Each role is responsible for a specific area. These roles can be re-used in different playbooks.
-
ims_apf - adds authorization of IMS datasets to zOS
-
ims_catalog - allocates, loads, and deletes IMS catalog
-
ims_common - provides services such as start/stop IMS control regions and IMS Connection
-
ims_common_queue - provides dataset definition and query or CQS
-
ims_dbrc - sets up DBRC defaults and prepares DBRC
-
ims_exit - prepares security and connection exit for IMS
-
ims_gen - prepares DBDGEN, PSBGEN, and ACBGEN
-
ims_iefjobs - creates IEF jobs
-
ims_dataset - creates and deletes IMS definition data sets and libraries
-
ims_initialize - reserves ICON ports and sends PROCLIB templates to zOS
-
install-bzip2 - copies and installs utility zip file on zOS
-
ims_online_change - enables the online change utility
-
ims_operations_manager - defines, starts, stops, and queries operations manager
-
ims_proclib - defines BPE configuration and copies PROCLIB
-
ims_racf - prepares RACF security for IMS
-
ims_region - starts IMS regions
-
ims_resource_manager - defines, starts, stops and queries RM
-
ims_structured_call_interface - defines, starts, stops, and queries SCI
-
ims_sysdef - prepares system definition data set
-
save-templates-to-datasets - copies templates from USS to zOS data sets
-
send-template - sends a template file from the local host to zOS
-
send-templates - sends multiple templates in a directory from local host to zOS
-
submit-rexx - runs a REXX script on zOS
Inside each role:
./tasks
contains tasks that can be performed by the role. Sub-folder names describe the use of the contained files../tasks/main.yml
contains the default tasks performed by the role.
- IBM z/OS core collection 1.2.1
- IBM z/OS IMS collection 1.1.0
If you are unfamiliar with playbooks, you can review our detailed configuration guide or continue with getting started below.
Optionally, you can use the sample host_setup to discover and create your inventory and host_vars artifacts. It should be noted that when you use the host_setup it will generate a configuration for the most common dependencies, some playbooks require more customized configurations, in this case, you can review the sample documentation and add the additional required variables.
A few settings may need to be changed to ensure compatibility with your z/OS target.
For more information on python configuration requirements on z/OS, refer to Ansible FAQ: Running on z/OS.
-
Update inventories/zvm contains the information needed to connect to our target. We must specify the following information about our target system:
- ansible_host: either an IP or URL to the target system.
- ansible_user: the username used to login with SSH.
- ansible_python_interpreter: the path on the target to the python interpreter.
- An example is below, where
zsystem
will be the name used to reference our target:
zsystem: hosts: zvm: ansible_host: ec00000a.vmec.svl.ibm.com ansible_user: omvsadm ansible_python_interpreter: /python/usr/lpp/IBM/cyp/v3r8/pyz/bin/python3
-
Update the environment variables for the z/OS system in host_vars/zvm.yml
# the path to the root of IBM python installation PYZ: "/usr/lpp/IBM/cyp/v3r8/pyz" # the path to root of ZOAU installation ZOAU: "/usr/lpp/IBM/zoautil"
-
Update the playbook specific variables in host_vars/zos.yml based on desired behavior
- Run provisioning IMS playbook, type the following from the root of this repository:
ansible-playbook -i inventories/zvm provision-ims-dbdc.yml
- Run query IMS services, type the following from the root of this repository:
ansible-playbook -i inventories/zvm query-ims.yml
- Run de-provisioning IMS playbook, type the following from the root of this repository:
ansible-playbook -i inventories/zvm deprovision-ims-dbdc.yml
© Copyright IBM Corporation 2020
Licensed under Apache License.