Ansible for IBM Z

Ansible for IBM Z

Ansible for IBM Z

Facilitate communication, user interaction and feedback for Red Hat Ansible Certified Content for IBM Z

 View Only

Automate your year ahead with the new Ansible Core v1.13.0-beta.1 release!

By Oscar Fernando Flores Garcia posted Thu February 06, 2025 03:02 PM

  

Hi Everyone, we are a bit late to wish you a happy new year but we want to start February with the right foot. We are announcing the first release of the year for Ansible Core. The new version v1.13.0-beta.1 of the ibm_zos_core collection.

This release includes a brand-new module, zos_zfs_resize, which provides a streamlined way to resize ZFS aggregates on the system. Additionally, this update brings significant improvements like a new deploy and forget capability that does not force a user to wait for a response when submitting a job and supporting async mode which allows users to execute multiple jobs in a reduced timeframe. We've also added the option to enable or disable auto escaping when using Jinja templates in zos_job_submit, zos_copy and zos_script, plus several enhancements and fixes for zos_mvs_raw, zos_copy, zos_find, zos_fetch and zos_query. Stay tuned for more updates, and as always, we appreciate your feedback!

In this release you will find many new enhancements, bugfixes and as a key note a new module: zos_zfs_resize. I will talk briefly about these new features in the release and do a deep dive once we release the GA version.

Enhancements

  • Enable or disable auto escaping in template parameters: For those modules that allow Jinja templating, we've had added a new option inside template_parameters that allows users to disable autoescaping of common XML/HTML characters when working with Jinja templates in zos_job_submit, zos_copy and zos_script.
  • Async support for zos_job_submit: Now, you can use the async keyword in ansible to issue a job submission and fetch the result of the task later in your playbook. Additionally, when wait_time_s is 0  the module will submit the job and will not wait to get the job details or content, returning only the job id.
  • Select your custom rc to fail in zos_mvs_raw: Previously, is a job returned a non-zero return code zos_mvs_raw module would fail, now, users have the option to tolerate up to a custom max_rc depending on the job they are executing, giving users more freedom on how this module behaves. 

Bugfixes

  • zos_find: Module would not find a VSAM cluster resource type if it was in use with DISP=OLD, and would not find the DATA and INDEX resources. Fix now finds the VSAM cluster and finds DATA and INDEX resources.
  • zos_mvs_raw:
    • If a program failed with a non-zero return code and verbose was false, the module would succeed. Whereas, if the program failed and verbose was true the module would fail. Fix now has a consistent behavior and fails in both cases.
    • Module would not populate stderr return value. Fix now populates stderr in return values.
    • Module would obfuscate the return code from the program when failing returning 8 instead. Fix now returns the proper return code from the program.
    • Module would return the stderr content in stdout when verbose was true and return code was 0. Fix now does not replace stdout content with stderr.
    • Option tmp_hlq was not being used as HLQ when creating backup data sets. Fix now uses tmp_hlq as HLQ for backup data sets.
  • zos_script: When the user trying to run a remote script had execute permissions but wasn't owner of the file, the module would fail while trying to change permissions on it. Fix now ensures the module first checks if the user can execute the script and only try to change permissions when necessary.

  • zos_fetch: Some relative paths were not accepted as a parameter e.g.files/fetched_file. Change now allows the user to use different types of relative paths as a parameter.

  • zos_copy : Improve module zos_copy error handling when the user does not have universal access authority set to UACC(READ) for SAF Profile 'MVS.MCSOPER.ZOAU' and SAF Class OPERCMDS. The module now handles the exception and returns an informative message.

New module: zos_zfs_resize

This brand-new module offers users a simple interface to update their zFS aggregates size. We will give more details on this new module but the idea is that user just selects the new size and source to resize et voila!

    - name: "Grow ZFS aggregate and get trace back on data set {{ trace_back_data_set }}."
      zos_zfs_resize:
        src: "IMSTEST.STORAGE.ZFS"
        size: "500"
        space_type: "m"
      register: grow_output

If you notice, you don't tell the module to grow or decrease, but rather, the module will ensure that the source zFS is resized to the specified number, otherwise will fail.

I want to thank our development team for the excellent work and effort they put into delivering this features! And say thank you for our users, we are excited for what is to come in this year. Stay tuned!!

About the Author

Oscar Fernando Flores Garcia is the IBM z/OS Ansible Core Team Lead, with over 8 years of experience. Now leading the design and development of the ansible core product, responsible for many of the product releases.

Image from Amanda Stephens


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
  • Demetrios Dimatos

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

0 comments
18 views

Permalink