Skip to content

Latest commit

 

History

History

ims_cobol_deploy

IMS COBOL Application Deployment

This project provides the required sample playbooks and roles to deploy an IMS COBOL application.

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.

Playbook Summary

  • app-deploy.yml - Handles copying the sample COBOL files to USS, creating application data sets, copy the contents to USS data sets, configure middleware resources, run gens (DBD,PSB,ACB), compile and link a COBOL application, load data, create IMS resources - DBs, TRANs and PGMs and start these resources, create a region and start the region.
  • app-deprovision.yml - Handles stopping the IMS resources, deleting them, and stopping the region.
  • app-redeploy.yml - Handles compiling and linking the COBOL application, refreshing IMS resources - PGMs, TRANs and MPP region. Can rebuild and update ACB if specified via the UPDATE_ACB flag. Can also refresh or reload data if specified via the UPDATE_DATA flag.

Role Summary

Ansible Collection Requirement

  • IBM z/OS core collection 1.3.0 or later
  • IBM z/OS IMS collection 1.1.0 or later

Other Requirements

You must run the IMS Provisioning playbook before you run the COBOL Application deployment playbooks.

Getting Started

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. Please note that when you use host_setup, it generates 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.

Getting Started: CLI

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.

  1. 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
  2. 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"
  1. Update the playbook specific variables in vars/ims_cobol.yml, based on the behavior that you want.

Run the playbook

  1. Run the IMS COBOL deployment playbook, type the following from the root of this repository:

ansible-playbook -i inventories/zvm app-deploy.yml

  1. Run the IMS COBOL redeployment playbook, type the following from the root of this repository:

ansible-playbook -i inventories/zvm app-redeploy.yml

  1. Run the de-provisioning IMS COBOL playbook and type the following from the root of this repository:

ansible-playbook -i inventories/zvm app-deprovision.yml

Copyright

© Copyright IBM Corporation 2021

License

Licensed under Apache License, Version 2.0

Support

Please refer to the support section for more details.