From 4087a9b668e7d9c0b0ad8d11cd344e7f535f79ae Mon Sep 17 00:00:00 2001 From: yanyanhu Date: Thu, 25 Feb 2016 21:31:55 -0500 Subject: [PATCH] Translate exceptions happen in Neutron driver This patch adds sdk translate_exception decorator to all Neutron driver interfaces. Change-Id: I29dc94972e7577e0622cdf460528eb974a96ec99 --- senlin/drivers/openstack/neutron_v2.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/senlin/drivers/openstack/neutron_v2.py b/senlin/drivers/openstack/neutron_v2.py index 387b575d6..b6d4f16b3 100644 --- a/senlin/drivers/openstack/neutron_v2.py +++ b/senlin/drivers/openstack/neutron_v2.py @@ -21,22 +21,27 @@ class NeutronClient(base.DriverBase): super(NeutronClient, self).__init__(params) self.conn = sdk.create_connection(params) + @sdk.translate_exception def network_get(self, name_or_id): network = self.conn.network.find_network(name_or_id) return network + @sdk.translate_exception def subnet_get(self, name_or_id): subnet = self.conn.network.find_subnet(name_or_id) return subnet + @sdk.translate_exception def loadbalancer_get(self, name_or_id): lb = self.conn.network.find_load_balancer(name_or_id) return lb + @sdk.translate_exception def loadbalancer_list(self): lbs = [lb for lb in self.conn.network.load_balancers()] return lbs + @sdk.translate_exception def loadbalancer_create(self, vip_subnet_id, vip_address=None, admin_state_up=True, name=None, description=None): @@ -55,19 +60,23 @@ class NeutronClient(base.DriverBase): res = self.conn.network.create_load_balancer(**kwargs) return res + @sdk.translate_exception def loadbalancer_delete(self, lb_id, ignore_missing=True): self.conn.network.delete_load_balancer( lb_id, ignore_missing=ignore_missing) return + @sdk.translate_exception def listener_get(self, name_or_id): listener = self.conn.network.find_listener(name_or_id) return listener + @sdk.translate_exception def listener_list(self): listeners = [i for i in self.conn.network.listeners()] return listeners + @sdk.translate_exception def listener_create(self, loadbalancer_id, protocol, protocol_port, connection_limit=None, admin_state_up=True, name=None, description=None): @@ -89,19 +98,23 @@ class NeutronClient(base.DriverBase): res = self.conn.network.create_listener(**kwargs) return res + @sdk.translate_exception def listener_delete(self, listener_id, ignore_missing=True): self.conn.network.delete_listener(listener_id, ignore_missing=ignore_missing) return + @sdk.translate_exception def pool_get(self, name_or_id): pool = self.conn.network.find_pool(name_or_id) return pool + @sdk.translate_exception def pool_list(self): pools = [p for p in self.conn.network.pools()] return pools + @sdk.translate_exception def pool_create(self, lb_algorithm, listener_id, protocol, admin_state_up=True, name=None, description=None): @@ -120,20 +133,24 @@ class NeutronClient(base.DriverBase): res = self.conn.network.create_pool(**kwargs) return res + @sdk.translate_exception def pool_delete(self, pool_id, ignore_missing=True): self.conn.network.delete_pool(pool_id, ignore_missing=ignore_missing) return + @sdk.translate_exception def pool_member_get(self, pool_id, name_or_id): member = self.conn.network.find_pool_member(name_or_id, pool_id) return member + @sdk.translate_exception def pool_member_list(self, pool_id): members = [m for m in self.conn.network.pool_members(pool_id)] return members + @sdk.translate_exception def pool_member_create(self, pool_id, address, protocol_port, subnet_id, weight=None, admin_state_up=True): @@ -151,19 +168,23 @@ class NeutronClient(base.DriverBase): res = self.conn.network.create_pool_member(**kwargs) return res + @sdk.translate_exception def pool_member_delete(self, pool_id, member_id, ignore_missing=True): self.conn.network.delete_pool_member( member_id, pool_id, ignore_missing=ignore_missing) return + @sdk.translate_exception def healthmonitor_get(self, name_or_id): hm = self.conn.network.find_health_monitor(name_or_id) return hm + @sdk.translate_exception def healthmonitor_list(self): hms = [hm for hm in self.conn.network.health_monitors()] return hms + @sdk.translate_exception def healthmonitor_create(self, hm_type, delay, timeout, max_retries, pool_id, admin_state_up=True, http_method=None, url_path=None, @@ -189,6 +210,7 @@ class NeutronClient(base.DriverBase): res = self.conn.network.create_health_monitor(**kwargs) return res + @sdk.translate_exception def healthmonitor_delete(self, hm_id, ignore_missing=True): self.conn.network.delete_health_monitor( hm_id, ignore_missing=ignore_missing)