Ansible 101 – Episode 10 – Ansible Tower and AWX

    26
    20



    Jeff Geerling (geerlingguy) demonstrates Ansible Tower and AWX, and compares the two tools, following examples in chapter 11 of Ansible for DevOps.

    LEGO Saturn V: https://amzn.to/3c2rmyw
    NASA ‘Worm’ T-shirt: https://www.shopnasa.com/collections/mens/products/nasa-worm-t-shirt

    Ansible for DevOps:Ā https://www.ansiblefordevops.com

    Support Jeff on GitHub:Ā https://github.com/sponsors/geerlingguy
    Support Jeff on Patreon:Ā https://www.patreon.com/geerlingguy

    Contents:

    00:00 – Start
    00:35 – Spaaaaaace!
    03:29 – Intro
    04:51 – Questions from last episode
    11:13 – Intro to Tower and AWX
    15:00 – How to install Tower or AWX
    21:28 – Running the Demo Job Template
    22:19 – Adding a playbook to Tower
    27:50 – Using Galaxy roles and collections
    29:58 – Add a credential to Tower
    33:21 – Add an inventory to Tower
    36:15 – Add a git project to Tower
    38:23 – Add a job template to Tower
    41:01 – Using Galaxy requirements in Tower
    44:20 – Failure to launch
    50:52 – Tower Dashboard and other parts
    54:51 – Jenkins section in book
    56:28 – Outtro
    58:54 – Someone fell upstairs

    source

    Previous articleZabbix Tutorial for Beginners | Installation, Configuration, and Overview
    Next articleWhat is Ansible Roles? | Ansible Roles Explained | Role directory structure & creating a new Role.

    20 COMMENTS

    1. Apparently the installation method for AWX (compared to the one in the book) changed and that doesn't work anymore šŸ™ Do you have a video or something on how to configure a proper K8s cluster with AWX on it, instead of the test one?

    2. I love AWX/tower and it API. But some things are just not possible.
      Eg:
      I have not found a way to query an inventory via the api and apply a limit to it. a simple question like:

      On what hosts of inventory X with group limit Y will this template run?

      Is not possible I think.
      CLI it would just be ansible-playbook –list-hosts -i X -l Y

    3. I think you're timelines on this are screwed – you have a whole section at 22:22 title "Adding playbook to Tower", and its just waffle about a github repo… I don't see much regarding tower, until after 30:00 :S .. But this has been very useful to give some grounding on usage, so thank you very mich šŸ˜€

    4. I do not understand what I am doing wrong, but when I execute my template it does not seem to try to pull the collections. I tried putting my requirements.yml file in a "collections" directory at the same level as my main.yml (top directory level). I have also put the requirements.yml next to the main.yml as well. Neither worked. I am using Ansible Tower 3.7.4 with Ansible 2.9.15. Do I need to include an actual anisble-galaxy command in my ansible script itself? Or should it find the collections by just having the the collections/requirements.yml?

    5. I have a Problem to run my Playbook, i will save the Config from a Cisco Switch. And i get this. [WARNING]: Could not match supplied host pattern, ignoring: SWITCHES
      PLAY [SWITCHES] **************************************************************
      skipping: no hosts matched And i don“t find the Problem. In Inventories i write the Name SWITCHES with GROUP hosts under host i call it 10.10.1.13 from my Switch (variables hosts: 10.10.1.13) and under the Hosts i Add the Host 10.10.1.13 with Inventory SWITCHES. Thx for Help.

    6. How to porting the Ansible Galaxy collections to Ansible Tower perfectly ? Great sharing and thanks a lot.
      First, run
      #ansible-galaxy collection install devsec.hardening on Ansible Tower server successfully
      and then wrote an simple playbook (yml file) on Project of Ansible Tower platform.

      Finally, it shows error message as below when I launch it on Ansible Tower latest version 3.8.
      ====================================================================
      ERROR! the role 'devsec.hardening.os_hardening' was not found in devsec.hardening:ansible.legacy:/tmp/awx_75_ynkccycw/project/roles:/tmp/awx_75_ynkccycw/requirements_roles:/var/lib/awx/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/tmp/awx_75_ynkccycw/project……

      The offending line appears to be:

      19
      20 roles:
      21 – devsec.hardening.os_hardening
      22 ^ here