We experienced the following error during the initial setup of Ansible Tower 3.6.4-1 while using RedHat OTLC-LAB:
TASK [preflight : Preflight check - require new enough Ansible] ********************************************************************************************************************************************
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}
TASK [preflight : Preflight check - Fail if this machine lacks sufficient RAM.] ****************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "This machine does not have sufficient RAM to run Ansible Tower."}
PLAY RECAP *************************************************************************************************************************************************************************************************
localhost : ok=9 changed=1 unreachable=0 failed=1 skipped=25 rescued=0 ignored=0
[error] Oops! An error occurred while running setup.
[warn] /var/log/tower does not exist.
Setup log saved to setup.log.
If you look at the documentation, 4 GB RAM is the minimum requirement for Ansible Tower installation, so If you try to install Ansible Tower on a system having lower than 4 GB RAM, the installation fails. The strange part if that the lab was created with less than the minimum required:
To continue with the lab we had to disable memory Preflight check, edit default in the preflight role. But if by any reason you are installing Ansible Tower in your environment and no the lab and it such low memory but just for a testing purpose, or to evaluate a trial version managing just 10 nodes, you can use this workaround
To disable memory Preflight check, edit default in the preflight role, path of the file : ansible-tower-setup-3.6.4-1/roles/preflight/defaults/main.yml
In this file, set required_ram variable to the memory amount available on your system and it’s done. We configured 1500
Save the file with the new parameter and re-run the installation script again and it will pass the PreFlight minimum memory requirement check.