If hugepages config was not set charm breaks due to endswith('%') being applied to None

This commit is contained in:
Liam Young 2015-12-02 09:55:37 +00:00
parent ac3ea9ef1f
commit 12a506e0e5

View File

@ -807,14 +807,16 @@ def get_hugepage_number():
# and support multiple pool sizes - e.g. 2M and 1G.
hugepage_size = 2048
hugepage_config = config('hugepages')
if hugepage_config.endswith('%'):
import psutil
mem = psutil.virtual_memory()
hugepage_config_pct = hugepage_config.strip('%')
hugepage_multiplier = float(hugepage_config_pct) / 100
hugepages = int((mem.total * hugepage_multiplier) / hugepage_size)
else:
hugepages = int(hugepage_config)
hugepages = None
if hugepage_config:
if hugepage_config.endswith('%'):
import psutil
mem = psutil.virtual_memory()
hugepage_config_pct = hugepage_config.strip('%')
hugepage_multiplier = float(hugepage_config_pct) / 100
hugepages = int((mem.total * hugepage_multiplier) / hugepage_size)
else:
hugepages = int(hugepage_config)
return hugepages