Tendrl / tendrl-ansible

Ansible playbook for Tendrl!
GNU Lesser General Public License v2.1
1 stars 15 forks source link

Tendrl-ansible minimum memory requirement precheck #117

Closed nthomas-redhat closed 6 years ago

nthomas-redhat commented 6 years ago

Based on the performance testing, minimum memory required to run tendrl server is 4GB. This needs to be adjusted in the prechecks(from the current value of 16GB)

See more details below:

The prechecks playbook checks the size of total memory like this:

ansible_memtotal_mb >= 15000

This ansible_memtotal_mb fact is based on MemTotal field from /proc/meminfo of remote host, which is defined as (see man proc):

Total usable RAM (i.e. physical RAM minus a few reserved bits and the kernel binary code).

So if we just check the exact number for 4 GiB:

ansible_memtotal_mb >= 4096

that will fail for machine with exactly 4 GiB ram, because MemTotal on such machine will be bit smaller.

For this reason, we need to do this check with a smaller number, taking the reserved kernel bits into account. But

Here is a little list of observations (all done on RHEL 7, x86_64 machines):

So based on all this, I would suggest to check with 3700 MiB (to be extra save with the limit):

ansible_memtotal_mb >= 3700

mbukatov commented 6 years ago

fixed by https://github.com/Tendrl/tendrl-ansible/pull/118