Skip to content

Latest commit

 

History

History
 
 

ims_provisioning

IMS Provisioning

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.

Playbook Summary

  • 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.

Role Summary

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.

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.

Ansible Collection Requirements

  • IBM z/OS core collection 1.2.1
  • IBM z/OS IMS collection 1.1.0

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. 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.

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"
  3. Update the playbook specific variables in host_vars/zos.yml based on desired behavior

Run the playbook

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

ansible-playbook -i inventories/zvm provision-ims-dbdc.yml

  1. Run query IMS services, type the following from the root of this repository:

ansible-playbook -i inventories/zvm query-ims.yml

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

ansible-playbook -i inventories/zvm deprovision-ims-dbdc.yml

Copyright

© Copyright IBM Corporation 2020

License

Licensed under Apache License.