Merge "Adding scale up feature to prox ACL SRIOV OvS-DPDK."
[yardstick.git] / yardstick / common / utils.py
index 2052479..9eba896 100644 (file)
@@ -30,6 +30,7 @@ import subprocess
 import sys
 import time
 import threading
+import math
 
 import six
 from flask import jsonify
@@ -292,6 +293,17 @@ def make_ipv4_address(ip_addr):
     return ipaddress.IPv4Address(six.text_type(ip_addr))
 
 
+def get_ip_range_count(iprange):
+    start_range, end_range = iprange.split("-")
+    start = int(make_ipv4_address(start_range))
+    end = int(make_ipv4_address(end_range))
+    return end - start
+
+
+def get_ip_range_start(iprange):
+    return str(make_ipv4_address(iprange.split("-")[0]))
+
+
 def safe_ip_address(ip_addr):
     """ get ip address version v6 or v4 """
     try:
@@ -505,7 +517,7 @@ def setup_hugepages(ssh_client, size_kb):
     NR_HUGEPAGES_PATH = '/proc/sys/vm/nr_hugepages'
     meminfo = read_meminfo(ssh_client)
     hp_size_kb = int(meminfo['Hugepagesize'])
-    hp_number = int(abs(size_kb / hp_size_kb))
+    hp_number = int(math.ceil(size_kb / float(hp_size_kb)))
     ssh_client.execute(
         'echo %s | sudo tee %s' % (hp_number, NR_HUGEPAGES_PATH))
     hp = six.BytesIO()