Translate exceptions happen in Neutron driver

This patch adds sdk translate_exception decorator to all Neutron
driver interfaces.

Change-Id: I29dc94972e7577e0622cdf460528eb974a96ec99
This commit is contained in:
yanyanhu 2016-02-25 21:31:55 -05:00
parent 5d32fc300a
commit 4087a9b668
1 changed files with 22 additions and 0 deletions

View File

@ -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)