Ansible for IBM Z - Group home

Automation Z has never been easier, 1.10.0-beta.1 will deliver ease.

  

Today is World Telecommunication and Information Society Day and in the spirit of a global society where information and knowledge can be freely created, used and shared,  IBM z/OS Ansible Core 1.10.0-beta.1 has released to Galaxy and is available in GitHub. Technology has inspired creativity, ensured every click brings us closer and bridged the digital divide, much like Ansible has done for z/OS where becoming proficient and automating has never been easier. 

While this is a beta release, it has undergone the same rigorous testing our Generally Available releases undergo. This release focuses on supporting Z Open Automation Utilities (ZOAU) version 1.3.0, continued Red Hat Ansible certification, enhancements, and bugs. This announcement will cover the noteworthy points and when it becomes Generally Available, we will dive into the details.


Noteworthy

Module zos_backup_restore added a tmp_hlq option to override the default high level qualifier (HLQ) for temporary and backup data sets that could result in an error if a user did not have permission for other HQL's. 

Module zos_mvs_raw corrected the modules behavior when using option tmp_hlq that previously was ignored, now the option honors the HLQ for temporary data sets created during the module execution.

Module zos_job_submit did not take into consideration that if max_rc was configured, it meant that the user wanted this new return code to decide if a job submission is a success or failure, now the modules relies on this value, else defaults to zero. 


Major Changes

Earlier, I shared that this release supports ZOAU version 1.3.0, this was an enormous effort, there were nearly 500 commits and 200 files changed in this release. This is the first version that will support ZOAU 1.3.0 and will serve as the minimum ZOAU version going forward for all z/OS core releases. 


The team spent considerable time ensuring the collection maintained its certification status with Red Hat. To remain certified, the collection continuously adopts new processes and rigorous testing; this year, a very important change had to happen, and that was all option values in any module had to be lower case. For example, in the past, you might have used location: DATA_SET, now the option must be lower case, location: data_set. Modules undergo extensive evaluation, one of the incredible features is that documentation is embedded within a module. When documentation does not match a modules source, that results in a certification warning, in other words, if the documentation states the value is lower-case, that modules source must also define it as lower case.  

For consistency across the collection and alignment to the community, the team decided this would be the best time to introduce this change and has provided a Porting Guide in the release notes, which will be included in this blog. Migrating playbooks should be a straightforward task, use the Porting Guide to find values and replace them with a lower-case equivalent.


The last thing to note is the new README and all its valuable content. As part of the certification process, the README is now following a new template and, in my opinion, looks great. 

I recommend reading over the release notes as well as the changelog, this will provide you an understanding of the all the changes and known issues. 


Porting Guide

This section discusses the behavioral changes between ibm_zos_core v1.9.0 and ibm_zos_core v1.10.0-beta.1. It is intended to assist in updating your playbooks so this collection will continue to work seamlessly.

  • zos_archive
    • option terse_pack no longer accepts uppercase choices, users should replace them with lowercase ones.
    • suboption record_format of dest_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
    • suboption space_type of dest_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
    • suboption type of dest_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
  • zos_backup_restore
    • option space_type no longer accepts uppercase choices, users should replace them with lowercase ones.
  • zos_copy
    • suboption record_format of dest_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
    • suboption space_type of dest_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
    • suboption type of dest_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
  • zos_data_set
    • option record_format no longer accepts uppercase choices, users should replace them with lowercase ones.
    • option space_type no longer accepts uppercase choices, users should replace them with lowercase ones.
    • option type no longer accepts uppercase choices, users should replace them with lowercase ones.
    • options inside batch no longer accept uppercase choices, users should replace them with lowercase ones.
  • zos_job_submit
    • option location no longer accepts uppercase choices, users should replace them with lowercase ones.
  • zos_mount
    • option automove no longer accepts uppercase choices, users should replace them with lowercase ones.
    • option fs_type no longer accepts uppercase choices, users should replace them with lowercase ones.
    • option mount_opts no longer accepts uppercase choices, users should replace them with lowercase ones.
    • option tag_untagged no longer accepts uppercase choices, users should replace them with lowercase ones.
    • option unmount_opts no longer accepts uppercase choices, users should replace them with lowercase ones.
  • zos_mvs_raw
    • options inside dd_concat no longer accept uppercase choices, users should replace them with lowercase ones.
    • suboption record_format of dd_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
    • suboption record_format of dd_unix no longer accepts uppercase choices, users should replace them with lowercase ones.
    • suboption space_type of dd_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
    • suboption type of dd_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
    • suboptions disposition_normal and disposition_abnormal of dd_data_set no longer accept catlg and uncatlg as choices. This also applies when defining a dd_data_set inside dd_concat.
  • zos_unarchive
    • suboption record_format of dest_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
    • suboption space_type of dest_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
    • suboption type of dest_data_set no longer accepts uppercase choices, users should replace them with lowercase ones.
About the Author
Demetrios Dimatos is the IBM z/OS Ansible Core Senior Technical Lead with 17 years mainframe experience and over 20 years of development experience; having led multiple products ranging from client server technologies, administration consoles, IBM Open Platform (Hadoop - HDFS, MapReduce, Yarn) and Spark, Linux, and Solaris kernel development. 

The Development Team
Without the development team, this would not be possible. I would like to thank the amazing team who work with passion and perseverance on this project. 

Rich Parker
Ketan Kelkar
Oscar Fernando Flores Garcia
Ivan Alejandro Moreno Soto
Andre Marcel Gutierrez Benitez

Resources

IBM Ansible z/OS core on Galaxy
IBM Ansible Core Collection Repository on GitHub
IBM Ansible Core Collection on Automation Hub
Red Hat® Ansible Certified Content for IBM Z documentation