Verify the route list before parsing the data key 83/39183/4
authorDeepak S <deepak.s@linux.intel.com>
Sat, 12 Aug 2017 22:13:21 +0000 (15:13 -0700)
committerDeepak S <deepak.s@linux.intel.com>
Wed, 16 Aug 2017 11:34:33 +0000 (04:34 -0700)
Exception:
line 502, in get_route_data
return next((route[data_key] for route in route_list if route['if'] ==
port), None)
TypeError: 'NoneType' object is not iterable

Change-Id: Ia45d90a4e9a61cb917b23efd03b86eafb249b747
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
yardstick/network_services/helpers/samplevnf_helper.py

index 1eefc5f..543d814 100644 (file)
@@ -499,7 +499,10 @@ class MultiPortConfig(object):
 
     def get_route_data(self, src_key, data_key, port):
         route_list = self.vnfd['vdu'][0].get(src_key, [])
-        return next((route[data_key] for route in route_list if route['if'] == port), None)
+        try:
+            return next((route[data_key] for route in route_list if route['if'] == port), None)
+        except (TypeError, StopIteration, KeyError):
+            return None
 
     def get_ports_gateway(self, port):
         return self.get_route_data('routing_table', 'gateway', port)