Ansible for IBM Z - Group home

IBM Ansible z/OS Core 1.9.0-beta.1 has released !!!

  

Since this is my first blog this year, I wanted to wish you all a Happy New Year, we have many changes lined up this year, it will be an exciting year. Last quarter, the team worked on a number of changes which released as IBM z/OS Ansible Core 1.9.0-beta.1 into Galaxy and is available in GitHub. Today, we will discuss the noteworthy changes and when the release is generally available (GA), we will dive deeper into all the changes, in this release there were 11 enhancements and 6 bug fixes. 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. 

I would like to take a moment and briefly share how the development aligns to our releases. In any given quarter, for example, Q4 2023, the team delivers their changes into the development branch and at the end of the quarter, the development branch is cloned into a release branch where we begin our release tasks. The release tasks are outlined in an issue which you can follow along and monitor progress, this generally takes a few weeks, which is why you generally see a beta version reflecting the prior quarters development. Once the beta has been released, it remains in Galaxy approximately 8 weeks and during this time, we monitor the release for any new issues before promoting it to general availability (GA) indicating it's ready for production and use with optional support and service. 


You may be wondering why I discussed the release process, well, when you understand our development and release cycles, you will see that this release accounts for the holiday season where we primarily focus on bugs and enhancements. Beyond the enhancements and bugs, the code is regularly being updated to meet Red Hat certification requirements while also ensuring there are no security issues found by any of the static source scanners.


Enhancements

Documentation has been enhanced to show all module's defaults, a new zos_tso_command REXX example and a zos_mvs_raw example
demonstrating how to use a YAML block indicator, often helpful when wanting to control the instream-data formatting.

Modules enhanced are:

  • zos_copy where performance was greatly improved, averaging 15 times faster over previous releases when copying members from PDS/E to another PDS/E. This only applies to PDS/E member copies. 
  • zos_job_output now allows for both a job ID and owner to be configured when obtaining job output, removing the prior mutual exclusivity.
  • zos_job_submit modules design has been updated with performance improvements and an updated architecture in how it transfers source from the controller to the managed node. 
  • zos_mvs_raw has been enhanced to ensure that instream-data for option dd_input contain blanks in columns 1 and 2 while retaining a maximum length of 80 columns for strings and a list of strings, which are generally requirements for z/OS programs.

Bug Fixes

Several modules had fixes; the noteworthy ones are:

zos_copy

  • Fixed an issue when copying an aliased executable from a data set to a non-existent data set, the destination data sets primary and secondary extents would not match the source data set extent sizes.
  • Fixed an issue when performing a copy operation to an existing file, the copied file resulted in having corrupted contents.

zos_job_output and zos_job_query fixed an issue that when using a job ID with less than 8 characters would result in a traceback. The fix supports shorter job IDs as well as the use of wildcards.

zos_unarchive

  • Fixed an issue where when the using a local file with the USS format option, the module would fail to send the content to the managed node. 
  • Fixed an issue that when unarchiving USS files, the module would leave temporary files behind on the managed node.

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. 

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