Skip to content

IBM/ansible-for-i

Repository files navigation

Ansible Content for IBM Power Systems - IBM i

Description

The Ansible Content for IBM Power Systems - IBM i provides modules, action plugins, roles and sample playbooks to automate tasks on IBM i, such as command execution, system and application configuration, work management, fix management, application deployment, etc.

IBM Power Systems is a family of enterprise servers that helps transform your organization by delivering industry leading resilience, scalability and accelerated performance for the most sensitive, mission critical workloads and next-generation AI and edge solutions. The Power platform also leverages open source technologies that enable you to run these workloads in a hybrid cloud environment with consistent tools, processes and skills.

Ansible Content for IBM Power Systems - IBM i, as part of the broader offering of Ansible Content for IBM Power Systems, is available from Ansible Galaxy and Redhat Ansible Automation Plaform and has community support.

Requirements

In order to use the Ansible collection for Power Systems on IBM i with release 3.2.1 and beyond, you must have the following pre-requisite software installed and available on your Ansible server / control node and IBM i node:

  • Dependencies on non-IBM i Ansible server / control node

    • Python v3.10+ Python can be installed from a variety of sources, including the package manager for your operating system (apt, yum, etc). If you install Python from the package manager for your operating system, you must also install the development libraries (usually a package named python3-devel), as these are required when installing modules through pip.

      The official Python website: official Python website

      The unofficial Python version manager: unofficial Python version manager

    • Ansible core v2.16 to v2.18

      • Ansible core v2.16 requires Python 3.10+ on the Ansible control node.
      • Ansible core v2.17 requires Python 3.10+ on the Ansible control node.
      • Ansible core v2.18 requires Python 3.11+ on the Ansible control node.

      Users of Ansible core 2.15 should remain at collection release 3.2.0 due to changes with the ibmi_reboot module that support the latest Ansible core versions.

      The full compatiblity or support matrix for Ansible core versions and Python levels for the control node and targets is provided here.

      Ansible can be installed from a variety of sources, including the package manager for your operating system (apt, yum, etc). You can also install it using pip, the package manager for Python: pip3 install ansible

  • Dependencies on IBM i Ansible server / control node

    • Python v3.13

      • This level of python is provided through the IBM i Open Source Software packages.
    • Ansible core v2.18

      • Ansible core v2.18 requires Python 3.13 on the Ansible control node.

      Users of Ansible core 2.15 should remain at collection release 3.2.0 due to changes in the ibmi_reboot module that support the latest Ansible core versions.

      The full compatiblity or support matrix for Ansible core versions and Python levels for the control node and targets is provided here.

  • Dependencies on IBM i node:

    • 5733SC1 Base and Option 1
    • 5770DG1
    • python3
    • python3-itoolkit
    • python3-ibm_db

    To ensure a specific Python level, e.g., Python 3.9, that is compatible with the version of Ansible core on the control node, the python package prefix should instead specifiy the full Python level, e.g., python39 instead of python3, for installation.

  • Additional dependencies on IBM i Ansible server / control node:

    • Ansible v2.15+ is not available as a prepackaged rpm for IBM i, yet can be installed with python pip. In the documentation site noted below under "Resources" there are detailed instructions provided in the "Getting Started" section for setting up Ansible with pip.
    • Ansible v2.16 and v2.17 cannot be used on an IBM i control node with the currently available IBM i Python packages.

Known Issues

  • Currently IBM i target nodes must use the Python 3.9 level and cannot use Python 3.13 (the IBM i control node is fine at Python 3.13). The IBM i open source stack no longer supports the ibm_db package that the IBM i collection has been using, so the collection will shift to using ODBC instead in the future (Github issue 229).

Installation

Detailed installation instructions are available at the github installation site. This site provides information on installing the collection and any necessary prerequisites.

Use Cases

The primary use cases for the collection include: command execution, fix management, security compliance checking, systems checking (health, work management, etc.), and application deployment using a continuous integration and continuous deployment (CICD) model. Several of these collection use cases provide a set of playbooks that can be customized by the user and are located in the github usecases directory. There are other playbook examples in the github playbooks directory.

Testing

The collection testing consists of the executing the Ansible sanity test, applying the Ansible lint tool on all published YAML source, and applying the set of integration tests for the collection modules and roles. The collection testing environment uses Ansible core 2.16 and various Python levels such as 3.10, 3.11, and 3.12 with the control node and Python level 3.9 on the IBM i target node.

Contributing

Users may contribute to the collection by creating a github issue for an enhancement or bug fix and then creating a github pull request for evaluation.

Support

Users can open an issue for any suspected bugs (or enhancement requests, etc.) as a github issue. Github issues are addressed based on potential severity/impact of a problem, frequency of a problem, along with development availability. Collection issues can also be raised to IBM by users with formal support.

Release Notes and Roadmap

The release notes are in the github repository CHANGELOG.md file.

Related Information

For detail guides and reference, please visit the github Documentation site.

License Information

Some portions of this collection are licensed under GNU General Public License, Version 3.0, and other portions of this collection are licensed under Apache License, Version 2.0. See individual files for applicable licenses.

Copyright

© Copyright IBM Corporation 2020

About

the tool is to provide several customized modules for Ansible to manage IBM i systems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7

Languages