Add baseline object in the drivers update callbacks
Commit Ide4beaf73bb99be5c3b4c71c12fecef3499f45d9 updated the drivers api spec. This patch implements the new api for the update callbacks which needs the original objet as well. Change-Id: I530ec49acdc249a1f29e3e366eee70e29627a047
This commit is contained in:
parent
92e00449fc
commit
4688739662
|
@ -73,9 +73,9 @@ class AmphoraProviderDriver(driver_base.ProviderDriver):
|
|||
payload = {consts.LOAD_BALANCER_ID: loadbalancer_id}
|
||||
self.client.cast({}, 'failover_load_balancer', **payload)
|
||||
|
||||
def loadbalancer_update(self, loadbalancer):
|
||||
def loadbalancer_update(self, old_loadbalancer, new_loadbalancer):
|
||||
# Adapt the provider data model to the queue schema
|
||||
lb_dict = loadbalancer.to_dict()
|
||||
lb_dict = new_loadbalancer.to_dict()
|
||||
if 'admin_state_up' in lb_dict:
|
||||
lb_dict['enabled'] = lb_dict.pop('admin_state_up')
|
||||
lb_id = lb_dict.pop('loadbalancer_id')
|
||||
|
@ -94,8 +94,8 @@ class AmphoraProviderDriver(driver_base.ProviderDriver):
|
|||
payload = {consts.LISTENER_ID: listener_id}
|
||||
self.client.cast({}, 'delete_listener', **payload)
|
||||
|
||||
def listener_update(self, listener):
|
||||
listener_dict = listener.to_dict()
|
||||
def listener_update(self, old_listener, new_listener):
|
||||
listener_dict = new_listener.to_dict()
|
||||
if 'admin_state_up' in listener_dict:
|
||||
listener_dict['enabled'] = listener_dict.pop('admin_state_up')
|
||||
listener_id = listener_dict.pop('listener_id')
|
||||
|
@ -114,8 +114,8 @@ class AmphoraProviderDriver(driver_base.ProviderDriver):
|
|||
payload = {consts.POOL_ID: pool_id}
|
||||
self.client.cast({}, 'delete_pool', **payload)
|
||||
|
||||
def pool_update(self, pool):
|
||||
pool_dict = pool.to_dict()
|
||||
def pool_update(self, old_pool, new_pool):
|
||||
pool_dict = new_pool.to_dict()
|
||||
if 'admin_state_up' in pool_dict:
|
||||
pool_dict['enabled'] = pool_dict.pop('admin_state_up')
|
||||
pool_id = pool_dict.pop('pool_id')
|
||||
|
@ -134,8 +134,8 @@ class AmphoraProviderDriver(driver_base.ProviderDriver):
|
|||
payload = {consts.MEMBER_ID: member_id}
|
||||
self.client.cast({}, 'delete_member', **payload)
|
||||
|
||||
def member_update(self, member):
|
||||
member_dict = member.to_dict()
|
||||
def member_update(self, old_member, new_member):
|
||||
member_dict = new_member.to_dict()
|
||||
if 'admin_state_up' in member_dict:
|
||||
member_dict['enabled'] = member_dict.pop('admin_state_up')
|
||||
member_id = member_dict.pop('member_id')
|
||||
|
@ -191,8 +191,8 @@ class AmphoraProviderDriver(driver_base.ProviderDriver):
|
|||
payload = {consts.HEALTH_MONITOR_ID: healthmonitor_id}
|
||||
self.client.cast({}, 'delete_health_monitor', **payload)
|
||||
|
||||
def health_monitor_update(self, healthmonitor):
|
||||
healthmon_dict = healthmonitor.to_dict()
|
||||
def health_monitor_update(self, old_healthmonitor, new_healthmonitor):
|
||||
healthmon_dict = new_healthmonitor.to_dict()
|
||||
if 'admin_state_up' in healthmon_dict:
|
||||
healthmon_dict['enabled'] = healthmon_dict.pop('admin_state_up')
|
||||
if 'max_retries_down' in healthmon_dict:
|
||||
|
@ -217,8 +217,8 @@ class AmphoraProviderDriver(driver_base.ProviderDriver):
|
|||
payload = {consts.L7POLICY_ID: l7policy_id}
|
||||
self.client.cast({}, 'delete_l7policy', **payload)
|
||||
|
||||
def l7policy_update(self, l7policy):
|
||||
l7policy_dict = l7policy.to_dict()
|
||||
def l7policy_update(self, old_l7policy, new_l7policy):
|
||||
l7policy_dict = new_l7policy.to_dict()
|
||||
if 'admin_state_up' in l7policy_dict:
|
||||
l7policy_dict['enabled'] = l7policy_dict.pop('admin_state_up')
|
||||
l7policy_id = l7policy_dict.pop('l7policy_id')
|
||||
|
@ -237,8 +237,8 @@ class AmphoraProviderDriver(driver_base.ProviderDriver):
|
|||
payload = {consts.L7RULE_ID: l7rule_id}
|
||||
self.client.cast({}, 'delete_l7rule', **payload)
|
||||
|
||||
def l7rule_update(self, l7rule):
|
||||
l7rule_dict = l7rule.to_dict()
|
||||
def l7rule_update(self, old_l7rule, new_l7rule):
|
||||
l7rule_dict = new_l7rule.to_dict()
|
||||
if 'admin_state_up' in l7rule_dict:
|
||||
l7rule_dict['enabled'] = l7rule_dict.pop('admin_state_up')
|
||||
l7rule_id = l7rule_dict.pop('l7rule_id')
|
||||
|
|
|
@ -70,12 +70,14 @@ class NoopManager(object):
|
|||
self.driverconfig[loadbalancer_id] = (loadbalancer_id,
|
||||
'loadbalancer_failover')
|
||||
|
||||
def loadbalancer_update(self, loadbalancer):
|
||||
LOG.debug('Provider %s no-op, loadbalancer_update loadbalancer %s',
|
||||
self.__class__.__name__, loadbalancer.loadbalancer_id)
|
||||
def loadbalancer_update(self, old_loadbalancer, new_loadbalancer):
|
||||
LOG.debug('Provider %s no-op, loadbalancer_update loadbalancer %s '
|
||||
'old: %s. new: %s',
|
||||
self.__class__.__name__, new_loadbalancer.loadbalancer_id,
|
||||
old_loadbalancer.to_dict(), new_loadbalancer.to_dict())
|
||||
|
||||
self.driverconfig[loadbalancer.loadbalancer_id] = (
|
||||
loadbalancer, 'loadbalancer_update')
|
||||
self.driverconfig[new_loadbalancer.loadbalancer_id] = (
|
||||
new_loadbalancer, 'loadbalancer_update')
|
||||
|
||||
# Listener
|
||||
def listener_create(self, listener):
|
||||
|
@ -91,11 +93,14 @@ class NoopManager(object):
|
|||
|
||||
self.driverconfig[listener_id] = (listener_id, 'listener_delete')
|
||||
|
||||
def listener_update(self, listener):
|
||||
LOG.debug('Provider %s no-op, listener_update listener %s',
|
||||
self.__class__.__name__, listener.listener_id)
|
||||
def listener_update(self, old_listener, new_listener):
|
||||
LOG.debug('Provider %s no-op, listener_update listener %s '
|
||||
'old: %s. new: %s',
|
||||
self.__class__.__name__, new_listener.listener_id,
|
||||
old_listener.to_dict(), new_listener.to_dict())
|
||||
|
||||
self.driverconfig[listener.listener_id] = (listener, 'listener_update')
|
||||
self.driverconfig[new_listener.listener_id] = (
|
||||
new_listener, 'listener_update')
|
||||
|
||||
# Pool
|
||||
def pool_create(self, pool):
|
||||
|
@ -111,11 +116,14 @@ class NoopManager(object):
|
|||
|
||||
self.driverconfig[pool_id] = (pool_id, 'pool_delete')
|
||||
|
||||
def pool_update(self, pool):
|
||||
LOG.debug('Provider %s no-op, pool_update pool %s',
|
||||
self.__class__.__name__, pool.pool_id)
|
||||
def pool_update(self, old_pool, new_pool):
|
||||
LOG.debug('Provider %s no-op, pool_update pool %s '
|
||||
'old: %s. new: %s',
|
||||
self.__class__.__name__, new_pool.pool_id,
|
||||
old_pool.to_dict(), new_pool.to_dict())
|
||||
|
||||
self.driverconfig[pool.pool_id] = (pool, 'pool_update')
|
||||
self.driverconfig[new_pool.pool_id] = (
|
||||
new_pool, 'pool_update')
|
||||
|
||||
# Member
|
||||
def member_create(self, member):
|
||||
|
@ -131,11 +139,14 @@ class NoopManager(object):
|
|||
|
||||
self.driverconfig[member_id] = (member_id, 'member_delete')
|
||||
|
||||
def member_update(self, member):
|
||||
LOG.debug('Provider %s no-op, member_update member %s',
|
||||
self.__class__.__name__, member.member_id)
|
||||
def member_update(self, old_member, new_member):
|
||||
LOG.debug('Provider %s no-op, member_update member %s '
|
||||
'old: %s. new: %s',
|
||||
self.__class__.__name__, new_member.member_id,
|
||||
old_member.to_dict(), new_member.to_dict())
|
||||
|
||||
self.driverconfig[member.member_id] = (member, 'member_update')
|
||||
self.driverconfig[new_member.member_id] = (
|
||||
new_member, 'member_update')
|
||||
|
||||
def member_batch_update(self, members):
|
||||
for member in members:
|
||||
|
@ -161,12 +172,14 @@ class NoopManager(object):
|
|||
self.driverconfig[healthmonitor_id] = (healthmonitor_id,
|
||||
'health_monitor_delete')
|
||||
|
||||
def health_monitor_update(self, healthmonitor):
|
||||
LOG.debug('Provider %s no-op, health_monitor_update healthmonitor %s',
|
||||
self.__class__.__name__, healthmonitor.healthmonitor_id)
|
||||
def health_monitor_update(self, old_healthmonitor, new_healthmonitor):
|
||||
LOG.debug('Provider %s no-op, health_monitor_update healthmonitor %s '
|
||||
'old: %s. new: %s',
|
||||
self.__class__.__name__, new_healthmonitor.healthmonitor_id,
|
||||
old_healthmonitor.to_dict(), new_healthmonitor.to_dict())
|
||||
|
||||
self.driverconfig[healthmonitor.healthmonitor_id] = (
|
||||
healthmonitor, 'health_monitor_update')
|
||||
self.driverconfig[new_healthmonitor.healthmonitor_id] = (
|
||||
new_healthmonitor, 'health_monitor_update')
|
||||
|
||||
# L7 Policy
|
||||
def l7policy_create(self, l7policy):
|
||||
|
@ -182,11 +195,14 @@ class NoopManager(object):
|
|||
|
||||
self.driverconfig[l7policy_id] = (l7policy_id, 'l7policy_delete')
|
||||
|
||||
def l7policy_update(self, l7policy):
|
||||
LOG.debug('Provider %s no-op, l7policy_update l7policy %s',
|
||||
self.__class__.__name__, l7policy.l7policy_id)
|
||||
def l7policy_update(self, old_l7policy, new_l7policy):
|
||||
LOG.debug('Provider %s no-op, l7policy_update l7policy %s '
|
||||
'old: %s. new: %s',
|
||||
self.__class__.__name__, new_l7policy.l7policy_id,
|
||||
old_l7policy.to_dict(), new_l7policy.to_dict())
|
||||
|
||||
self.driverconfig[l7policy.l7policy_id] = (l7policy, 'l7policy_update')
|
||||
self.driverconfig[new_l7policy.l7policy_id] = (
|
||||
new_l7policy, 'l7policy_update')
|
||||
|
||||
# L7 Rule
|
||||
def l7rule_create(self, l7rule):
|
||||
|
@ -202,11 +218,13 @@ class NoopManager(object):
|
|||
|
||||
self.driverconfig[l7rule_id] = (l7rule_id, 'l7rule_delete')
|
||||
|
||||
def l7rule_update(self, l7rule):
|
||||
LOG.debug('Provider %s no-op, l7rule_update l7rule %s',
|
||||
self.__class__.__name__, l7rule.l7rule_id)
|
||||
def l7rule_update(self, old_l7rule, new_l7rule):
|
||||
LOG.debug('Provider %s no-op, l7rule_update l7rule %s. '
|
||||
'old: %s. new: %s',
|
||||
self.__class__.__name__, new_l7rule.l7rule_id,
|
||||
old_l7rule.to_dict(), new_l7rule.to_dict())
|
||||
|
||||
self.driverconfig[l7rule.l7rule_id] = (l7rule, 'l7rule_update')
|
||||
self.driverconfig[new_l7rule.l7rule_id] = (new_l7rule, 'l7rule_update')
|
||||
|
||||
# Flavor
|
||||
def get_supported_flavor_metadata(self):
|
||||
|
@ -243,8 +261,8 @@ class NoopProviderDriver(driver_base.ProviderDriver):
|
|||
def loadbalancer_failover(self, loadbalancer_id):
|
||||
self.driver.loadbalancer_failover(loadbalancer_id)
|
||||
|
||||
def loadbalancer_update(self, loadbalancer):
|
||||
self.driver.loadbalancer_update(loadbalancer)
|
||||
def loadbalancer_update(self, old_loadbalancer, new_loadbalancer):
|
||||
self.driver.loadbalancer_update(old_loadbalancer, new_loadbalancer)
|
||||
|
||||
# Listener
|
||||
def listener_create(self, listener):
|
||||
|
@ -253,8 +271,8 @@ class NoopProviderDriver(driver_base.ProviderDriver):
|
|||
def listener_delete(self, listener):
|
||||
self.driver.listener_delete(listener)
|
||||
|
||||
def listener_update(self, listener):
|
||||
self.driver.listener_update(listener)
|
||||
def listener_update(self, old_listener, new_listener):
|
||||
self.driver.listener_update(old_listener, new_listener)
|
||||
|
||||
# Pool
|
||||
def pool_create(self, pool):
|
||||
|
@ -263,8 +281,8 @@ class NoopProviderDriver(driver_base.ProviderDriver):
|
|||
def pool_delete(self, pool):
|
||||
self.driver.pool_delete(pool)
|
||||
|
||||
def pool_update(self, pool):
|
||||
self.driver.pool_update(pool)
|
||||
def pool_update(self, old_pool, new_pool):
|
||||
self.driver.pool_update(old_pool, new_pool)
|
||||
|
||||
# Member
|
||||
def member_create(self, member):
|
||||
|
@ -273,8 +291,8 @@ class NoopProviderDriver(driver_base.ProviderDriver):
|
|||
def member_delete(self, member):
|
||||
self.driver.member_delete(member)
|
||||
|
||||
def member_update(self, member):
|
||||
self.driver.member_update(member)
|
||||
def member_update(self, old_member, new_member):
|
||||
self.driver.member_update(old_member, new_member)
|
||||
|
||||
def member_batch_update(self, members):
|
||||
self.driver.member_batch_update(members)
|
||||
|
@ -286,8 +304,8 @@ class NoopProviderDriver(driver_base.ProviderDriver):
|
|||
def health_monitor_delete(self, healthmonitor):
|
||||
self.driver.health_monitor_delete(healthmonitor)
|
||||
|
||||
def health_monitor_update(self, healthmonitor):
|
||||
self.driver.health_monitor_update(healthmonitor)
|
||||
def health_monitor_update(self, old_healthmonitor, new_healthmonitor):
|
||||
self.driver.health_monitor_update(old_healthmonitor, new_healthmonitor)
|
||||
|
||||
# L7 Policy
|
||||
def l7policy_create(self, l7policy):
|
||||
|
@ -296,8 +314,8 @@ class NoopProviderDriver(driver_base.ProviderDriver):
|
|||
def l7policy_delete(self, l7policy):
|
||||
self.driver.l7policy_delete(l7policy)
|
||||
|
||||
def l7policy_update(self, l7policy):
|
||||
self.driver.l7policy_update(l7policy)
|
||||
def l7policy_update(self, old_l7policy, new_l7policy):
|
||||
self.driver.l7policy_update(old_l7policy, new_l7policy)
|
||||
|
||||
# L7 Rule
|
||||
def l7rule_create(self, l7rule):
|
||||
|
@ -306,8 +324,8 @@ class NoopProviderDriver(driver_base.ProviderDriver):
|
|||
def l7rule_delete(self, l7rule):
|
||||
self.driver.l7rule_delete(l7rule)
|
||||
|
||||
def l7rule_update(self, l7rule):
|
||||
self.driver.l7rule_update(l7rule)
|
||||
def l7rule_update(self, old_l7rule, new_l7rule):
|
||||
self.driver.l7rule_update(old_l7rule, new_l7rule)
|
||||
|
||||
# Flavor
|
||||
def get_supported_flavor_metadata(self):
|
||||
|
|
|
@ -98,11 +98,13 @@ class ProviderDriver(object):
|
|||
operator_fault_string='This provider does not support failing '
|
||||
'over load balancers.')
|
||||
|
||||
def loadbalancer_update(self, loadbalancer):
|
||||
def loadbalancer_update(self, old_loadbalancer, new_loadbalncer):
|
||||
"""Updates a load balancer.
|
||||
|
||||
:param loadbalancer: The load balancer object.
|
||||
:type loadbalancer: object
|
||||
:param old_loadbalancer: The baseline load balancer object.
|
||||
:type old_loadbalancer: object
|
||||
:param new_loadbalancer: The updated load balancer object.
|
||||
:type new_loadbalancer: object
|
||||
:return: Nothing if the update request was accepted.
|
||||
:raises DriverError: An unexpected error occurred in the driver.
|
||||
:raises NotImplementedError: The driver does not support request.
|
||||
|
@ -148,11 +150,13 @@ class ProviderDriver(object):
|
|||
operator_fault_string='This provider does not support deleting '
|
||||
'listeners.')
|
||||
|
||||
def listener_update(self, listener):
|
||||
def listener_update(self, old_listener, new_listener):
|
||||
"""Updates a listener.
|
||||
|
||||
:param listener: The listener object.
|
||||
:type listener: object
|
||||
:param old_listener: The baseline listener object.
|
||||
:type old_listener: object
|
||||
:param new_listener: The updated listener object.
|
||||
:type new_listener: object
|
||||
:return: Nothing if the update request was accepted.
|
||||
:raises DriverError: An unexpected error occurred in the driver.
|
||||
:raises NotImplementedError: if driver does not support request.
|
||||
|
@ -198,10 +202,12 @@ class ProviderDriver(object):
|
|||
operator_fault_string='This provider does not support deleting '
|
||||
'pools.')
|
||||
|
||||
def pool_update(self, pool):
|
||||
def pool_update(self, old_pool, new_pool):
|
||||
"""Updates a pool.
|
||||
|
||||
:param pool: The pool object.
|
||||
:param pool: The baseline pool object.
|
||||
:type pool: object
|
||||
:param pool: The updated pool object.
|
||||
:type pool: object
|
||||
:return: Nothing if the create request was accepted.
|
||||
:raises DriverError: An unexpected error occurred in the driver.
|
||||
|
@ -248,11 +254,13 @@ class ProviderDriver(object):
|
|||
operator_fault_string='This provider does not support deleting '
|
||||
'members.')
|
||||
|
||||
def member_update(self, member):
|
||||
def member_update(self, old_member, new_member):
|
||||
"""Updates a pool member.
|
||||
|
||||
:param member: The member object.
|
||||
:type member: object
|
||||
:param old_member: The baseline member object.
|
||||
:type old_member: object
|
||||
:param new_member: The updated member object.
|
||||
:type new_member: object
|
||||
:return: Nothing if the create request was accepted.
|
||||
:raises DriverError: An unexpected error occurred in the driver.
|
||||
:raises NotImplementedError: if driver does not support request.
|
||||
|
@ -315,11 +323,13 @@ class ProviderDriver(object):
|
|||
operator_fault_string='This provider does not support deleting '
|
||||
'health monitors.')
|
||||
|
||||
def health_monitor_update(self, healthmonitor):
|
||||
def health_monitor_update(self, old_healthmonitor, new_healthmonitor):
|
||||
"""Updates a health monitor.
|
||||
|
||||
:param healthmonitor: The health monitor object.
|
||||
:type healthmonitor: object
|
||||
:param old_healthmonitor: The baseline health monitor object.
|
||||
:type old_healthmonitor: object
|
||||
:param new_healthmonitor: The updated health monitor object.
|
||||
:type new_healthmonitor: object
|
||||
:return: Nothing if the create request was accepted.
|
||||
:raises DriverError: An unexpected error occurred in the driver.
|
||||
:raises NotImplementedError: if driver does not support request.
|
||||
|
@ -336,7 +346,7 @@ class ProviderDriver(object):
|
|||
def l7policy_create(self, l7policy):
|
||||
"""Creates a new L7 policy.
|
||||
|
||||
:param l7policy: The l7policy object.
|
||||
:param l7policy: The L7 policy object.
|
||||
:type l7policy: object
|
||||
:return: Nothing if the create request was accepted.
|
||||
:raises DriverError: An unexpected error occurred in the driver.
|
||||
|
@ -365,11 +375,13 @@ class ProviderDriver(object):
|
|||
operator_fault_string='This provider does not support deleting '
|
||||
'l7policies.')
|
||||
|
||||
def l7policy_update(self, l7policy):
|
||||
def l7policy_update(self, old_l7policy, new_l7policy):
|
||||
"""Updates an L7 policy.
|
||||
|
||||
:param l7policy: The l7policy object.
|
||||
:type l7policy: object
|
||||
:param old_l7policy: The baseline L7 policy object.
|
||||
:type old_l7policy: object
|
||||
:param new_l7policy: The updated L7 policy object.
|
||||
:type new_l7policy: object
|
||||
:return: Nothing if the update request was accepted.
|
||||
:raises DriverError: An unexpected error occurred in the driver.
|
||||
:raises NotImplementedError: if driver does not support request.
|
||||
|
@ -415,11 +427,13 @@ class ProviderDriver(object):
|
|||
operator_fault_string='This provider does not support deleting '
|
||||
'l7rules.')
|
||||
|
||||
def l7rule_update(self, l7rule):
|
||||
def l7rule_update(self, old_l7rule, new_l7rule):
|
||||
"""Updates an L7 rule.
|
||||
|
||||
:param l7rule: The L7 rule object.
|
||||
:type l7rule: object
|
||||
:param old_l7rule: The baseline L7 rule object.
|
||||
:type old_l7rule: object
|
||||
:param new_l7rule: The updated L7 rule object.
|
||||
:type new_l7rule: object
|
||||
:return: Nothing if the update request was accepted.
|
||||
:raises DriverError: An unexpected error occurred in the driver.
|
||||
:raises NotImplementedError: if driver does not support request.
|
||||
|
|
|
@ -269,11 +269,15 @@ class HealthMonitorController(base.BaseController):
|
|||
provider_healthmon_dict = (
|
||||
driver_utils.hm_dict_to_provider_dict(healthmon_dict))
|
||||
|
||||
# Also prepare the baseline object data
|
||||
old_provider_healthmon = driver_utils.db_HM_to_provider_HM(db_hm)
|
||||
|
||||
# Dispatch to the driver
|
||||
LOG.info("Sending update Health Monitor %s to provider %s",
|
||||
id, driver.name)
|
||||
driver_utils.call_provider(
|
||||
driver.name, driver.health_monitor_update,
|
||||
old_provider_healthmon,
|
||||
driver_dm.HealthMonitor.from_dict(provider_healthmon_dict))
|
||||
|
||||
# Update the database to reflect what the driver just accepted
|
||||
|
|
|
@ -238,11 +238,16 @@ class L7PolicyController(base.BaseController):
|
|||
provider_l7policy_dict = (
|
||||
driver_utils.l7policy_dict_to_provider_dict(l7policy_dict))
|
||||
|
||||
# Also prepare the baseline object data
|
||||
old_provider_l7policy = (
|
||||
driver_utils.db_l7policy_to_provider_l7policy(db_l7policy))
|
||||
|
||||
# Dispatch to the driver
|
||||
LOG.info("Sending update L7 Policy %s to provider %s",
|
||||
id, driver.name)
|
||||
driver_utils.call_provider(
|
||||
driver.name, driver.l7policy_update,
|
||||
old_provider_l7policy,
|
||||
driver_dm.L7Policy.from_dict(provider_l7policy_dict))
|
||||
|
||||
# Update the database to reflect what the driver just accepted
|
||||
|
|
|
@ -235,11 +235,16 @@ class L7RuleController(base.BaseController):
|
|||
provider_l7rule_dict = (
|
||||
driver_utils.l7rule_dict_to_provider_dict(l7rule_dict))
|
||||
|
||||
# Also prepare the baseline object data
|
||||
old_provider_l7rule = driver_utils.db_l7rule_to_provider_l7rule(
|
||||
db_l7rule)
|
||||
|
||||
# Dispatch to the driver
|
||||
LOG.info("Sending update L7 Rule %s to provider %s", id,
|
||||
driver.name)
|
||||
driver_utils.call_provider(
|
||||
driver.name, driver.l7rule_update,
|
||||
old_provider_l7rule,
|
||||
driver_dm.L7Rule.from_dict(provider_l7rule_dict))
|
||||
|
||||
# Update the database to reflect what the driver just accepted
|
||||
|
|
|
@ -326,11 +326,16 @@ class ListenersController(base.BaseController):
|
|||
provider_listener_dict = (
|
||||
driver_utils.listener_dict_to_provider_dict(listener_dict))
|
||||
|
||||
# Also prepare the baseline object data
|
||||
old_provider_llistener = (
|
||||
driver_utils.db_listener_to_provider_listener(db_listener))
|
||||
|
||||
# Dispatch to the driver
|
||||
LOG.info("Sending update Listener %s to provider %s", id,
|
||||
driver.name)
|
||||
driver_utils.call_provider(
|
||||
driver.name, driver.listener_update,
|
||||
old_provider_llistener,
|
||||
driver_dm.Listener.from_dict(provider_listener_dict))
|
||||
|
||||
# Update the database to reflect what the driver just accepted
|
||||
|
|
|
@ -478,11 +478,16 @@ class LoadBalancersController(base.BaseController):
|
|||
if 'qos_policy_id' in vip_dict:
|
||||
lb_dict['vip_qos_policy_id'] = vip_dict['qos_policy_id']
|
||||
|
||||
# Also prepare the baseline object data
|
||||
old_provider_lb = (
|
||||
driver_utils.db_loadbalancer_to_provider_loadbalancer(db_lb))
|
||||
|
||||
# Dispatch to the driver
|
||||
LOG.info("Sending update Load Balancer %s to provider "
|
||||
"%s", id, driver.name)
|
||||
driver_utils.call_provider(
|
||||
driver.name, driver.loadbalancer_update,
|
||||
old_provider_lb,
|
||||
driver_dm.LoadBalancer.from_dict(lb_dict))
|
||||
|
||||
db_lb_dict = load_balancer.to_dict(render_unsets=False)
|
||||
|
|
|
@ -224,11 +224,16 @@ class MemberController(base.BaseController):
|
|||
provider_member_dict = (
|
||||
driver_utils.member_dict_to_provider_dict(member_dict))
|
||||
|
||||
# Also prepare the baseline object data
|
||||
old_provider_member = driver_utils.db_member_to_provider_member(
|
||||
db_member)
|
||||
|
||||
# Dispatch to the driver
|
||||
LOG.info("Sending update Member %s to provider %s", id,
|
||||
driver.name)
|
||||
driver_utils.call_provider(
|
||||
driver.name, driver.member_update,
|
||||
old_provider_member,
|
||||
driver_dm.Member.from_dict(provider_member_dict))
|
||||
|
||||
# Update the database to reflect what the driver just accepted
|
||||
|
|
|
@ -285,10 +285,15 @@ class PoolsController(base.BaseController):
|
|||
provider_pool_dict = (
|
||||
driver_utils.pool_dict_to_provider_dict(pool_dict))
|
||||
|
||||
# Also prepare the baseline object data
|
||||
old_provider_pool = driver_utils.db_pool_to_provider_pool(
|
||||
db_pool)
|
||||
|
||||
# Dispatch to the driver
|
||||
LOG.info("Sending update Pool %s to provider %s", id, driver.name)
|
||||
driver_utils.call_provider(
|
||||
driver.name, driver.pool_update,
|
||||
old_provider_pool,
|
||||
driver_dm.Pool.from_dict(provider_pool_dict))
|
||||
|
||||
# Update the database to reflect what the driver just accepted
|
||||
|
|
|
@ -79,20 +79,24 @@ class TestAmphoraDriver(base.TestCase):
|
|||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_loadbalancer_update(self, mock_cast):
|
||||
old_provider_lb = driver_dm.LoadBalancer(
|
||||
loadbalancer_id=self.sample_data.lb_id)
|
||||
provider_lb = driver_dm.LoadBalancer(
|
||||
loadbalancer_id=self.sample_data.lb_id, admin_state_up=True)
|
||||
lb_dict = {'enabled': True}
|
||||
self.amp_driver.loadbalancer_update(provider_lb)
|
||||
self.amp_driver.loadbalancer_update(old_provider_lb, provider_lb)
|
||||
payload = {consts.LOAD_BALANCER_ID: self.sample_data.lb_id,
|
||||
consts.LOAD_BALANCER_UPDATES: lb_dict}
|
||||
mock_cast.assert_called_with({}, 'update_load_balancer', **payload)
|
||||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_loadbalancer_update_name(self, mock_cast):
|
||||
old_provider_lb = driver_dm.LoadBalancer(
|
||||
loadbalancer_id=self.sample_data.lb_id)
|
||||
provider_lb = driver_dm.LoadBalancer(
|
||||
loadbalancer_id=self.sample_data.lb_id, name='Great LB')
|
||||
lb_dict = {'name': 'Great LB'}
|
||||
self.amp_driver.loadbalancer_update(provider_lb)
|
||||
self.amp_driver.loadbalancer_update(old_provider_lb, provider_lb)
|
||||
payload = {consts.LOAD_BALANCER_ID: self.sample_data.lb_id,
|
||||
consts.LOAD_BALANCER_UPDATES: lb_dict}
|
||||
mock_cast.assert_called_with({}, 'update_load_balancer', **payload)
|
||||
|
@ -116,20 +120,26 @@ class TestAmphoraDriver(base.TestCase):
|
|||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_listener_update(self, mock_cast):
|
||||
old_provider_listener = driver_dm.Listener(
|
||||
listener_id=self.sample_data.listener1_id)
|
||||
provider_listener = driver_dm.Listener(
|
||||
listener_id=self.sample_data.listener1_id, admin_state_up=False)
|
||||
listener_dict = {'enabled': False}
|
||||
self.amp_driver.listener_update(provider_listener)
|
||||
self.amp_driver.listener_update(old_provider_listener,
|
||||
provider_listener)
|
||||
payload = {consts.LISTENER_ID: self.sample_data.listener1_id,
|
||||
consts.LISTENER_UPDATES: listener_dict}
|
||||
mock_cast.assert_called_with({}, 'update_listener', **payload)
|
||||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_listener_update_name(self, mock_cast):
|
||||
old_provider_listener = driver_dm.Listener(
|
||||
listener_id=self.sample_data.listener1_id)
|
||||
provider_listener = driver_dm.Listener(
|
||||
listener_id=self.sample_data.listener1_id, name='Great Listener')
|
||||
listener_dict = {'name': 'Great Listener'}
|
||||
self.amp_driver.listener_update(provider_listener)
|
||||
self.amp_driver.listener_update(old_provider_listener,
|
||||
provider_listener)
|
||||
payload = {consts.LISTENER_ID: self.sample_data.listener1_id,
|
||||
consts.LISTENER_UPDATES: listener_dict}
|
||||
mock_cast.assert_called_with({}, 'update_listener', **payload)
|
||||
|
@ -153,20 +163,24 @@ class TestAmphoraDriver(base.TestCase):
|
|||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_pool_update(self, mock_cast):
|
||||
old_provider_pool = driver_dm.Pool(
|
||||
pool_id=self.sample_data.pool1_id)
|
||||
provider_pool = driver_dm.Pool(
|
||||
pool_id=self.sample_data.pool1_id, admin_state_up=True)
|
||||
pool_dict = {'enabled': True}
|
||||
self.amp_driver.pool_update(provider_pool)
|
||||
self.amp_driver.pool_update(old_provider_pool, provider_pool)
|
||||
payload = {consts.POOL_ID: self.sample_data.pool1_id,
|
||||
consts.POOL_UPDATES: pool_dict}
|
||||
mock_cast.assert_called_with({}, 'update_pool', **payload)
|
||||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_pool_update_name(self, mock_cast):
|
||||
old_provider_pool = driver_dm.Pool(
|
||||
pool_id=self.sample_data.pool1_id)
|
||||
provider_pool = driver_dm.Pool(
|
||||
pool_id=self.sample_data.pool1_id, name='Great pool')
|
||||
pool_dict = {'name': 'Great pool'}
|
||||
self.amp_driver.pool_update(provider_pool)
|
||||
self.amp_driver.pool_update(old_provider_pool, provider_pool)
|
||||
payload = {consts.POOL_ID: self.sample_data.pool1_id,
|
||||
consts.POOL_UPDATES: pool_dict}
|
||||
mock_cast.assert_called_with({}, 'update_pool', **payload)
|
||||
|
@ -190,20 +204,24 @@ class TestAmphoraDriver(base.TestCase):
|
|||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_member_update(self, mock_cast):
|
||||
old_provider_member = driver_dm.Member(
|
||||
member_id=self.sample_data.member1_id)
|
||||
provider_member = driver_dm.Member(
|
||||
member_id=self.sample_data.member1_id, admin_state_up=True)
|
||||
member_dict = {'enabled': True}
|
||||
self.amp_driver.member_update(provider_member)
|
||||
self.amp_driver.member_update(old_provider_member, provider_member)
|
||||
payload = {consts.MEMBER_ID: self.sample_data.member1_id,
|
||||
consts.MEMBER_UPDATES: member_dict}
|
||||
mock_cast.assert_called_with({}, 'update_member', **payload)
|
||||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_member_update_name(self, mock_cast):
|
||||
old_provider_member = driver_dm.Member(
|
||||
member_id=self.sample_data.member1_id)
|
||||
provider_member = driver_dm.Member(
|
||||
member_id=self.sample_data.member1_id, name='Great member')
|
||||
member_dict = {'name': 'Great member'}
|
||||
self.amp_driver.member_update(provider_member)
|
||||
self.amp_driver.member_update(old_provider_member, provider_member)
|
||||
payload = {consts.MEMBER_ID: self.sample_data.member1_id,
|
||||
consts.MEMBER_UPDATES: member_dict}
|
||||
mock_cast.assert_called_with({}, 'update_member', **payload)
|
||||
|
@ -296,21 +314,25 @@ class TestAmphoraDriver(base.TestCase):
|
|||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_health_monitor_update(self, mock_cast):
|
||||
old_provider_hm = driver_dm.HealthMonitor(
|
||||
healthmonitor_id=self.sample_data.hm1_id)
|
||||
provider_hm = driver_dm.HealthMonitor(
|
||||
healthmonitor_id=self.sample_data.hm1_id, admin_state_up=True,
|
||||
max_retries=1, max_retries_down=2)
|
||||
hm_dict = {'enabled': True, 'rise_threshold': 1, 'fall_threshold': 2}
|
||||
self.amp_driver.health_monitor_update(provider_hm)
|
||||
self.amp_driver.health_monitor_update(old_provider_hm, provider_hm)
|
||||
payload = {consts.HEALTH_MONITOR_ID: self.sample_data.hm1_id,
|
||||
consts.HEALTH_MONITOR_UPDATES: hm_dict}
|
||||
mock_cast.assert_called_with({}, 'update_health_monitor', **payload)
|
||||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_health_monitor_update_name(self, mock_cast):
|
||||
old_provider_hm = driver_dm.HealthMonitor(
|
||||
healthmonitor_id=self.sample_data.hm1_id)
|
||||
provider_hm = driver_dm.HealthMonitor(
|
||||
healthmonitor_id=self.sample_data.hm1_id, name='Great HM')
|
||||
hm_dict = {'name': 'Great HM'}
|
||||
self.amp_driver.health_monitor_update(provider_hm)
|
||||
self.amp_driver.health_monitor_update(old_provider_hm, provider_hm)
|
||||
payload = {consts.HEALTH_MONITOR_ID: self.sample_data.hm1_id,
|
||||
consts.HEALTH_MONITOR_UPDATES: hm_dict}
|
||||
mock_cast.assert_called_with({}, 'update_health_monitor', **payload)
|
||||
|
@ -334,20 +356,26 @@ class TestAmphoraDriver(base.TestCase):
|
|||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_l7policy_update(self, mock_cast):
|
||||
old_provider_l7policy = driver_dm.L7Policy(
|
||||
l7policy_id=self.sample_data.l7policy1_id)
|
||||
provider_l7policy = driver_dm.L7Policy(
|
||||
l7policy_id=self.sample_data.l7policy1_id, admin_state_up=True)
|
||||
l7policy_dict = {'enabled': True}
|
||||
self.amp_driver.l7policy_update(provider_l7policy)
|
||||
self.amp_driver.l7policy_update(old_provider_l7policy,
|
||||
provider_l7policy)
|
||||
payload = {consts.L7POLICY_ID: self.sample_data.l7policy1_id,
|
||||
consts.L7POLICY_UPDATES: l7policy_dict}
|
||||
mock_cast.assert_called_with({}, 'update_l7policy', **payload)
|
||||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_l7policy_update_name(self, mock_cast):
|
||||
old_provider_l7policy = driver_dm.L7Policy(
|
||||
l7policy_id=self.sample_data.l7policy1_id)
|
||||
provider_l7policy = driver_dm.L7Policy(
|
||||
l7policy_id=self.sample_data.l7policy1_id, name='Great L7Policy')
|
||||
l7policy_dict = {'name': 'Great L7Policy'}
|
||||
self.amp_driver.l7policy_update(provider_l7policy)
|
||||
self.amp_driver.l7policy_update(old_provider_l7policy,
|
||||
provider_l7policy)
|
||||
payload = {consts.L7POLICY_ID: self.sample_data.l7policy1_id,
|
||||
consts.L7POLICY_UPDATES: l7policy_dict}
|
||||
mock_cast.assert_called_with({}, 'update_l7policy', **payload)
|
||||
|
@ -371,20 +399,24 @@ class TestAmphoraDriver(base.TestCase):
|
|||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_l7rule_update(self, mock_cast):
|
||||
old_provider_l7rule = driver_dm.L7Rule(
|
||||
l7rule_id=self.sample_data.l7rule1_id)
|
||||
provider_l7rule = driver_dm.L7Rule(
|
||||
l7rule_id=self.sample_data.l7rule1_id, admin_state_up=True)
|
||||
l7rule_dict = {'enabled': True}
|
||||
self.amp_driver.l7rule_update(provider_l7rule)
|
||||
self.amp_driver.l7rule_update(old_provider_l7rule, provider_l7rule)
|
||||
payload = {consts.L7RULE_ID: self.sample_data.l7rule1_id,
|
||||
consts.L7RULE_UPDATES: l7rule_dict}
|
||||
mock_cast.assert_called_with({}, 'update_l7rule', **payload)
|
||||
|
||||
@mock.patch('oslo_messaging.RPCClient.cast')
|
||||
def test_l7rule_update_invert(self, mock_cast):
|
||||
old_provider_l7rule = driver_dm.L7Rule(
|
||||
l7rule_id=self.sample_data.l7rule1_id)
|
||||
provider_l7rule = driver_dm.L7Rule(
|
||||
l7rule_id=self.sample_data.l7rule1_id, invert=True)
|
||||
l7rule_dict = {'invert': True}
|
||||
self.amp_driver.l7rule_update(provider_l7rule)
|
||||
self.amp_driver.l7rule_update(old_provider_l7rule, provider_l7rule)
|
||||
payload = {consts.L7RULE_ID: self.sample_data.l7rule1_id,
|
||||
consts.L7RULE_UPDATES: l7rule_dict}
|
||||
mock_cast.assert_called_with({}, 'update_l7rule', **payload)
|
||||
|
|
|
@ -50,7 +50,7 @@ class TestProviderBase(base.TestCase):
|
|||
def test_loadbalancer_update(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
self.driver.loadbalancer_update,
|
||||
False)
|
||||
False, False)
|
||||
|
||||
def test_listener_create(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
|
@ -65,7 +65,7 @@ class TestProviderBase(base.TestCase):
|
|||
def test_listener_update(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
self.driver.listener_update,
|
||||
False)
|
||||
False, False)
|
||||
|
||||
def test_pool_create(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
|
@ -80,7 +80,7 @@ class TestProviderBase(base.TestCase):
|
|||
def test_pool_update(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
self.driver.pool_update,
|
||||
False)
|
||||
False, False)
|
||||
|
||||
def test_member_create(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
|
@ -95,7 +95,7 @@ class TestProviderBase(base.TestCase):
|
|||
def test_member_update(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
self.driver.member_update,
|
||||
False)
|
||||
False, False)
|
||||
|
||||
def test_member_batch_update(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
|
@ -115,7 +115,7 @@ class TestProviderBase(base.TestCase):
|
|||
def test_health_monitor_update(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
self.driver.health_monitor_update,
|
||||
False)
|
||||
False, False)
|
||||
|
||||
def test_l7policy_create(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
|
@ -130,7 +130,7 @@ class TestProviderBase(base.TestCase):
|
|||
def test_l7policy_update(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
self.driver.l7policy_update,
|
||||
False)
|
||||
False, False)
|
||||
|
||||
def test_l7rule_create(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
|
@ -145,7 +145,7 @@ class TestProviderBase(base.TestCase):
|
|||
def test_l7rule_update(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
self.driver.l7rule_update,
|
||||
False)
|
||||
False, False)
|
||||
|
||||
def test_get_supported_flavor_metadata(self):
|
||||
self.assertRaises(exceptions.NotImplementedError,
|
||||
|
|
|
@ -170,7 +170,7 @@ class TestNoopProviderDriver(base.TestCase):
|
|||
self.driver.driver.driverconfig[self.loadbalancer_id])
|
||||
|
||||
def test_loadbalancer_update(self):
|
||||
self.driver.loadbalancer_update(self.ref_lb)
|
||||
self.driver.loadbalancer_update(self.ref_lb, self.ref_lb)
|
||||
|
||||
self.assertEqual((self.ref_lb, 'loadbalancer_update'),
|
||||
self.driver.driver.driverconfig[self.loadbalancer_id])
|
||||
|
@ -188,7 +188,7 @@ class TestNoopProviderDriver(base.TestCase):
|
|||
self.driver.driver.driverconfig[self.listener_id])
|
||||
|
||||
def test_listener_update(self):
|
||||
self.driver.listener_update(self.ref_listener)
|
||||
self.driver.listener_update(self.ref_listener, self.ref_listener)
|
||||
|
||||
self.assertEqual((self.ref_listener, 'listener_update'),
|
||||
self.driver.driver.driverconfig[self.listener_id])
|
||||
|
@ -206,7 +206,7 @@ class TestNoopProviderDriver(base.TestCase):
|
|||
self.driver.driver.driverconfig[self.pool_id])
|
||||
|
||||
def test_pool_update(self):
|
||||
self.driver.pool_update(self.ref_pool)
|
||||
self.driver.pool_update(self.ref_pool, self.ref_pool)
|
||||
|
||||
self.assertEqual((self.ref_pool, 'pool_update'),
|
||||
self.driver.driver.driverconfig[self.pool_id])
|
||||
|
@ -224,7 +224,7 @@ class TestNoopProviderDriver(base.TestCase):
|
|||
self.driver.driver.driverconfig[self.member_id])
|
||||
|
||||
def test_member_update(self):
|
||||
self.driver.member_update(self.ref_member)
|
||||
self.driver.member_update(self.ref_member, self.ref_member)
|
||||
|
||||
self.assertEqual((self.ref_member, 'member_update'),
|
||||
self.driver.driver.driverconfig[self.member_id])
|
||||
|
@ -250,7 +250,8 @@ class TestNoopProviderDriver(base.TestCase):
|
|||
self.driver.driver.driverconfig[self.healthmonitor_id])
|
||||
|
||||
def test_health_monitor_update(self):
|
||||
self.driver.health_monitor_update(self.ref_healthmonitor)
|
||||
self.driver.health_monitor_update(self.ref_healthmonitor,
|
||||
self.ref_healthmonitor)
|
||||
|
||||
self.assertEqual(
|
||||
(self.ref_healthmonitor, 'health_monitor_update'),
|
||||
|
@ -269,7 +270,7 @@ class TestNoopProviderDriver(base.TestCase):
|
|||
self.driver.driver.driverconfig[self.l7policy_id])
|
||||
|
||||
def test_l7policy_update(self):
|
||||
self.driver.l7policy_update(self.ref_l7policy)
|
||||
self.driver.l7policy_update(self.ref_l7policy, self.ref_l7policy)
|
||||
|
||||
self.assertEqual((self.ref_l7policy, 'l7policy_update'),
|
||||
self.driver.driver.driverconfig[self.l7policy_id])
|
||||
|
@ -287,7 +288,7 @@ class TestNoopProviderDriver(base.TestCase):
|
|||
self.driver.driver.driverconfig[self.l7rule_id])
|
||||
|
||||
def test_l7rule_update(self):
|
||||
self.driver.l7rule_update(self.ref_l7rule)
|
||||
self.driver.l7rule_update(self.ref_l7rule, self.ref_l7rule)
|
||||
|
||||
self.assertEqual((self.ref_l7rule, 'l7rule_update'),
|
||||
self.driver.driver.driverconfig[self.l7rule_id])
|
||||
|
|
Loading…
Reference in New Issue