Skip to content

Commit f3247a5

Browse files
Merge pull request #1011 from zhaoqin-github/concurrent-2
Concurrent patch 2 pike
2 parents bb0efa8 + 0980f1d commit f3247a5

1 file changed

Lines changed: 38 additions & 40 deletions

File tree

f5lbaasdriver/v2/bigip/driver_v2.py

Lines changed: 38 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -150,19 +150,19 @@ class EntityManager(object):
150150

151151
def __init__(self, driver):
152152
self.driver = driver
153-
self.api_dict = None
154153

155154
def _log_entity(self, entity):
156155
LOG.debug("Log the entity: %s", entity.to_api_dict())
157156

158-
def _call_rpc(self, context, loadbalancer, entity, rpc_method, **kwargs):
157+
def _call_rpc(self, context, loadbalancer, entity, api_dict,
158+
rpc_method, **kwargs):
159159
'''Perform operations common to create and delete for managers.'''
160160

161161
try:
162162
agent_host, service = self._setup_crud(
163163
context, loadbalancer, entity, **kwargs)
164164
rpc_callable = getattr(self.driver.agent_rpc, rpc_method)
165-
rpc_callable(context, self.api_dict, service, agent_host)
165+
rpc_callable(context, api_dict, service, agent_host)
166166
except (lbaas_agentschedulerv2.NoEligibleLbaasAgent,
167167
lbaas_agentschedulerv2.NoActiveLbaasAgent) as e:
168168
LOG.error("Exception: %s: %s" % (rpc_method, e))
@@ -454,8 +454,7 @@ def create(self, context, listener):
454454
self._log_entity(listener)
455455

456456
lb = listener.loadbalancer
457-
self.api_dict = listener.to_dict(
458-
loadbalancer=False, default_pool=False)
457+
api_dict = listener.to_dict(loadbalancer=False, default_pool=False)
459458

460459
def append_listeners(context, loadbalancer, service):
461460
self._append_listeners(context, service, listener)
@@ -472,13 +471,13 @@ def append_pools_monitors(context, loadbalancer, service):
472471
# Utilize default behavior to append members
473472
# Listener does not have l7policies.
474473
self._call_rpc(
475-
context, lb, listener, 'create_listener',
474+
context, lb, listener, api_dict, 'create_listener',
476475
append_listeners=append_listeners,
477476
append_pools_monitors=append_pools_monitors,
478477
append_l7policies_rules=lambda *args: None
479478
)
480479
else:
481-
self._call_rpc(context, lb, listener, 'create_listener')
480+
self._call_rpc(context, lb, listener, api_dict, 'create_listener')
482481

483482
@log_helpers.log_method_call
484483
def update(self, context, old_listener, listener):
@@ -510,8 +509,7 @@ def delete(self, context, listener):
510509
self._log_entity(listener)
511510

512511
lb = listener.loadbalancer
513-
self.api_dict = listener.to_dict(
514-
loadbalancer=False, default_pool=False)
512+
api_dict = listener.to_dict(loadbalancer=False, default_pool=False)
515513

516514
def append_listeners(context, lb, service):
517515
self._append_listeners(context, service, listener)
@@ -520,14 +518,14 @@ def append_listeners(context, lb, service):
520518
# L7policy should already be deleted.
521519
# Needn't modify pool.
522520
self._call_rpc(
523-
context, lb, listener, 'delete_listener',
521+
context, lb, listener, api_dict, 'delete_listener',
524522
append_listeners=append_listeners,
525523
append_pools_monitors=lambda *args: None,
526524
append_members=lambda *args: None,
527525
append_l7policies_rules=lambda *args: None
528526
)
529527
else:
530-
self._call_rpc(context, lb, listener, 'delete_listener')
528+
self._call_rpc(context, lb, listener, api_dict, 'delete_listener')
531529

532530

533531
class PoolManager(EntityManager):
@@ -553,7 +551,7 @@ def create(self, context, pool):
553551
self._log_entity(pool)
554552

555553
lb = pool.loadbalancer
556-
self.api_dict = self._get_pool_dict(pool)
554+
api_dict = self._get_pool_dict(pool)
557555

558556
def append_listeners(context, loadbalancer, service):
559557
for listener in loadbalancer.listeners:
@@ -572,13 +570,13 @@ def append_pools_monitors(context, loadbalancer, service):
572570
# Pool has no members
573571
# Listener may have l7policies. Utilize default behavior.
574572
self._call_rpc(
575-
context, lb, pool, 'create_pool',
573+
context, lb, pool, api_dict, 'create_pool',
576574
append_listeners=append_listeners,
577575
append_pools_monitors=append_pools_monitors,
578576
append_members=lambda *args: None
579577
)
580578
else:
581-
self._call_rpc(context, lb, pool, 'create_pool')
579+
self._call_rpc(context, lb, pool, api_dict, 'create_pool')
582580

583581
@log_helpers.log_method_call
584582
def update(self, context, old_pool, pool):
@@ -609,7 +607,7 @@ def delete(self, context, pool):
609607
self._log_entity(pool)
610608

611609
lb = pool.loadbalancer
612-
self.api_dict = self._get_pool_dict(pool)
610+
api_dict = self._get_pool_dict(pool)
613611

614612
def append_listeners(context, loadbalancer, service):
615613
for listener in loadbalancer.listeners:
@@ -626,12 +624,12 @@ def append_pools_monitors(context, loadbalancer, service):
626624
# Pool may be associated with a listener
627625
# Utilize default behavior to load member, l7policy and rule
628626
self._call_rpc(
629-
context, lb, pool, 'delete_pool',
627+
context, lb, pool, api_dict, 'delete_pool',
630628
append_listeners=append_listeners,
631629
append_pools_monitors=append_pools_monitors
632630
)
633631
else:
634-
self._call_rpc(context, lb, pool, 'delete_pool')
632+
self._call_rpc(context, lb, pool, api_dict, 'delete_pool')
635633

636634

637635
class MemberManager(EntityManager):
@@ -664,21 +662,21 @@ def create(self, context, member):
664662
'name': 'fake_pool_port_' + member.id,
665663
portbindings.HOST_ID: agent_host}})
666664
LOG.debug('the port created here is: %s' % p)
667-
self.api_dict = member.to_dict(pool=False)
665+
api_dict = member.to_dict(pool=False)
668666

669667
def append_pools_monitors(context, loadbalancer, service):
670668
self._append_pools_monitors(context, service, member.pool)
671669

672670
if cfg.CONF.f5_driver_perf_mode in (2, 3):
673671
# Utilize default behavior to append all members
674672
self._call_rpc(
675-
context, lb, member, 'create_member',
673+
context, lb, member, api_dict, 'create_member',
676674
append_listeners=lambda *args: None,
677675
append_pools_monitors=append_pools_monitors,
678676
append_l7policies_rules=lambda *args: None
679677
)
680678
else:
681-
self._call_rpc(context, lb, member, 'create_member')
679+
self._call_rpc(context, lb, member, api_dict, 'create_member')
682680

683681
if self.driver.unlegacy_setting_placeholder_driver_side:
684682
LOG.debug('running un-legacy way for member create p2:')
@@ -736,10 +734,10 @@ def create_bulk(self, context, members):
736734
p_list.append(p)
737735
LOG.info('the port created here is: %s' % p)
738736

739-
self.api_dict = member.to_dict(pool=False)
737+
api_dict = member.to_dict(pool=False)
740738
subnets.append(member.subnet_id)
741739

742-
self._call_rpc(context, member, 'create_member')
740+
self._call_rpc(context, lb, member, api_dict, 'create_member')
743741

744742
for port in p_list:
745743
LOG.info('p_list details: %s' % p_list)
@@ -835,21 +833,21 @@ def create(self, context, health_monitor):
835833
self._log_entity(health_monitor)
836834

837835
lb = health_monitor.pool.loadbalancer
838-
self.api_dict = health_monitor.to_dict(pool=False)
836+
api_dict = health_monitor.to_dict(pool=False)
839837

840838
def append_pools_monitors(context, loadbalancer, service):
841839
self._append_pools_monitors(context, service, health_monitor.pool)
842840

843841
if cfg.CONF.f5_driver_perf_mode in (2, 3):
844842
# Utilize default behavior to append all members
845843
self._call_rpc(
846-
context, lb, health_monitor, 'create_health_monitor',
844+
context, lb, health_monitor, api_dict, 'create_health_monitor',
847845
append_listeners=lambda *args: None,
848846
append_pools_monitors=append_pools_monitors,
849847
append_l7policies_rules=lambda *args: None
850848
)
851849
else:
852-
self._call_rpc(context, lb, health_monitor,
850+
self._call_rpc(context, lb, health_monitor, api_dict,
853851
'create_health_monitor')
854852

855853
@log_helpers.log_method_call
@@ -881,21 +879,21 @@ def delete(self, context, health_monitor):
881879
self._log_entity(health_monitor)
882880

883881
lb = health_monitor.pool.loadbalancer
884-
self.api_dict = health_monitor.to_dict(pool=False)
882+
api_dict = health_monitor.to_dict(pool=False)
885883

886884
def append_pools_monitors(context, loadbalancer, service):
887885
self._append_pools_monitors(context, service, health_monitor.pool)
888886

889887
if cfg.CONF.f5_driver_perf_mode in (2, 3):
890888
# Utilize default behavior to append all members
891889
self._call_rpc(
892-
context, lb, health_monitor, 'delete_health_monitor',
890+
context, lb, health_monitor, api_dict, 'delete_health_monitor',
893891
append_listeners=lambda *args: None,
894892
append_pools_monitors=append_pools_monitors,
895893
append_l7policies_rules=lambda *args: None
896894
)
897895
else:
898-
self._call_rpc(context, lb, health_monitor,
896+
self._call_rpc(context, lb, health_monitor, api_dict,
899897
'delete_health_monitor')
900898

901899

@@ -909,7 +907,7 @@ def create(self, context, policy):
909907
self._log_entity(policy)
910908

911909
lb = policy.listener.loadbalancer
912-
self.api_dict = policy.to_dict(listener=False, rules=False)
910+
api_dict = policy.to_dict(listener=False, rules=False)
913911

914912
def append_listeners(context, loadbalancer, service):
915913
self._append_listeners(context, service, policy.listener)
@@ -923,12 +921,12 @@ def append_pools_monitors(context, loadbalancer, service):
923921
# Listener may have default pool
924922
# Utilize default behavior to load members
925923
self._call_rpc(
926-
context, lb, policy, 'create_l7policy',
924+
context, lb, policy, api_dict, 'create_l7policy',
927925
append_listeners=append_listeners,
928926
append_pools_monitors=append_pools_monitors
929927
)
930928
else:
931-
self._call_rpc(context, lb, policy, 'create_l7policy')
929+
self._call_rpc(context, lb, policy, api_dict, 'create_l7policy')
932930

933931
@log_helpers.log_method_call
934932
def update(self, context, old_policy, policy):
@@ -959,7 +957,7 @@ def delete(self, context, policy):
959957
self._log_entity(policy)
960958

961959
lb = policy.listener.loadbalancer
962-
self.api_dict = policy.to_dict(listener=False, rules=False)
960+
api_dict = policy.to_dict(listener=False, rules=False)
963961

964962
def append_listeners(context, loadbalancer, service):
965963
self._append_listeners(context, service, policy.listener)
@@ -973,12 +971,12 @@ def append_pools_monitors(context, loadbalancer, service):
973971
# Listener may have default pool
974972
# Utilize default behavior to load members
975973
self._call_rpc(
976-
context, lb, policy, 'delete_l7policy',
974+
context, lb, policy, api_dict, 'delete_l7policy',
977975
append_listeners=append_listeners,
978976
append_pools_monitors=append_pools_monitors
979977
)
980978
else:
981-
self._call_rpc(context, lb, policy, 'delete_l7policy')
979+
self._call_rpc(context, lb, policy, api_dict, 'delete_l7policy')
982980

983981

984982
class L7RuleManager(EntityManager):
@@ -991,7 +989,7 @@ def create(self, context, rule):
991989
self._log_entity(rule)
992990

993991
lb = rule.policy.listener.loadbalancer
994-
self.api_dict = rule.to_dict(policy=False)
992+
api_dict = rule.to_dict(policy=False)
995993

996994
def append_listeners(context, loadbalancer, service):
997995
self._append_listeners(context, service, rule.policy.listener)
@@ -1005,12 +1003,12 @@ def append_pools_monitors(context, loadbalancer, service):
10051003
# Listener may have default pool
10061004
# Utilize default behavior to load members
10071005
self._call_rpc(
1008-
context, lb, rule, 'create_l7rule',
1006+
context, lb, rule, api_dict, 'create_l7rule',
10091007
append_listeners=append_listeners,
10101008
append_pools_monitors=append_pools_monitors
10111009
)
10121010
else:
1013-
self._call_rpc(context, lb, rule, 'create_l7rule')
1011+
self._call_rpc(context, lb, rule, api_dict, 'create_l7rule')
10141012

10151013
@log_helpers.log_method_call
10161014
def update(self, context, old_rule, rule):
@@ -1041,7 +1039,7 @@ def delete(self, context, rule):
10411039
self._log_entity(rule)
10421040

10431041
lb = rule.policy.listener.loadbalancer
1044-
self.api_dict = rule.to_dict(policy=False)
1042+
api_dict = rule.to_dict(policy=False)
10451043

10461044
def append_listeners(context, loadbalancer, service):
10471045
self._append_listeners(context, service, rule.policy.listener)
@@ -1055,9 +1053,9 @@ def append_pools_monitors(context, loadbalancer, service):
10551053
# Listener may have default pool
10561054
# Utilize default behavior to load members
10571055
self._call_rpc(
1058-
context, lb, rule, 'delete_l7rule',
1056+
context, lb, rule, api_dict, 'delete_l7rule',
10591057
append_listeners=append_listeners,
10601058
append_pools_monitors=append_pools_monitors
10611059
)
10621060
else:
1063-
self._call_rpc(context, lb, rule, 'delete_l7rule')
1061+
self._call_rpc(context, lb, rule, api_dict, 'delete_l7rule')

0 commit comments

Comments
 (0)