summaryrefslogtreecommitdiffstats
path: root/deploy/tempest.py
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/tempest.py')
-rw-r--r--deploy/tempest.py22
1 files changed, 21 insertions, 1 deletions
diff --git a/deploy/tempest.py b/deploy/tempest.py
index 342a0205..93dabbe3 100644
--- a/deploy/tempest.py
+++ b/deploy/tempest.py
@@ -238,7 +238,7 @@ def update_hosts_interface(cluster_id, hosts_info, mac_address_map,
if host['os_version'] == iso_path:
print("do not have os iso file in /var/lib/daisy/kolla/.")
if enable_dpdk:
- host['hugepages'] = '80'
+ host['hugepages'] = str(get_hugepages(host))
host['hugepagesize'] = '1G'
client.hosts.update(host['id'], **host)
host_info = client.hosts.get(host['id']).to_dict()
@@ -249,6 +249,26 @@ def update_hosts_interface(cluster_id, hosts_info, mac_address_map,
add_host_role(cluster_id, host['id'], dha_host_name, vip, client)
+def get_hugepages(host):
+ total_str = str(host['memory']['total'])
+ total = int(filter(str.isdigit, total_str))
+ unit = filter(str.isalpha, total_str).lower()
+
+ if unit == 'kb':
+ total = total / 1024 / 1024
+ elif unit == 'mb':
+ total = total / 1024
+ elif unit == 'gb':
+ pass
+ elif unit == 'b' or unit == '':
+ total = total / 1024 / 1024 / 1024
+ num = total * 6 / 10
+ if num % 2 != 0:
+ num = num + 1
+
+ return num
+
+
def add_host_role(cluster_id, host_id, dha_host_name, vip, client):
role_meta = {'filters': {'cluster_id': cluster_id}}
role_list_generator = client.roles.list(**role_meta)