Exclude amphora instances already DELETED when failover loadbalancer
Change-Id: Ifd5503157e6068d2bf8d30474baafc8c9b0e6f88 Story: 2002634 Task: 22276
This commit is contained in:
parent
fe7f5da236
commit
c64a4574ad
|
@ -804,7 +804,8 @@ class ControllerWorker(base_taskflow.BaseTaskFlowEngine):
|
|||
lb = self._lb_repo.get(db_apis.get_session(),
|
||||
id=load_balancer_id)
|
||||
|
||||
amps = lb.amphorae
|
||||
# Exclude amphora already deleted
|
||||
amps = [a for a in lb.amphorae if a.status != constants.DELETED]
|
||||
for amp in amps:
|
||||
# failover amphora in backup role
|
||||
# Note: this amp may not currently be the backup
|
||||
|
|
|
@ -1199,7 +1199,10 @@ class TestControllerWorker(base.TestCase):
|
|||
mock_health_mon_repo_get,
|
||||
mock_amp_repo_get):
|
||||
_amphora_mock2 = mock.MagicMock()
|
||||
_load_balancer_mock.amphorae = [_amphora_mock, _amphora_mock2]
|
||||
_amphora_mock3 = mock.MagicMock()
|
||||
_amphora_mock3.status = constants.DELETED
|
||||
_load_balancer_mock.amphorae = [
|
||||
_amphora_mock, _amphora_mock2, _amphora_mock3]
|
||||
cw = controller_worker.ControllerWorker()
|
||||
cw.failover_loadbalancer('123')
|
||||
mock_perform.assert_called_with(
|
||||
|
@ -1208,7 +1211,8 @@ class TestControllerWorker(base.TestCase):
|
|||
provisioning_status=constants.ACTIVE)
|
||||
|
||||
mock_perform.reset
|
||||
_load_balancer_mock.amphorae = [_amphora_mock, _amphora_mock2]
|
||||
_load_balancer_mock.amphorae = [
|
||||
_amphora_mock, _amphora_mock2, _amphora_mock3]
|
||||
_amphora_mock2.role = constants.ROLE_BACKUP
|
||||
cw.failover_loadbalancer('123')
|
||||
# because mock2 gets failed over earlier now _amphora_mock
|
||||
|
|
Loading…
Reference in New Issue