This patch refactors the failover flows to improve the performance
and reliability of failovers in Octavia.
Specific improvements are:
* More tasks and flows will retry when other OpenStack services are
failing.
* Failover can now succeed even when all of the amphora are missing
for a given load balancer.
* It will check and repair the load balancer VIP should the VIP
port(s) become corrupted in neutron.
* It will cleanup extra resources that may be associated with a
load balancer in the event of a cloud service failure.
This patch also removes some dead code.
Conflicts:
octavia/amphorae/backends/agent/api_server/amphora_info.py
octavia/amphorae/drivers/haproxy/rest_api_driver.py
octavia/amphorae/drivers/keepalived/vrrp_rest_driver.py
octavia/api/drivers/utils.py
octavia/api/v2/controllers/load_balancer.py
octavia/common/constants.py
octavia/common/utils.py
octavia/controller/worker/v1/controller_worker.py
octavia/controller/worker/v1/flows/amphora_flows.py
octavia/controller/worker/v1/tasks/amphora_driver_tasks.py
octavia/controller/worker/v1/tasks/compute_tasks.py
octavia/controller/worker/v1/tasks/network_tasks.py
octavia/network/base.py
octavia/tests/unit/amphorae/backends/agent/api_server/test_loadbalancer.py
octavia/tests/unit/controller/worker/v1/flows/test_amphora_flows.py
octavia/tests/unit/controller/worker/v1/flows/test_load_balancer_flows.py
octavia/tests/unit/controller/worker/v1/tasks/test_network_tasks.py
octavia/tests/unit/controller/worker/v1/test_controller_worker.py
octavia/tests/unit/controller/worker/v2/tasks/test_amphora_driver_tasks.py
Change-Id: I04cb2f1f10ec566298834f81df0cf8b100ca916c
Story: 2003084
Task: 23166
Story: 2004440
Task: 28108
(cherry picked from commit 955bb88406)
(cherry picked from commit 2f9dc3693e)
(cherry picked from commit edebde748d0283a9948c8b7f6386d5a8835c617c)