IBM Information Management System (IMS) - Group home

Latest updates with IMS and Ansible for Managed ACBs and IMS Catalog and Self-provisioning

  

Authored by Haley Fung and Stephanie Lieu

We have some new updates for IMS and Ansible! 2023 is half-way through and we have been busy providing new features with Ansible and IMS. 

The IBM z/OS IMS collection in Red Hat Ansible Certified Content for IBM Z has been updated to Version 1.2.0 to support the newest versions of Ansible, Python and IBM Z Open Automation Utilities (ZOAU).   

A brand new Ansible collection called the IMS Operator Collection was delivered as part of the IBM Z and Cloud Modernization Stack Version 2023.1 release.  The IMS Operator Collection is a Ansible-based Operator collection specifically used in the Red Hat® OpenShift® Container Platform (OCP) to manage z/OS middleware like IMS.  The first release of the IMS Operator Collection provides self-service access to automated provisioning capabilities, which empowers IMS users to self-provision an IMS system with a click of a button from the OCP catalog.  The IMS Operator Collection is also open-sourced which enables IMS customers to modify and create their own customized IMS Operator specific to their environment needs. More information about the IMS Operator can be found in this blog

Today, we are also adding two new Ansible playbooks for Managed ACBs and IMS Catalog to the Ansible for IBM Z Playbook Repository. IBM has recently announced in IMS 15.4 the intention to require Managed ACBs for IMS Database (DB) clients in June 2025.  To assist IMS clients with this change, these two playbooks can be used to automate the setup of the IMS catalog and IMS-managed ACBs onto an existing IMS instance using Red Hat Ansible for Z and the IBM z/OS IMS Collection.  These playbooks are available in playbook repository, which we highly encourage the IMS and Ansible communities to contribute additional playbooks too.

 

Automate Managed ACB and IMS Catalog setup with Ansible for Z IMS Collection

There are two standalone playbooks that can be used to set up the IMS catalog and enable IMS-managed ACBs onto an existing IMS instance. They can be used to set up the IMS catalog, enable IMS-managed ACBs, or set up both IMS catalog and IMS-managed ACBs together. 

The IMS catalog playbook includes roles to: 

  1. Prepare the IMS environment to set up catalogs by shutting down IMS, cleaning up any potential conflicting datasets, and allocating or copying necessary datasets, DBDs, and PSBs
  2. Run utilities such as ACBGEN, activating the ACB library, and the IMS Catalog Populate utility
  3. Register IMS catalog to IMS DBRC and creating image copies to maintain the integrity of IMS catalog
  4. Restart IMS and running a test application program to verify the successful provisioning of the IMS catalog

The IMS-managed ACBs playbook includes roles to: 

  1. Shut down the existing IMS instance
  2. Allocate necessary log datasets
  3. Update access through IMS catalog by using the IMS Catalog Populate utility (DFS3PU00)
  4. Restart IMS and verify the enablement of IMS-managed ACBs through the QUERY MEMBER command

These playbooks were structured to take advantage of Ansible roles to organize tasks for the different playbooks. One of the benefits of using roles is how easy it is to extract the role from this playbook to be used independently or with other use cases. 

The `shut_down` and `restart` roles can be extracted and serve as the end pieces for any IMS changes done through Ansible playbooks. For example, the `shut_down` role can be used to shut down all the IMS resources, then IMS can be brought down safely. Lastly, the `restart` role will bring up the IMS resources and establish the new changes. This is the formula that was followed for the IMS catalog and IMS-managed ACBs playbooks, but it can be used for any changes made to IMS. 

Getting Started

Getting started with this playbook is quick!

  1. Access the Managed ACBs and IMS Catalog GitHub repo from the Ansible Z playbook repository.
  2. Provide z/OS host information through the `inventories/inventory.yml` file. Once we know which z/OS machine we are connected to, we need the IMS instance information such as the “DFS_IMS_SSID” and IMS address spaces that can be found in the `host_vars/zos_host.yml` file. There is also a boolean variable that can be changed to determine whether or not a backup of the DFSDFxxx member would be created.
  3. Once all the necessary variables are changed, you are ready to run the playbooks using this command for IMS catalog: `ansible-playbook -i inventories/inventory.yml provision_catalog.yml`. Once IMS catalog is set up, IMS-managed ACBs can be enabled as well using this command: `ansible-playbook -i inventories/inventory.yml provision_macb.yml`. 


Stay up to date with the Ansible for IBM zSystems

To stay up to date with the Ansible for IBM Z community, join the IBM Z & LinuxOne community topic group for Ansible for IBM Z. If you want to join our Ansible for IBM Z Community Guild monthly calls, where the IBM Z team and Ansible customers share roadmaps on content, use-cases, and collaborate on Ansible adoption, fill out this survey.

Here are some additional resources to help you get started automating with Ansible for z/OS: