Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1372,6 +1372,7 @@ def rebuild_loadbalancer(self, context, loadbalancer, service):
"""Handle RPC cast from plugin to create_loadbalancer."""
lb_id = loadbalancer['id']
listeners = service.get("listeners", [])
service['REBUILD'] = True

try:
bigip_device.set_bigips(service, self.conf)
Expand Down
19 changes: 13 additions & 6 deletions f5_openstack_agent/lbaasv2/drivers/bigip/network_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -327,12 +327,16 @@ def _annotate_service_route_domains(self, service):
bigips = service['bigips']
device = service['device']

rd_id = None
rebuild = service.get("REBUILD", False)

if 'vip_address' in service['loadbalancer']:
if 'network_id' in loadbalancer:
lb_network = self.service_adapter.get_network_from_service(
service, loadbalancer['network_id'])
if loadbalancer["provisioning_status"] in [
constants_v2.PENDING_DELETE, constants_v2.ERROR]:
constants_v2.PENDING_DELETE, constants_v2.ERROR
] and not rebuild:
self.assign_delete_route_domain(
tenant_id, lb_network, device)
else:
Expand Down Expand Up @@ -505,7 +509,7 @@ def post_service_networking(self, service):

# L2toL3 networking layer
# Non Shared Config - Local Per BIG-IP
self.update_bigip_l2(service)
# self.update_bigip_l2(service)

# Delete shared config objects
deleted_names = set()
Expand Down Expand Up @@ -541,18 +545,21 @@ def update_bigip_l2(self, service):

members = service['members']
for member in members:
member['network'] = service_adapter.get_network_from_service(
service, member['network_id'])
mb_net = member.get('network_id')
if mb_net:
member['network'] = service_adapter.get_network_from_service(
service, mb_net)
if member.get('provisioning_status', None) == \
constants_v2.F5_PENDING_DELETE:
delete_members.append(member)
else:
update_members.append(member)

lb_net = loadbalancer.get('network_id')
loadbalancer['network'] = service_adapter.get_network_from_service(
service,
loadbalancer['network_id']
)
lb_net
)

if delete_loadbalancer or delete_members:
self.l2_service.delete_fdb_entries(
Expand Down
3 changes: 2 additions & 1 deletion f5_openstack_agent/lbaasv2/drivers/bigip/resource_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,8 @@ def _create_bwc_irule_payload(self, loadbalancer, meta_only=False):
def _post_create(self, service):
# create fdb for vxlan tunnel
if not self.driver.conf.f5_global_routed_mode:
self.driver.network_builder.update_bigip_l2(service)
pass
# self.driver.network_builder.update_bigip_l2(service)

def _pre_create(self, service):

Expand Down