IBM Z and LinuxONE IBM Z

Expand all | Collapse all

Introducing Ansible to z/OS Automation

  • 1.  Introducing Ansible to z/OS Automation

    IBM Champion
    Posted Mon June 15, 2020 11:10 AM

    Ansible is rapidly gaining acceptance to automate and orchestrate various types of activities within our organization, including z/OS. This allows organizations to extend automation and normalize skills for provisioning, deployment, orchestration into a single ecosystem wherever it makes sense. Ansible allows you to leverage existing JCL, REXX assets or use more modern capabilities such as Python scripts or z/OSMF and/or Zowe APIs.

    Why Ansible?

     

    Many teams within the organization are responsible for automation, this has been the case for decades. Each technology team may approach automation differently, for example on the mainframe we use automation to speed up system startup (IPL) or shutdown, respond to actionable messages, perform job scheduling, speed up system recovery, to name a few. These automation processes can be disparate or inconsistent since each possess their own tooling, scripting languages and user interfaces. In almost every case, mainframe automation is self-contained and does not extend across the enterprise.

    What Ansible brings is a way to stitch together z/OS automation as part of an infrastructure or application pipeline. For example, short list of possible use cases includes

    • Provisioning middleware (CICS regions or DB2 objects)
    • Automate CICS configuration changes across 1 to many CICS regions using CICS CMCI URI modules.
    • Probing an LPAR to collect information (health checks, configuration details, auditing) and push results to internal CMDB tools
    • Initiate smoke tests on the mainframe after distributed system patching
    • Orchestrating multiple components from 1 to many z/OS LPARs (or across sites) in a controlled and reliable way.
    • Creating a git repository to store and retrieve mainframe related elements
    • Provide control and automation for building development environments
    • Use GIT repository for JCL and other elements

    Playbook execution takes place on control node using Ansible Tower or the Ansible CLI. Most mainframe tasks will push small self-contained code to execute on the managed z/OS node.

    Note that Ansible is not a replacement for the current mainframe automation tools. Tools such as IBM System Automation, Netview, job schedulers or GDPS. These products have tight integration and fast reaction to events and messages. What Ansible brings is a level of orchestration both within the many mainframe targets being managed and as a bridge between distributed applications and associated backend mainframe systems.

    What z/OS functions can we do with Ansible?

     

    The z/OS Core Collection within the Ansible Galaxy provides a number of basic functions to submit or manipulate jobs, datasets or invoke commands to help facilitate automation.

    https://galaxy.ansible.com/ibm/ibm_zos_core

    In addition, IBM provides a library of additional functions within the Z Open Automation Utilities product.

    https://www.ibm.com/support/knowledgecenter/en/SSKFYE_1.0.0/zoautil_overview.html

    Both products are no charge.

    Next Steps

     

    Continuously improving automation is an objective each of us share in my organization. At this time we are reviewing and installing the various pre-requisites needed to perform a Proof of Concept to extend Ansible automation to the mainframe. As we are still formulating use cases, I would be very interested to hear about ideas you may have for potential use cases or in general, how we can use Ansible to enhance automation involving mainframe.



    ------------------------------
    Phillip Allison
    ENterprise Architect
    Black Knight Inc
    Jacksonville FL
    904-854-5905
    ------------------------------


  • 2.  RE: Introducing Ansible to z/OS Automation

    Posted Thu June 18, 2020 01:42 PM
    Well said, Phillip! We are seeing a tremendous amount of excitement and interest as more and more client are getting started with Ansible managing to z/OS. My team is leading the development of open and certified automation content for the IBM Z family, and we are excited to hear your (and others!) feedback on use cases and experience. We've also recently published our first middleware collection on Galaxy for IMS (https://galaxy.ansible.com/ibm/ibm_zos_ims), with more coming soon for other middleware runtimes and databases.

    ------------------------------
    Skyla Loomis
    ------------------------------



  • 3.  RE: Introducing Ansible to z/OS Automation

    Posted Mon June 22, 2020 04:47 PM
    Hi Skyla! 

    Do you know if it is possible to "play" with Ansible on z/OS using one of the zTrial virtual machines?


    ------------------------------
    Jordi Guillaumes Pons
    ------------------------------



  • 4.  RE: Introducing Ansible to z/OS Automation

    Posted Tue June 23, 2020 12:20 PM
    Hey Jordi! The team is actually working on making a zTrial with Ansible managing to z/OS now.. we're in the final user validation stages, so hopefully will have it available soon. I'll post back here once it's live. 

    The zTrial will take users through 3 scenarios using VS Code and playbooks that are provided as part of the zTrial. It starts off with getting familiar with the various files such as inventory, group variables, and playbooks. The 3 playbooks progress from a simple Ping of the system, to copying and installing a tarball, to finally using the Core collection to create a dataset, copy/submit a jcl and get the status. And of course you can always play around outside of the scenario to try things out yourself. 

    ------------------------------
    Skyla Loomis
    ------------------------------



  • 5.  RE: Introducing Ansible to z/OS Automation

    Posted Thu June 25, 2020 02:45 AM
    It sounds great! I'll be looking forward for it!


    ------------------------------
    Jordi Guillaumes Pons
    ------------------------------



  • 6.  RE: Introducing Ansible to z/OS Automation

    Posted Fri June 26, 2020 09:30 AM
    Hi Skyla,
    This is great! I have my own ZD&T EE lab that we plan to use for Ansible/Z training and PoCs.
    Unfortunately, ZD&T EE does not come with ZOAU. Would you have any step-by-step guidance/scripts on
    installing ZOAU on ZD&T EE?
    Thanks,
    Marc Chisinevski

    ------------------------------
    Marc Chisinevski
    ------------------------------



  • 7.  RE: Introducing Ansible to z/OS Automation

    Posted Mon June 29, 2020 11:08 AM
    Thanks for your interest, Marc! You can install ZOUA via SMP/E with these instructions: https://www.ibm.com/support/knowledgecenter/SSKFYE_1.0.3/install.html
     
    We have it on our roadmap to deliver ZOUA as a pax file, but that is not yet generally available. I'll connect you with the dev team offline to discuss early availability of the pax file via sponsor user programs.

    Thanks,
    Skyla


    ------------------------------
    Skyla Loomis
    ------------------------------



  • 8.  RE: Introducing Ansible to z/OS Automation

    Posted Mon June 29, 2020 11:30 AM
    Excuse my typos! ZOAU - Z Open Automation Utilities :)

    ------------------------------
    Skyla Loomis
    ------------------------------



  • 9.  RE: Introducing Ansible to z/OS Automation

    IBM Champion
    Posted Mon June 29, 2020 04:06 PM
    Just wanted to share where you can get the ZOAU product for install on z/OS.  We had a hard time finding it at first and wanted to see if there was a no-charge offering based on the fact that at this stage we are treating Ansible as a POC.  Here's what I received from IBM.

    There are 4 products (PIDs) that ZOAU (HAL5100) is available in:

    • IBM Z Open Development (Program ID: 5737-I22)
    • IBM Application Delivery Foundation for z Systems (Program ID: 5655-AC5)
    • IBM Dependency Based Build (Program ID: 5737-K80)
    • IBM Z Open Automation Utilities (Program ID: 5698-PA1 for the base product and Program ID: 5698-PAS for service/support)
    The first 3 are paid products, the 4th is a newly available PID for ZOAU that is a no charge offering with optional service and support.

    ------------------------------
    Phillip Allison
    ENterprise Architect
    Black Knight Inc
    Jacksonville FL
    904-854-5905
    ------------------------------



  • 10.  RE: Introducing Ansible to z/OS Automation

    Posted Tue June 30, 2020 12:25 AM
    We also created an IBM Content Solution page, that you may find helpful, with information on prereqs and getting started with Red Hat Ansible Certified Content for IBM Z: https://www.ibm.com/support/z-content-solutions/ansible/

    ------------------------------
    Skyla Loomis
    ------------------------------



  • 11.  RE: Introducing Ansible to z/OS Automation

    IBM Champion
    Posted Wed July 01, 2020 08:45 AM
    Skyla, this is a great resource - thanks for making this available to the community.  One Question and one Suggestion for you.
    Q: The website seems to favor the use of IBM Open Enterprise Python for z/OS, what about folks like us who have already installed Rocket Software's Python, in our case v3.6.1.  Is this supported with Ansible / ZOAU?
    S: The website you provided lends itself very well to a z/OSMF workflow.  Any thoughts on that?


    ------------------------------
    Phillip Allison
    ENterprise Architect
    Black Knight Inc
    Jacksonville FL
    904-854-5905
    ------------------------------



  • 12.  RE: Introducing Ansible to z/OS Automation

    Posted Thu July 09, 2020 06:09 PM

    Hey Phillip - Very happy to hear that you find the content solution page helpful! We always welcome feedback on what else would be useful.

    On your question about Python, we strongly recommend that clients use the IBM Open Enterprise Python for z/OS. The Rocket Python works today with Ansible and ZOAU, but we recommend that you make plans to move to the IBM Open Enterprise Python for z/OS.


    On your suggestion, I think it's good to take a step back when considering both z/OSMF and Ansible. Ansible (the open source version) and the Red Hat Ansible Automation Platform (the supported, enterprise version) are more than a workflow engine, they are tackling the problem of centralizing as much automation throughout the enterprise as possible for:

    • normalization of skills across disciplines -  no matter what platform, OS, or network device Ansible allows you to write yaml (roles, playbooks) to both write new automation or invoke existing automation
    • orchestration across LPARs, across platforms and devices for complex deployments
    • visibility to not only the immediate teams using the automation but other teams that may be able to benefit from automation reuse
    • visibility to lines of business on how much automation is being used to help make decisions and see results of their investment

    z/OSMF certainly does some of this at the z/OS level but what we are finding with our clients is that many are already taking steps toward an enterprise-wide Ansible strategy and we are meeting them there.

    There is also a z/OSMF collection in the works (available on Galaxy) so that Ansible can drive z/OSMF workflows and services beyond just calling the REST APIs. Some clients who have already made an investment in z/OSMF want to interface from Ansible through z/OSMF while others are really embracing the agentless approach via SSH/Python/ZOAU. Both approaches are available, and can be mixed and matched. 



    ------------------------------
    Skyla Loomis
    Vice President, IBM Z Application Platform
    ------------------------------



  • 13.  RE: Introducing Ansible to z/OS Automation

    IBM Champion
    Posted Fri July 10, 2020 08:29 AM
    Hi Skyla,
    I think my suggestion about a z/OSMF workflow was not well worded.  What I meant was that given the number of steps both on/off the z/OS platform - perhaps a z/OSMF workflow for installing and configuring ansible could be used.  This would have 2 sections, first to detail the steps needed to set up a control node under Linux and second the steps needed on z/OS to become a managed node.  The second section especially since we are talking about installing Python and ZOAU and any associated pre-reqs.  Sorry for the confusion.

    ------------------------------
    Phillip Allison
    ENterprise Architect
    Black Knight Inc
    Jacksonville FL
    904-854-5905
    ------------------------------



  • 14.  RE: Introducing Ansible to z/OS Automation

    Posted Wed July 15, 2020 05:14 PM
    Thanks for the clarification of your suggestion, Phillip - I did misunderstand your point originally. Great idea that we can provide more automation to simplify the setup of ZOAU and Python on the z/OS managed node. A z/OSMF workflow is definitely a possibility, and something we'll look at in the future. Another approach the team came up with is to provide a REXX module (modules don't have to be written in Python, and in fact our zos_ping module is written in REXX today), that can be driven from Ansible to automate the setup of ZOAU and Python - this provides the lowest bar to entry. Appreciate the feedback - definitely something we're looking into!

    ------------------------------
    Skyla Loomis
    Vice President, IBM Z Application Platform
    ------------------------------



  • 15.  RE: Introducing Ansible to z/OS Automation

    Posted Mon August 10, 2020 11:23 PM
    Hi Jordi - I'm happy to now share that we have a zTrial live for IBM z/OS Automation via Red Hat® Ansible®. You can find it by scrolling down to the IT Operations Software Trials section of the zTrial landing page: https://www.ibm.com/it-infrastructure/z/software-trials . Enjoy!

    ------------------------------
    Skyla Loomis
    Vice President, IBM Z Application Platform
    ------------------------------



  • 16.  RE: Introducing Ansible to z/OS Automation

    IBM Champion
    Posted Thu September 30, 2021 06:22 PM
    Hi Phillip, We are very keen to get learning Ansible and how it can automate our z/OS systems that we have through the Remote Developer Program. 

    Do you have any advice on how to get started using Ansible AWX (Open Source version of the Ansible Tower) and where it needs to sit so it can talk to our z/OS system? All we have is the zOS system, and not really any access to Linux - but as far as I'm aware it doesn't run there (yet!).

    ------------------------------
    Ian Chappell
    ------------------------------



  • 17.  RE: Introducing Ansible to z/OS Automation

    IBM Champion
    Posted Fri October 01, 2021 08:54 AM

    Linux can be run inside z/OS through the use of zCX

    https://www.ibm.com/support/z-content-solutions/container-extensions/

     

    Before deploying it there, make sure it really makes sense to do so. 

    While operational benefits may exist, the cost of running on general purpose processors compared to IFL needs to be considered. 

     

    Kurt Acker

    Principal IT Architect 

    Sine Nomine Associates

     

    Celebrating 20+ years of customer success  






  • 18.  RE: Introducing Ansible to z/OS Automation

    Posted Fri October 01, 2021 10:00 AM
    zCX work will all run on zIIPs if you allow it or require it. 
    Gary

    ------------------------------
    Gary Puchkoff
    Poughkeepsie NY
    ------------------------------



  • 19.  RE: Introducing Ansible to z/OS Automation

    Posted Mon October 04, 2021 10:29 AM
    .. .. in fact I would expect z/CX operational costs to be lower than Linux on z, so should be attractive for workloads that only need a Docker image.  Costs would be similar from a pure CPU hardware sense ( as zIIP capacity is generally about the same cost as IFLs) but lower cost in management (no Linux O/S management)  and probably lower also  in software licensing (in that it does not contribute to the traditional z/OS - software stack costs, but a one-off enablement feature per mainframe then avoids the license costs of z/VM and a  Linux distro support agreement,  which would be needed for a full Linux on z implementation) .

    ------------------------------
    Jonathan Collins
    ------------------------------



  • 20.  RE: Introducing Ansible to z/OS Automation

    Posted Fri October 01, 2021 09:40 AM
    I went to github to do a little snooping and I had not thought of using tower yet.  However, I did see that for the AWX version it needs to run in a kubernetes cluster (Linux).  They recommend MiniKube to use for development.  Without any Linux you are really limited to make the connections you are looking for.  I thought I would create a vm with linux and use that as my test machine to connect to my zDT machine.  That way I can test the connection to the z/OS developer image I have running.  That way I could run Minikube and then install the AWX operator to test.

    ------------------------------
    Phillip Wilson
    ------------------------------