This is a small guide to go through how to integrate Tower into CloudForms 4.5 as there are some issues with it out of the box.

Fix Missing Ansible Tower Job Launcher

CloudForms 4.5 GA there is a deprecated ConfigurationManagement namespace that has been replaced with AutomationManagement.

The way to launch Ansible Tower jobs is to point to /system/request/ansible_tower_job which still calls ConfigurationManagement. The new namespace has all the required code but its not wired up as of CloudForms 4.5 GA. So we have to do it ourselves.

Old-instance

1.) Go to Automation -> Automate -> Explorer.
2.) Create a new domain called AnsibleTower and make sure its enables ( You can skip this and use youre existing custom domain if you have one )
3.) Copy /ManageIQ/System/Request/ansible_tower_job to your AnsibleTower domain and keep the same path.

copy-instance

copied
4.) Edit the instance you just copied.
5.) In (rel4) change the text ConfigurationManagement to AutomationManagement and click Save.

updated.png

 

Fix Out Of The Box CloudForms Inventory Script

As of CloudForms 4.5 GA the out of the box inventory script will return whatever the first IP is that CloudForms is aware of. The problem is sometimes these are ipv6 IP addresses. Ansible Tower does not work well with ipv6 at this time. A modified CloudForms inventory script is available to ignore ipv6 addresses when inventory is generated.

1.) ssh into your tower box

2.) Change into the Ansible Tower inventory directory
cd /var/lib/awx/venv/tower/lib/python2.7/site-packages/awx/plugins/inventory

3.) Backup the existing python script
mv cloudforms.py cloudforms.py.orig

4.) Get an updated script
wget https://raw.githubusercontent.com/redhat-gpe/cf_customization_public/master/inventory/cloudforms.py

5.) Set correct permissions on the new script
chown awx:awx cloudforms.py;chmod +x cloudforms.py