Chapter 29. Troubleshooting automation controller Useful troubleshooting information for automation controller. 29.1. Unable to connect to your host If you are unable to run the helloworld.yml example playbook from the Managing projects section of the Getting started with automation controller guide or other playbooks due to host connection errors, try the following: Can you ssh to your host? Ansible depends on SSH access to the servers you are managing. Are your hostnames and IPs correctly added in your inventory file? Check for typos. 29.2. Unable to login to automation controller through HTTP Access to automation controller is intentionally restricted through a secure protocol (HTTPS). In cases where your configuration is set up to run an automation controller node behind a load balancer or proxy as "HTTP only", and you only want to access it without SSL (for troubleshooting, for example), you must add the following settings in the custom.py file located at /etc/tower/conf.d of your automation controller instance: SESSION_COOKIE_SECURE = False CSRF_COOKIE_SECURE = False If you change these settings to false it enables automation controller to manage cookies and login sessions when using the HTTP protocol. You must do this on every node of a cluster installation. To apply the changes, run: automation-controller-service restart 29.3. Unable to run a playbook If you are unable to run the helloworld.yml example playbook from the Managing projects section of the Getting started with automation controller guide due to playbook errors, try the following: Ensure that you are authenticating with the user currently running the commands. If not, check how the username has been set up or pass the --user=username or -u username commands to specify a user. Is your YAML file correctly indented? You might need to line up your whitespace correctly. Indentation level is significant in YAML. You can use yamlint to check your playbook. 29.4. Unable to run a job If you are unable to run a job from a playbook, review the playbook YAML file. When importing a playbook, either manually or by a source control mechanism, keep in mind that the host definition is controlled by automation controller and should be set to hosts:all . 29.5. Playbooks do not show up in the Job Template list If your playbooks are not showing up in the Job Template list, check the following: Ensure that the playbook is valid YML and can be parsed by Ansible. Ensure that the permissions and ownership of the project path ( /var/lib/awx/projects ) is set up so that the "awx" system user can view the files. Run the following command to change the ownership: chown awx -R /var/lib/awx/projects/ 29.6. Playbook stays in pending If you are attempting to run a playbook job and it stays in the Pending state indefinitely, try the following actions: Ensure that all supervisor services are running through supervisorctl status . Ensure that the /var/ partition has more than 1 GB of space available. Jobs do not complete with insufficient space on the /var/ partition. Run automation-controller-service restart on the automation controller server. If you continue to have issues, run sosreport as root on the automation controller server, then file a support request with the result. 29.7. Reusing an external database causes installations to fail Instances have been reported where reusing the external database during subsequent installation of nodes causes installation failures. Example You perform a clustered installation. Then, you need to do this again and perform a second clustered installation reusing the same external database, only this subsequent installation failed. When setting up an external database that has been used in a prior installation, you must manually clear the database used for the clustered node before any additional installations can succeed. 29.8. Viewing private EC2 VPC instances in the automation controller inventory By default, automation controller only shows instances in a VPC that have an Elastic IP (EIP) associated with them. Procedure From the navigation panel, select Resources Inventories . Select the group that has the Source set to AWS , and click the Source tab. In the Source variables field, enter: vpc_destination_variable: private_ip_address Click Save and trigger an update of the group. Once this is done you can see your VPC instances. Note Automation controller must be running inside the VPC with access to those instances if you want to configure them.

Commands:
SESSION_COOKIE_SECURE = False CSRF_COOKIE_SECURE = False
automation-controller-service restart
chown awx -R /var/lib/awx/projects/
vpc_destination_variable: private_ip_address