Merge "Fix load balancer update with provider filtered params"
This commit is contained in:
commit
d2b432b07e
|
@ -593,7 +593,7 @@ class ApplyQos(BaseNetworkTask):
|
|||
"""Apply qos policy on the vrrp ports which are related with vip."""
|
||||
qos_policy_id = loadbalancer.vip.qos_policy_id
|
||||
if not qos_policy_id and (
|
||||
update_dict and (
|
||||
not update_dict or (
|
||||
'vip' not in update_dict or
|
||||
'qos_policy_id' not in update_dict['vip'])):
|
||||
return
|
||||
|
|
|
@ -682,7 +682,7 @@ class ApplyQos(BaseNetworkTask):
|
|||
"""Apply qos policy on the vrrp ports which are related with vip."""
|
||||
qos_policy_id = loadbalancer['vip_qos_policy_id']
|
||||
if not qos_policy_id and (
|
||||
update_dict and (
|
||||
not update_dict or (
|
||||
'vip' not in update_dict or
|
||||
'qos_policy_id' not in update_dict[constants.VIP])):
|
||||
return
|
||||
|
|
|
@ -571,6 +571,22 @@ class TestNetworkTasks(base.TestCase):
|
|||
t_constants.MOCK_QOS_POLICY_ID1, mock.ANY)
|
||||
self.assertEqual(2, mock_driver.apply_qos_on_port.call_count)
|
||||
|
||||
mock_driver.reset_mock()
|
||||
update_dict = {'description': 'fool',
|
||||
'vip': {
|
||||
'qos_policy_id': t_constants.MOCK_QOS_POLICY_ID1}}
|
||||
tmp_lb.amphorae = AMPS_DATA
|
||||
tmp_lb.topology = constants.TOPOLOGY_ACTIVE_STANDBY
|
||||
net.execute(tmp_lb, update_dict=update_dict)
|
||||
mock_driver.apply_qos_on_port.assert_called_with(
|
||||
t_constants.MOCK_QOS_POLICY_ID1, mock.ANY)
|
||||
self.assertEqual(2, mock_driver.apply_qos_on_port.call_count)
|
||||
|
||||
mock_driver.reset_mock()
|
||||
update_dict = {}
|
||||
net.execute(null_qos_lb, update_dict=update_dict)
|
||||
self.assertEqual(0, mock_driver.apply_qos_on_port.call_count)
|
||||
|
||||
# revert
|
||||
mock_driver.reset_mock()
|
||||
tmp_lb.amphorae = [AMPS_DATA[0]]
|
||||
|
|
|
@ -636,6 +636,22 @@ class TestNetworkTasks(base.TestCase):
|
|||
t_constants.MOCK_QOS_POLICY_ID1, mock.ANY)
|
||||
self.assertEqual(2, mock_driver.apply_qos_on_port.call_count)
|
||||
|
||||
mock_driver.reset_mock()
|
||||
update_dict = {'description': 'fool',
|
||||
'vip': {
|
||||
'qos_policy_id': t_constants.MOCK_QOS_POLICY_ID1}}
|
||||
tmp_lb.amphorae = AMPS_DATA
|
||||
tmp_lb.topology = constants.TOPOLOGY_ACTIVE_STANDBY
|
||||
net.execute(pr_tm_dict, update_dict=update_dict)
|
||||
mock_driver.apply_qos_on_port.assert_called_with(
|
||||
t_constants.MOCK_QOS_POLICY_ID1, mock.ANY)
|
||||
self.assertEqual(2, mock_driver.apply_qos_on_port.call_count)
|
||||
|
||||
mock_driver.reset_mock()
|
||||
update_dict = {}
|
||||
net.execute(null_qos_lb_dict, update_dict=update_dict)
|
||||
self.assertEqual(0, mock_driver.apply_qos_on_port.call_count)
|
||||
|
||||
# revert
|
||||
mock_driver.reset_mock()
|
||||
mock_get_lb.reset_mock()
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
fixes:
|
||||
- |
|
||||
Fixed an issue where load balancers would go into ERROR when
|
||||
setting data not visible to providers (e.g. tags).
|
Loading…
Reference in New Issue