Handle range in the cpu_mask conversion for DPDK cores

cpu_mask filter plugin handles list of cores, extend it to
support range of cores to convert to mask.
Closes-Bug: #1854341

Change-Id: I06d929e1602ece966100a6913166910b9e301635
This commit is contained in:
Saravanan KR 2019-11-28 10:57:13 +00:00
parent d4ec96a09c
commit 709a11cbde
3 changed files with 10 additions and 5 deletions

View File

@ -14,8 +14,13 @@ class FilterModule(object):
# Example - for input of 1,13 the mask would be 2002
def cpu_mask(self, cpu_list):
mask = 0
cpus = cpu_list.split(',')
cpus = [int(i) for i in cpus]
cpus = []
for cpu in cpu_list.split(','):
if '-' in cpu:
rng = cpu.split('-')
cpus.extend(range(int(rng[0]), int(rng[1]) + 1))
else:
cpus.append(int(cpu))
cpus.sort()
max_val = int(cpus[-1])
byte_arr = bytearray(int(max_val / 8) + 1)

View File

@ -22,7 +22,7 @@
name: "tripleo-ovs-dpdk"
tasks_from: "config.yml"
vars:
tripleo_ovs_dpdk_pmd_core_list: "1,13"
tripleo_ovs_dpdk_pmd_core_list: "1,13-15"
tripleo_ovs_dpdk_lcore_list: "0,12"
tripleo_ovs_dpdk_socket_memory: "1024,1024"
tripleo_ovs_dpdk_emc_insertion_probablity: 10
@ -36,6 +36,6 @@
name: "tripleo-ovs-dpdk"
tasks_from: "config.yml"
vars:
tripleo_ovs_dpdk_pmd_core_list: "1,13"
tripleo_ovs_dpdk_pmd_core_list: "1,13-15"
tripleo_ovs_dpdk_lcore_list: "0,12"
tripleo_ovs_dpdk_socket_memory: "1024,1024"

View File

@ -43,7 +43,7 @@ def test_positive_dpdk_extra(host):
def test_positive_pmd(host):
other_config = get_config(host)
val = other_config['pmd-cpu-mask'].replace('"', '')
assert val == "2002"
assert val == "e002"
def test_positive_lcore(host):