# What is the mainframe doing with Ansible today?

**URL:** <https://forum.ansible.com/t/what-is-the-mainframe-doing-with-ansible-today/44459>\
**Category:** Project Discussions\
**Tags:** zos, ibm\
**Created:** [September 11, 2025, 7:31am UTC](https://forum.ansible.com/t/what-is-the-mainframe-doing-with-ansible-today/44459 "2025-09-11T07:31:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ketankelkar](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/ketankelkar/32/1047_2.png) [@ketankelkar](https://forum.ansible.com/u/ketankelkar)\
**Post date:** [September 11, 2025, 7:31am UTC](https://forum.ansible.com/t/what-is-the-mainframe-doing-with-ansible-today/44459/1 "2025-09-11T07:31:03Z")

</div>

In celebration of the 200th edition of the Bullhorn, we are sharing what Ansible means to the mainframe community, our journey with Ansible on the mainframe, and the appreciation we have for the community.

To start, mainframes can run multiple operating systems; our journey focuses on the UNIX POSIX compliant operating environment integrated into the z/OS operating system. Our clients worldwide account for over 30 billion transactions a day and in some cases are capable of individually running over 100,000 transactions per second. Such resiliency depends on Ansible automation that simplifies tasks that can continuously monitor events without agents and retain idempotency.

The mainframes architecture allows for applications written over 50 years ago to run on our latest z17 hardware released this year. Because of this, our Ansible journey required us to remain compliant with UTF-8 while also running in the system’s native encoding, EBCDIC. To ensure compliance, our compilers team ported Python to z/OS and with a few more adjustments in z/OS UNIX, Ansible modules could manage z/OS hosts so long as users understood how to navigate the encoding limitations. At this point, IBM had developed several collections with over 70 modules specializing in z/OS specifics such as job submissions, data set creation that is the equivalent of a UNIX file, but we could not seamlessly run community modules such as _ansible.builtin_.

It was now time that an IBM team focused on all Ansible community projects be involved with the community. The first action was to update the[Running on z/OS](https://docs.ansible.com/ansible/latest/reference_appendices/faq.html#running-on-z-os) section in the FAQ page of the Ansible Community docs. We then created a new page on [managing z/OS UNIX targets with Ansible](https://docs.ansible.com/ansible-core/devel/os_guide/intro_zos.html) that provided solutions on how to navigate particular EBCDIC-related challenges.

Documentation was only a temporary solution, so we began executing our plan to change the ansible.builtin experience on z/OS UNIX by introducing a new `encoding` option for the [lineinfile](https://github.com/ansible/ansible/pull/84999) and [blockinfile](https://github.com/ansible/ansible/pull/85291) modules that will be available in ansible-core 2.20. This enhancement enables target files not encoded in UTF-8 to be directly modified using these modules on any managed nodes where z/OS UNIX users no longer have to manually convert EBCDIC files to UTF-8.

It does not stop there; we have made changes to add environment configuration support to Ansible CLI tools, including ad-hoc commands. Not only will this ensure parity with Ansible playbooks, but it will also simplify our clients’ experience and allow them to run modules from the command line where prior, our modules had to be run from a playbook.

If you manage z/OS targets with Ansible, we’d like to hear about your Ansible experiences.

Help shape the community roadmap by engaging us:

- [Ansible Community Forum](https://forum.ansible.com/tag/zos) (use the `zos` tag)
- [Monthly Ansible for IBM Z community meeting.](https://forum.ansible.com/t/ansible-for-ibm-z-community-meeting/44444)
- [Ansible for IBM Z community](https://community.ibm.com/community/user/groupz?CommunityKey=ce54fe94-0145-4832-a0ef-4ea81d6062cc)
- [Ansible for IBM Z LinkedIn group](https://www.linkedin.com/groups/14515630)
- [System Z Enthusiasts Discord](https://discord.gg/sze) - `#ansible`
- [Open issues in GitHub](https://github.com/ansible/ansible/issues)

---

<div class="post-metadata">

**Author:** ![neoweb](https://avatars.discourse-cdn.com/v4/letter/n/a5b964/32.png) [@neoweb](https://forum.ansible.com/u/neoweb)\
**Post date:** [September 11, 2025, 3:42pm UTC](https://forum.ansible.com/t/what-is-the-mainframe-doing-with-ansible-today/44459/2 "2025-09-11T15:42:29Z")

</div>

This is an amazing summary and very insightful. Thanks!

---

<div class="post-metadata">

**Author:** ![eddie-at-ibm](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/eddie-at-ibm/32/9408_2.png) [@eddie-at-ibm](https://forum.ansible.com/u/eddie-at-ibm)\
**Post date:** [September 11, 2025, 5:49pm UTC](https://forum.ansible.com/t/what-is-the-mainframe-doing-with-ansible-today/44459/3 "2025-09-11T17:49:53Z")

</div>

Fantastic write-up! This really highlights the complexity and innovation involved in bringing Ansible automation to the mainframe world. The work around encoding challenges and the upcoming enhancements in ansible-core 2.20 show how deeply our team is committed to improving the experience for the community. Excited to see how these contributions continue to shape the future of automation on z/OS!

---

<div class="post-metadata">

**Author:** ![ddimatos](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/ddimatos/32/1040_2.png) [@ddimatos](https://forum.ansible.com/u/ddimatos)\
**Post date:** [September 11, 2025, 9:06pm UTC](https://forum.ansible.com/t/what-is-the-mainframe-doing-with-ansible-today/44459/4 "2025-09-11T21:06:01Z")

</div>

This was a nice summary, looking forward to seeing the continued changes across the various community projects. Just yesterday, I saw a presentation of a user who is using Ansible to automate 100 LPARs and now advancing that to 200.
