Last week I started on a personal project to get Ansible Tower upgraded in our lab. Our Tower deployment actually runs in AWS as an EC2 instance with some EBS backed storage. It’s a simple and common setup for folks that are running Tower. There wasn’t much excitement with this upgrade from 3.1 to 3.4 except for one minor hiccup.

We typically run lean and mean in the lab, using only what we really need to use resource-wise. The AWS instance for Tower is a m3.medium which gives a single vCPU and 3.75 GB of RAM. Ansible Tower requires 2 GB RAM minimum but has a recommended size of 4 GB RAM. Thus, the m3.medium seems to the most ideal EC2 instance type of this type of testing workload.

While the original 3.1 deployment had no issues with the m3.medium, the upgrade failed several times and quit reporting the following error:

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."}
	to retry, use: --limit @/home/ec2-user/ansible-tower-setup-3.4.3-1/install.retry

Doing some quick research, it seems that the requirements had changed for a beefier server size for Tower. The new requirements are 2 vCPU and 4 GB RAM minimum for the installation of Tower.

To address this issue, I shut down the Tower instance and changed the instance type from m3.medium to m3.large to attempt the installation again. This worked successfully and Tower was able to get up and running.

For a test, I shutdown the Tower instance again and changed it back to an m3.medium to see if it would work. It did, but I did notice that it was a little sluggish when launching, but nothing after that. I would say it’s at the borderline but sufficient enough for testing or lab work.

Looking at other instance types, there only a few options to select a cheap instance type that meets the requirements. I highly recommend the following link for searching the different instance types and their associated costs.

https://www.ec2instances.info/

The T3.medium is the best choice right now for this. Giving 2 vCPU and 4 GB RAM, with boost option as well. The cost is the cheapest in the 2 by 4 category, at least at the time of this article. Always check the latest prices before committing to the cloud folks. 🙂

Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.