19-04-2021



Ansible Tower (formerly ‘AWX’) is a web-based solution that makes Ansible even more easy to use for IT teams of all kinds. It’s designed to be the hub for all of your automation tasks.

  1. Docker Awx_web
  2. Docker Awx Install
  3. Docker Awx Restart
  4. Docker Awx Start
  5. Docker Awx Upgrade
  6. Docker Awx_task

Tower allows you to control access to who can access what, even allowing sharing of SSH credentials without someone being able to transfer those credentials. Inventory can be graphically managed or synced with a wide variety of cloud sources. It logs all of your jobs, integrates well with LDAP, and has an amazing browsable REST API. Command line tools are available for easy integration with Jenkins as well. Provisioning callbacks provide great support for autoscaling topologies.

AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is the upstream project for Tower, a commercial derivative of AWX.

Prerequisites

ISSUE TYPE Bug Report COMPONENT NAME Installer SUMMARY Can't get AWX running because dockercontainer module not working. Without any Python docker modules installed i got: FAILED! Docker is a free and open source tool designed to build, deploy, and run applications inside containers. Host on which docker is installed is known Read More » How to Install and Use Docker on Ubuntu 20.04 / 20.10. The Ansible community team has announced the release of Ansible 3.0.0 and here are the questions about the release that we’ve heard from community members so far. If you have a question that is not answered below, let us know on the mailing lists or IRC. Ansible AWX is a free and opensource front-end web application that provides a user interface to manage Ansible playbooks and inventories, as well as a REST API for Ansible. It is an open source version of Red Hat Ansible Tower. In this guide, we are going to install Ansible AWX on Ubuntu 20.04 LTS. If you're attempting to migrate an older Docker-based AWX installation, see: Migrating Data from Local Docker The AWX Operator Starting in version 18.0, the AWX Operator is the preferred way to install AWX.

Before you can run a deployment, you’ll need the following installed in your local environment:

  • Ansible Requires Version 2.8+
  • Docker
    • A recent version
  • docker Python module
    • This is incompatible with docker-py. If you have previously installed docker-py, please uninstall it.
    • We use this module instead of docker-py because it is what the docker-compose Python module requires.
  • Git Requires Version 1.8.4+
  • Python 3.6+
  • Node 10.x LTS version
    • This is only required if you’re building your own container images with use_container_for_build=false
  • NPM 6.x LTS
    • This is only required if you’re building your own container images with use_container_for_build=false

System Requirements

The system that runs the AWX service will need to satisfy the following requirements

  • At least 4GB of memory
  • At least 2 cpu cores
  • At least 20GB of space
  • Running Docker, Openshift, or Kubernetes
  • If you choose to use an external PostgreSQL database, please note that the minimum version is 10+.

Installation steps:

1. Install Dependencies

yum install -y epel-release

yum remove python-docker-py

yum install -y yum-utils device-mapper-persistent-data lvm2 ansible git python-devel python-pip python-docker-py vim-enhanced

pip install cryptography
pip install jsonschema
pip install docker-compose~=1.23.0
pip install docker –upgrade

2. Install docker

Configure docker ce stable repository.

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Installing docker.

yum install docker-ce -y

Start docker service.

systemctl start docker

Enable docker service.

systemctl enable docker

3. Deploy AWX

Clone AWX repo

git clone https://github.com/ansible/awx.git

Clone commercial logos

cd awx/

Docker

git clone https://github.com/ansible/awx-logos.git

Configure AWX

cd installer/

$ vim inventory

awx_official=true

Docker Awx_web

Deploy AWX

Docker Awx Install

ansible-playbook -i inventory install.yml -vv

Docker Awx Restart

Check the status

docker ps -a

Docker Awx Start

AWX is ready and can be accessed from the browser.

http://ipaddress:80/

the default username is “admin” and the password is “password”.

Final checks:

  1. verify whether the service is started or not with ss -tlnp | grep 80
  2. make sure your firewall is open for port 80
  3. make sure your OS is using python 3.6+ and pip3

https://github.com/ansible/awx/blob/devel/INSTALL.md

The Ansible community uses a range of tools for working with the Ansible project. This is a list of some of the most popular of these tools.

If you know of any other tools that should be added, this list can be updated by clicking “Edit on GitHub” on the top right of this page.

Docker Awx Upgrade

