Table of contents

Introduction

Ansible was created in 2012 and later acquired by Red Hat in 2015. Ansible is a powerful open-source automation tool that simplifies IT management by automating tasks such as configuration management, application deployment, and cloud provisioning. When used with IBM i, Ansible helps streamline various administrative tasks, enabling organizations to manage their IT environments more efficiently and effectively.

Architecture

This is the architecture I will be using for this course

Ansible architecture.png

<aside> 💡

Ansible sever = engine = control node Client = managed node

https://docs.ansible.com/ansible/latest/network/getting_started/basic_concepts.html

</aside>

Core Directory Structure

Simplified

graph TD
	  A(Ansible Core) --> |default directory| B[**/etc/ansible/**]
    B --> |main configuration| D[**ansible.cfg**]
    B --> |inventory| E[**hosts.ini**]
    B --> |automation units| F[**roles**]
    B --> |scripts| G[**playbooks**]
    G --> H>playbook.yml]
    
  style A fill:#ffcccc,stroke:#333,stroke-width:2px
  style B fill:#cce5ff,stroke:#333,stroke-width:2px
  style D fill:#ccffcc,stroke:#333,stroke-width:2px
  style E fill:#ccffcc,stroke:#333,stroke-width:2px
  style F fill:#ccffcc,stroke:#333,stroke-width:2px
  style G fill:#ccffcc,stroke:#333,stroke-width:2px
  style H fill:#fffdd0,stroke:#333,stroke-width:2px

Detailed

graph TD
A(Ansible Core Root) --> B[ansible.cfg]
A --> C[inventory/]
C --> C1[hosts.ini]
C --> C2[group_vars/]
C --> C3[host_vars/]
A --> D[roles/]
D --> D1[role1/]
D1 --> D1a[tasks/]
D1 --> D1b[handlers/]
D1 --> D1c[files/]
D1 --> D1d[templates/]
D1 --> D1e[vars/]
D1 --> D1f[defaults/]
D1 --> D1g[meta/]
A --> E[playbooks/]
E --> E1[playbook1.yml]
E --> E2[playbook2.yml]
A --> F[library/]
A --> G[callback_plugins/]
A --> H[filter_plugins/]

Prerequisites on IBM i (managed node)

LPP (Licensed Program Product)

Product 5733SC1 (base + option 1)

sIwxmsFgAp.png

TNImvncaP3.png