diff --git a/ceilometer/neutron_client.py b/ceilometer/neutron_client.py index 5299ef45..28189873 100644 --- a/ceilometer/neutron_client.py +++ b/ceilometer/neutron_client.py @@ -392,19 +392,25 @@ class Client(object): @logged def list_listener(self): """This method is used to get the list of the listeners.""" - resp = self.client.list_listeners() - resources = resp.get('listeners') - for listener in resources: - loadbalancer_id = listener.get('loadbalancers')[0].get('id') - status = self._get_listener_status(loadbalancer_id) - listener['operating_status'] = status[listener.get('id')] + resources = [] + if self.lb_version == 'v2': + # list_listeners works only with lbaas v2 extension + resp = self.client.list_listeners() + resources = resp.get('listeners') + for listener in resources: + loadbalancer_id = listener.get('loadbalancers')[0].get('id') + status = self._get_listener_status(loadbalancer_id) + listener['operating_status'] = status[listener.get('id')] return resources @logged def list_loadbalancer(self): """This method is used to get the list of the loadbalancers.""" - resp = self.client.list_loadbalancers() - resources = resp.get('loadbalancers') + resources = [] + if self.lb_version == 'v2': + # list_loadbalancers works only with lbaas v2 extension + resp = self.client.list_loadbalancers() + resources = resp.get('loadbalancers') return resources @logged diff --git a/ceilometer/tests/unit/test_neutronclient.py b/ceilometer/tests/unit/test_neutronclient.py index 4bf61fc3..788ca479 100644 --- a/ceilometer/tests/unit/test_neutronclient.py +++ b/ceilometer/tests/unit/test_neutronclient.py @@ -184,3 +184,9 @@ class TestNeutronClient(base.BaseTestCase): self.assertEqual(2, stats[0]['total_connections']) self.assertEqual(3, stats[0]['bytes_in']) self.assertEqual(4, stats[0]['bytes_out']) + + def test_v1_list_loadbalancer_returns_empty_list(self): + self.assertEqual([], self.nc.list_loadbalancer()) + + def test_v1_list_listener_returns_empty_list(self): + self.assertEqual([], self.nc.list_listener())