An open-source, free GUI text editor created and maintained by GitHub. You can keep track of git projectchanges, commit from the GUI, and see what branch you are on. You can customize the themes for different colors and install syntax highlighting packages for different languages. You can install Atom on Linux, macOS and Windows. Useful Atom plugins include:

  • language-yaml - YAML highlighting for Atom (built-in).

  • linter-js-yaml - parses your YAML files in Atom through js-yaml.

A free, open-source text editor and IDE that supports auto-indentation, syntax highlighting and built in terminal shell(among other things).

  • yaml-mode - YAML highlighting and syntax checking.

  • jinja2-mode - Jinja2 highlighting and syntax checking.

  • magit-mode - Git porcelain within Emacs.

A full IDE (integrated development environment) for Python software development. It ships with everything you need to write python scripts and complete software, including support for YAML syntax highlighting. It’s a little overkill for writing roles/playbooks, but it can be a very useful tool if you write modules and submit code for Ansible. Can be used to debug the Ansible engine.

A closed-source, subscription GUI text editor. You can customize the GUI with themes and install packages for language highlighting and other refinements. You can install Sublime on Linux, macOS and Windows. Useful Sublime plugins include:

  • GitGutter - shows information about files in a git repository.

  • SideBarEnhancements - provides enhancements to the operations on Sidebar of Files and Folders.

  • Sublime Linter - a code-linting framework for Sublime Text 3.

  • Pretty YAML - prettifies YAML for Sublime Text 2 and 3.

  • Yamllint - a Sublime wrapper around yamllint.

An open-source, free GUI text editor created and maintained by Microsoft. Useful Visual Studio Code plugins include:

  • YAML Support by Red Hat - provides YAML support through yaml-language-server with built-in Kubernetes and Kedge syntax support.

  • Ansible Syntax Highlighting Extension - YAML & Jinja2 support.

  • Visual Studio Code extension for Ansible - provides autocompletion, syntax highlighting.

An open-source, free command-line text editor. Useful vim plugins include:

  • Ansible vim - vim syntax plugin for Ansible 2.x, it supports YAML playbooks, Jinja2 templates, and Ansible’s hosts files.

An open-source Community edition and closed-source Enterprise edition, integrated development environments based on IntelliJ’s framework including IDEA, AppCode, CLion, GoLand, PhpStorm, PyCharm and others. Useful JetBrains platform plugins include:

Docker Awx_task

  • Ansible Vault Editor - Ansible Vault Editor with auto encryption/decryption.

There are various ways to find existing issues and pull requests (PRs)

  • PR by File - shows a current list of all open pull requests by individual file. An essential tool for Ansible module maintainers.

  • jctanner’s Ansible Tools - miscellaneous collection of useful helper scripts for Ansible development.

  • Ansible Lint - a highly configurable linter for Ansible playbooks.

  • Ansible Review - an extension of Ansible Lint designed for code review.

  • Molecule is a testing framework for Ansible plays and roles.

  • yamllint is a command-line utility to check syntax validity including key repetition and indentation issues.

  • Ansible cmdb - takes the output of Ansible’s fact gathering and converts it into a static HTML overview page containing system configuration information.

  • Ansible Inventory Grapher - visually displays inventory inheritance hierarchies and at what level a variable is defined in inventory.

  • Ansible Playbook Grapher - A command line tool to create a graph representing your Ansible playbook tasks and roles.

  • Ansible Shell - an interactive shell for Ansible with built-in tab completion for all the modules.

  • Ansible Silo - a self-contained Ansible environment by Docker.

  • Ansigenome - a command line tool designed to help you manage your Ansible roles.

  • ARA - records Ansible playbook runs and makes the recorded data available and intuitive for users and systems by integrating with Ansible as a callback plugin.

  • Awesome Ansible - a collaboratively curated list of awesome Ansible resources.

  • AWX - provides a web-based user interface, REST API, and task engine built on top of Ansible. AWX is the upstream project for Red Hat Ansible Tower, part of the Red Hat Ansible Automation subscription.

  • Mitogen for Ansible - uses the Mitogen library to execute Ansible playbooks in a more efficient way (decreases the execution time).

  • nanvault - a standalone tool to encrypt and decrypt files in the Ansible Vault format, featuring UNIX-style composability.

  • OpsTools-ansible - uses Ansible to configure an environment that provides the support of OpsTools, namely centralized logging and analysis, availability monitoring, and performance monitoring.

  • TD4A - a template designer for automation. TD4A is a visual design aid for building and testing jinja2 templates. It will combine data in yaml format with a jinja2 template and render the output.

  • PHP-Ansible - an object oriented Ansible wrapper for PHP.