Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tools:ansible [2022/12/13 12:59] – [Configuration] darrontools:ansible [2025/03/27 13:37] (current) – [Ansible automation] darron
Line 3: Line 3:
 Ansible is an automation tool, a secure shell frontend with expect like functionality. Due to it using Ansible is an automation tool, a secure shell frontend with expect like functionality. Due to it using
 SSH it's a very simple service to utilise and requires only python to be installed on SSH it's a very simple service to utilise and requires only python to be installed on
-each managed machine. SSH should to be configured using authorized keys and is not documented here.+each managed machine. SSH should be configured using authorized keys and is not documented here.
  
 It is recommended to develop the process manually before implementing it in Ansible to allow understanding It is recommended to develop the process manually before implementing it in Ansible to allow understanding
Line 35: Line 35:
  
 <code> <code>
-pip3 install pip-search+pip3 install pip-search --break-system-packages
 pip_search ansible pip_search ansible
 </code> </code>
Line 48: Line 48:
  
 <code> <code>
-pip3 install ansible+pip3 install ansible --break-system-packages
 rehash rehash
 +</code>
 +
 +If ansible was already installed and needs updating
 +
 +<code>
 +pip3 install --upgrade ansible --break-system-packages
 </code> </code>
  
Line 192: Line 198:
 Install python3 on each host you wish to perform operations on Install python3 on each host you wish to perform operations on
  
 +__Debian / Kali__
 <code> <code>
 apt install python3 python3-openssl apt install python3 python3-openssl
 +</code>
 +
 +__Red Hat / Oracle __
 +<code>
 +yum install python3 python3-pyOpenSSL
 </code> </code>
  
Line 200: Line 212:
 ===Configuration=== ===Configuration===
  
-Generate default config+Generate default configuration
  
 <code> <code>
 +mkdir -p ~/.ansible
 ansible-config init --disabled -t all > ~/.ansible.cfg ansible-config init --disabled -t all > ~/.ansible.cfg
 </code> </code>
Line 209: Line 222:
  
 <code> <code>
-touch .ansible/hosts +touch ~/.ansible/hosts 
-sed -i 's/;inventory=\/etc\/ansible\/hosts/inventory=~\/.ansible\/hosts/' .ansible.cfg+sed -i 's/;inventory=\/etc\/ansible\/hosts/inventory=~\/.ansible\/hosts/' ~/.ansible.cfg
 </code> </code>
  
Line 235: Line 248:
 supported modules. supported modules.
  
-Here is one to upgrade debian.+Here is one to update debian.
  
-__upgrade.yml__+__debian_update.yml__
 <code> <code>
 --- ---
Line 243: Line 256:
   become: yes   become: yes
   tasks:   tasks:
-  - name: Upgrade+  - name: UPDATE
     ansible.builtin.apt:     ansible.builtin.apt:
       update_cache: yes       update_cache: yes
       upgrade: full       upgrade: full
 +</code>
 +
 +And, another to update REDHAT, Eg. Oracle Linux
 +
 +__redhat_update.yml__
 +
 +<code>
 +---
 +- hosts: VM_REDHAT
 +  become: yes
 +  tasks:
 +  - name: UPDATE
 +    yum:
 +      name: '*'
 +      state: latest
 </code> </code>
  
Line 254: Line 282:
  
 <code> <code>
-ansible-playbook ~/.ansible/upgrade.yml+ansible-playbook ~/.ansible/debian_update.yml
 PLAY [home] *************************************************************************************************************** PLAY [home] ***************************************************************************************************************
  
Line 271: Line 299:
 ok: [PiF] ok: [PiF]
  
-TASK [Upgrade] ************************************************************************************************************+TASK [UPDATE] ************************************************************************************************************
 [WARNING]: Module invocation had junk after the JSON data: 1:23.50s [WARNING]: Module invocation had junk after the JSON data: 1:23.50s
 changed: [PiH] changed: [PiH]
Line 321: Line 349:
 </code> </code>
 ===Resources=== ===Resources===
 +
 +[[https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html|Ansible Inventory]]
  
 [[https://docs.ansible.com/ansible/latest/collections/index_module.html|Ansible Modules]] [[https://docs.ansible.com/ansible/latest/collections/index_module.html|Ansible Modules]]
 +