magnum/releasenotes/notes/pre-delete-all-loadbalancers-350a69ec787e11ea.yaml
Lingxian Kong 33cc92efe2 [K8S] Delete all related load balancers before deleting cluster
When deleting cluster, Magnum only deletes the load balancers for
Kubernetes services/ingresses before deleting Heat stack. The process of
stack deletion is to delete resources in dependencies, which means, for
Octavia resources, member is deleted first, then pool, listener, and
finally load balancer. The whole process is error-prone, especially
Octavia controller needs to talk to amphora for each API call before
deleting load balancer, if any step fails, the deletion operation will
fail.

Octavia provides cascade deletion API[1] for the load balancer, which
could delete all the related resources in one API call and doesn't
involve communication between Octavia controller and amphora instance.

This patch deletes the api/etcd load balancers (if applicable) before
deleting Heat stack, making the cluster deletion process more robust.

[1]: https://docs.openstack.org/api-ref/load-balancer/v2/index.html?expanded=remove-a-load-balancer-detail#remove-a-load-balancer

story: 2007657
task: 39743
Change-Id: Ibe8f788559d0977475d0991fc99ad91ccfd7dca7
2020-05-12 09:48:11 +00:00

6 lines
231 B
YAML

features:
- |
Magnum now cascade deletes all the load balancers before deleting the
cluster, not only including load balancers for the cluster services and
ingresses, but also those for Kubernetes API/etcd endpoints.