User Tools

Site Tools


ansible

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
ansible [2026/03/01 12:03] – [Executing] reddyansible [2026/03/01 19:14] (current) reddy
Line 106: Line 106:
         name: httpd         name: httpd
         state: latest  # present|absent|latest         state: latest  # present|absent|latest
 +
 +    - name: Task 2
 +      dnf:
 +        name: 
 +          - net-tools
 +          - bind-utils
 +          - telnet
 +          - nmap
 +          - vim-enhanced
 +          - sysstat
 +          - tuned
 +          - numactl
      
     - name: Task 3     - name: Task 3
Line 158: Line 170:
         state: present         state: present
         reload: true         reload: true
 +  
 +    - name: Task 8
 +      selinux:
 +        policy: targeted
 +        state: permissive
 +  
 +    - name: Task 8
 +      service:
 +        name: firewalld
 +        state: stopped  # started|stopped|reloaded|restarted
 +        enabled: no
      
     - name: Task 8     - name: Task 8
Line 169: Line 192:
     - name: Task 6     - name: Task 6
       local_action: echo "Hello"       local_action: echo "Hello"
 +  
 +    - name: Task 6
 +      script: /tmp/script1
      
     - name: Task 6     - name: Task 6
Line 178: Line 204:
                  
 </code> </code>
 +
 +<code>
 +# Tasks to get the output from one command and use as conditional for another command
 +
 +- name: Check ping
 +  delegate_to: srv1
 +  shell: ping -c 1 somehost
 +  register: reachableping
 +  ignore_errors: true
 +
 +- name: Do something
 +  delegate_to: srv1
 +  shell: ./run_cmd_1
 +  ignore_errors: true
 +  when: "'100.0% packet loss' in reachableping.stdout"
 +</code>
 +
 +<code>
 +# Variables can be used for an entire block
 +
 +- name: Demonstrate environment variable in block
 +  hosts: localhost
 +  connection: local
 +  gather_facts: false
 +  vars:
 +    motd: Hello World
 +  tasks:
 +  - block:
 +
 +    - name: Print variable
 +      shell: "echo $motd"
 +      register: theoutput
 +
 +    - debug: var=theoutput.stdout
 +      environment:
 +        motd: "{{ motd }}"
 +</code>
 +
 +===== Ansible Navigator =====
 +
 +Ansible Navigator uses podman to create an EE environment to run the Ansible playbooks and provides a text user interface to navigate through the documentation, inventory, and execution results.
 +
 +Install Ansible Navigator with:
 +
 +<code>
 +pip3 install ansible-dev-tools ansible-navigator --user
 +
 +# or
 +
 +dnf install \
 +  --enablerepo=ansible-automation-platform-2.2-for-rhel-8-x86_64-rpms \
 +  ansible-navigator
 +</code>
 +
 +Use it with:
 +
 +<code>
 +ansible-navigator run playbook1.yaml
 +
 +ansible-navigator doc service  # Type ":{{ examples }}" to scroll to the example section of the doc
 +
 +ansible-navigator doc service -m stdout  # Getting output to stdout lets you use standard tools to search
 +</code>
 +
 +===== Common Ansible Problems =====
 +
 +<code>
 +ERROR: Ansible requires the locale encoding to be UTF-8; Detected ISO8859-1.
 +
 +Set the following environment variables within the shell before running ansible / ansible-playbook
 +
 +LANG="en_US.UTF-8"
 +LC_CTYPE="en_US.UTF-8"
 +</code>
 +
 +===== Also See =====
 +
 +  * [[http://miro.borodziuk.eu/index.php/2020/03/09/ansible-delegation/|Ansible Delegation]]
 +  * [[http://miro.borodziuk.eu/index.php/2020/02/13/ansible-vault/|Ansible Vault]]
 +  * [[http://miro.borodziuk.eu/index.php/2020/02/12/ansible-galaxy/|Ansible Galaxy]]
 +  * [[http://miro.borodziuk.eu/index.php/2020/03/22/ansible-paralellism/|Ansible Parallelism]]
 +  * [[https://www.redhat.com/sysadmin/faster-ansible-playbook-execution|8 Ways to Speed Up Your Ansible Playbooks]]
 +  * [[https://www.redhat.com/sysadmin/faster-ansible-modules|5 Ways to Make Your Ansible Modules Work Faster]]
  
  
ansible.1772363028.txt.gz · Last modified: by reddy

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki