Home > Storage > PowerMax and VMAX > Storage Admin > Dell PowerMax: Ansible Modules Best Practices > Working with Ansible Automation Controller/AWX
Ansible Automation Controller (formerly Ansible Tower) and the open-source upstream AWX provide a web-based solution that makes Ansible accessible to IT teams of all kinds. Ansible Automation Controller is designed to be a central hub for automation tasks.
Ansible Automation Controller allows you to control who can access what. Manage and sync your inventory graphically with a wide variety of cloud sources. One of the most important features to many users is the browsable REST API.
To create an execution environment, see Creating Ansible execution environments using Ansible Builder. Figure 57 shows the addition of the execution environment to the Ansible Automation Controller/AWX configuration. The execution environment can be pulled from an image repository once it has been created and published.
After you define the execution environment on Automation Controller/AWX, the next step is to create a project and point it to where your playbooks are stored. Store your playbooks on a source control repository, such as GitHub or Mercurial, for tighter control over which playbooks can be run in a production environment. Figure 58, for example, shows the PowerMax_WhitePaper project linking to the sample playbooks stored on the Dell Technologies GitHub.
With the execution environment and a project configured, you can now create job templates to run the playbooks using the Ansible Automation Controller user interface.
Any playbooks run by Ansible Automation Controller must be flat playbooks without any additional file dependencies. Variables referenced in playbooks should be specified in the playbook itself or passed as extra variables at run time. A sample playbook in this format is here.
Figure 59 shows the creation of a template. When creating the template, the administrator selects the project, playbook, and execution environment created earlier. Figure 60 shows the extra variables section for defining the variable values to run the playbook. You can also use the job template in combination with surveys to populate the required variable values, however this method is outside the scope of this paper.
After Ansible Automation Controller/AWX is installed at your site and you have your execution environment imported with the modules loaded, you can run playbooks through the Automation Controller/AWX UI or the REST API.
Figure 61 shows the launching of a playbook using the Automation Controller/AWX UI. Selecting the prompt on launch option creates a prompt where the user can enter values for each of the extra variables for the playbook to run with.
You can identify the API template ID from the URL in the browser when you edit or run the template, as highlighted in Figure 61. In this example, the job template ID is 21. This value can be used for running the playbook with the Ansible Automation Controller/AWX REST API, as described here.
Ansible Automation Controller can be integrated with other tools, such as ServiceNow, BMC Remedy, and even home-grown systems, to provide automated service delivery and run playbooks for all your infrastructure by means of a single REST API.