summaryrefslogtreecommitdiffstats
path: root/deploy/tempest.py
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/tempest.py')
-rw-r--r--deploy/tempest.py29
1 files changed, 26 insertions, 3 deletions
diff --git a/deploy/tempest.py b/deploy/tempest.py
index 0c48d778..93dabbe3 100644
--- a/deploy/tempest.py
+++ b/deploy/tempest.py
@@ -164,13 +164,16 @@ def install_os_for_vm_step2(cluster_id, client):
def discover_host(hosts_name, client):
- while True:
+ retry = 90
+ while retry:
hosts_info = get_hosts(client)
if len(hosts_info) == len(hosts_name):
print('discover hosts success!')
- break
+ return
else:
time.sleep(10)
+ retry = retry - 1
+ err_exit('Failed to discover hosts')
def update_network(cluster_id, network_map, client):
@@ -235,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'] = '20'
+ host['hugepages'] = str(get_hugepages(host))
host['hugepagesize'] = '1G'
client.hosts.update(host['id'], **host)
host_info = client.hosts.get(host['id']).to_dict()
@@ -246,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)