summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDino Madarang <dinox.madarang@intel.com>2017-09-28 18:10:28 +0000
committerRoss Brattain <ross.b.brattain@intel.com>2017-09-30 01:23:07 -0700
commit83cdbfb754580d5b0c023bc9e53c17d4442bde23 (patch)
treeae254f9521143c8172b7340eedf30381e16e8b03
parent9222dc4912a0f8646fe0f931dd854465a53106b6 (diff)
vnf_generic: Fix str object has no attribute items
When an IP range is specified in src_ip/dst_ip like: src_ip: - '152.16.100.180-152.16.100.181' yardstick would return str object has no attribute items error. This change will return the IP range as is if type is str. Change-Id: I3b097777f0d85b0600207157bebba18987ea2275 Signed-off-by: Dino Simeon Madarang <dinox.madarang@intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
-rw-r--r--tests/unit/benchmark/scenarios/networking/test_vnf_generic.py6
-rw-r--r--yardstick/benchmark/scenarios/networking/vnf_generic.py12
2 files changed, 14 insertions, 4 deletions
diff --git a/tests/unit/benchmark/scenarios/networking/test_vnf_generic.py b/tests/unit/benchmark/scenarios/networking/test_vnf_generic.py
index fa9b8549d..5b15daca4 100644
--- a/tests/unit/benchmark/scenarios/networking/test_vnf_generic.py
+++ b/tests/unit/benchmark/scenarios/networking/test_vnf_generic.py
@@ -361,6 +361,12 @@ class TestNetworkServiceTestCase(unittest.TestCase):
def test___init__(self):
assert self.topology
+ def test__get_ip_flow_range_string(self):
+ self.scenario_cfg["traffic_options"]["flow"] = \
+ self._get_file_abspath("ipv4_1flow_Packets_vpe.yaml")
+ result = '152.16.100.2-152.16.100.254'
+ self.assertEqual(result, self.s._get_ip_flow_range('152.16.100.2-152.16.100.254'))
+
def test__get_ip_flow_range(self):
self.scenario_cfg["traffic_options"]["flow"] = \
self._get_file_abspath("ipv4_1flow_Packets_vpe.yaml")
diff --git a/yardstick/benchmark/scenarios/networking/vnf_generic.py b/yardstick/benchmark/scenarios/networking/vnf_generic.py
index 6cea51b63..3f61116bc 100644
--- a/yardstick/benchmark/scenarios/networking/vnf_generic.py
+++ b/yardstick/benchmark/scenarios/networking/vnf_generic.py
@@ -140,8 +140,15 @@ class NetworkServiceTestCase(base.Scenario):
def _get_ip_flow_range(self, ip_start_range):
+ # IP range is specified as 'x.x.x.x-y.y.y.y'
+ if isinstance(ip_start_range, six.string_types):
+ return ip_start_range
+
node_name, range_or_interface = next(iter(ip_start_range.items()), (None, '0.0.0.0'))
- if node_name is not None:
+ if node_name is None:
+ # we are manually specifying the range
+ ip_addr_range = range_or_interface
+ else:
node = self.context_cfg["nodes"].get(node_name, {})
try:
# the ip_range is the interface name
@@ -163,9 +170,6 @@ class NetworkServiceTestCase(base.Scenario):
LOG.warning("Only single IP in range %s", ipaddr)
# fall back to single IP range
ip_addr_range = ip
- else:
- # we are manually specifying the range
- ip_addr_range = range_or_interface
return ip_addr_range
def _get_traffic_flow(self):