Merge "Fix load balancer update with provider filtered params" into stable/stein

This commit is contained in:
Zuul 2020-06-11 12:03:20 +00:00 committed by Gerrit Code Review
commit 5c9595f905
3 changed files with 22 additions and 1 deletions

View File

@ -595,7 +595,7 @@ class ApplyQos(BaseNetworkTask):
"""Apply qos policy on the vrrp ports which are related with vip.""" """Apply qos policy on the vrrp ports which are related with vip."""
qos_policy_id = loadbalancer.vip.qos_policy_id qos_policy_id = loadbalancer.vip.qos_policy_id
if not qos_policy_id and ( if not qos_policy_id and (
update_dict and ( not update_dict or (
'vip' not in update_dict or 'vip' not in update_dict or
'qos_policy_id' not in update_dict['vip'])): 'qos_policy_id' not in update_dict['vip'])):
return return

View File

@ -571,6 +571,22 @@ class TestNetworkTasks(base.TestCase):
t_constants.MOCK_QOS_POLICY_ID1, mock.ANY) t_constants.MOCK_QOS_POLICY_ID1, mock.ANY)
self.assertEqual(2, mock_driver.apply_qos_on_port.call_count) 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 # revert
mock_driver.reset_mock() mock_driver.reset_mock()
tmp_lb.amphorae = [AMPS_DATA[0]] tmp_lb.amphorae = [AMPS_DATA[0]]

View File

@ -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).