NSX|V3+P: Add support for Octavia member enable-backup

Change-Id: Iaf2182ec508088637d58d3e88ff701cf44c53b6c
This commit is contained in:
Adit Sarfaty 2019-04-29 09:25:51 +03:00
parent 032b6b8e46
commit f50d147f59
4 changed files with 10 additions and 5 deletions

View File

@ -106,7 +106,8 @@ class EdgeMemberManagerFromDict(base_mgr.NsxpLoadbalancerBaseManager):
pool_id, fixed_ip,
port=member['protocol_port'],
display_name=member['name'][:218] + '_' + member['id'],
weight=member['weight'])
weight=member['weight'],
backup_member=member.get('backup', False))
except Exception as e:
with excutils.save_and_reraise_exception():
completor(success=False)
@ -130,7 +131,8 @@ class EdgeMemberManagerFromDict(base_mgr.NsxpLoadbalancerBaseManager):
pool_client.update_pool_member(
pool_id, fixed_ip, port=new_member['protocol_port'],
display_name=new_member['name'][:219] + '_' + new_member['id'],
weight=new_member['weight'])
weight=new_member['weight'],
backup_member=new_member.get('backup', False))
except Exception as e:
with excutils.save_and_reraise_exception():

View File

@ -57,6 +57,7 @@ class EdgeMemberManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
if m['ip_address'] == fixed_ip:
m['display_name'] = member['name'][:219] + '_' + member['id']
m['weight'] = member['weight']
m['backup_member'] = member.get('backup', False)
return lb_pool['members']
@log_helpers.log_method_call
@ -147,7 +148,8 @@ class EdgeMemberManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
'display_name': member['name'][:219] + '_' + member['id'],
'ip_address': fixed_ip,
'port': member['protocol_port'],
'weight': member['weight']}]
'weight': member['weight'],
'backup_member': member.get('backup', False)}]
members = (old_m + new_m) if old_m else new_m
pool_client.update_pool_with_members(lb_pool_id, members)

View File

@ -47,7 +47,7 @@ unsupported_keys = {'Loadbalancer': ['vip_qos_policy_id'],
'timeout_member_data',
'timeout_tcp_inspect'],
'HealthMonitor': ['max_retries_down'],
'Member': ['monitor_address', 'monitor_port', 'backup']}
'Member': ['monitor_address', 'monitor_port']}
class NSXOctaviaDriver(driver_base.ProviderDriver):

View File

@ -80,7 +80,8 @@ POOL_BINDING = nsx_models.NsxLbaasPool(loadbalancer_id=LB_ID,
MEMBER_ID = 'mmm-mmm'
MEMBER_ADDRESS = '10.0.0.200'
LB_MEMBER = {'display_name': 'member1_' + MEMBER_ID,
'weight': 1, 'ip_address': MEMBER_ADDRESS, 'port': 80}
'weight': 1, 'ip_address': MEMBER_ADDRESS, 'port': 80,
'backup_member': False}
LB_POOL_WITH_MEMBER = {
"display_name": "httppool1",
"description": "my http pool",