diff --git a/ceilometer/network/statistics/__init__.py b/ceilometer/network/statistics/__init__.py index 29df6e993..d3afe737c 100644 --- a/ceilometer/network/statistics/__init__.py +++ b/ceilometer/network/statistics/__init__.py @@ -71,7 +71,8 @@ class _Base(plugin.CentralPollster): parse_url, params, cache) - for data in sample_data: + + for data in sample_data or []: if data is None: continue if not isinstance(data, list): diff --git a/ceilometer/tests/network/statistics/test_statistics.py b/ceilometer/tests/network/statistics/test_statistics.py index 5656290cb..df258f1e8 100644 --- a/ceilometer/tests/network/statistics/test_statistics.py +++ b/ceilometer/tests/network/statistics/test_statistics.py @@ -175,3 +175,13 @@ class TestBaseGetSamples(test.BaseTestCase): samples = self._get_samples('http://foo') self.assertEqual(len(samples), 0) + + def test_get_samples_return_no_generator(self): + class NoneFakeDriver(driver.Driver): + + def get_sample_data(self, meter_name, parse_url, params, cache): + return None + + self._setup_ext_mgr(http=NoneFakeDriver()) + samples = self._get_samples('http://foo') + self.assertFalse(samples)