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