Add pool_member related interfaces to neutron v2 driver
This patch added lbaas pool_member related interfaces to neutron v2 driver. Change-Id: I60eecdb9320b7238a27de47e2ad57dd74cb49629
This commit is contained in:
parent
94875cb5e0
commit
09b39d12da
|
@ -194,6 +194,61 @@ class NeutronClient(base.DriverBase):
|
|||
|
||||
return
|
||||
|
||||
def pool_member_get(self, pool_id, member_identity):
|
||||
try:
|
||||
member = self.conn.network.find_pool_member(member_identity,
|
||||
pool_id)
|
||||
except sdk.exc.HttpException as ex:
|
||||
msg = _('Failed in getting lb pool_member %(value)s: %(ex)s'
|
||||
) % {'value': member_identity, 'ex': six.text_type(ex)}
|
||||
raise exception.Error(msg=msg)
|
||||
|
||||
return member
|
||||
|
||||
def pool_member_list(self, pool_id):
|
||||
try:
|
||||
members = [m for m in self.conn.network.pool_members(pool_id)]
|
||||
except sdk.exc.HttpException as ex:
|
||||
msg = _('Failed in listing lb members of pool %(id)s: %(ex)s'
|
||||
) % {'id': pool_id, 'ex': six.text_type(ex)}
|
||||
raise exception.Error(msg=msg)
|
||||
|
||||
return members
|
||||
|
||||
def pool_member_create(self, pool_id, address, protocol_port, subnet_id,
|
||||
weight=None, admin_state_up=True):
|
||||
|
||||
kwargs = {
|
||||
'pool_id': pool_id,
|
||||
'address': address,
|
||||
'protocol_port': protocol_port,
|
||||
'admin_state_up': admin_state_up,
|
||||
'subnet_id': subnet_id,
|
||||
}
|
||||
|
||||
if weight is not None:
|
||||
kwargs['weight'] = weight
|
||||
|
||||
try:
|
||||
res = self.conn.network.create_pool_member(**kwargs)
|
||||
except sdk.exc.HttpException as ex:
|
||||
msg = _('Failed in adding member to lb pool %(id)s: %(ex)s'
|
||||
) % {'id': pool_id, 'ex': six.text_type(ex)}
|
||||
raise exception.Error(msg=msg)
|
||||
|
||||
return res
|
||||
|
||||
def pool_member_delete(self, pool_id, member_id):
|
||||
try:
|
||||
self.conn.network.delete_pool_member(member_id, pool_id)
|
||||
except sdk.exc.HttpException as ex:
|
||||
msg = _('Failed in deleting lb member %(id)s from pool %(pool)s: '
|
||||
'%(ex)s') % {'id': member_id, 'pool': pool_id,
|
||||
'ex': six.text_type(ex)}
|
||||
raise exception.Error(msg=msg)
|
||||
|
||||
return
|
||||
|
||||
def healthmonitor_get(self, hm_identity):
|
||||
try:
|
||||
hm = self.conn.network.find_health_monitor(hm_identity)
|
||||
|
|
Loading…
Reference in New Issue