diff --git a/ansible/roles/destroy/tasks/cleanup_host.yml b/ansible/roles/destroy/tasks/cleanup_host.yml index 9429eba6b1..228fb70bbd 100644 --- a/ansible/roles/destroy/tasks/cleanup_host.yml +++ b/ansible/roles/destroy/tasks/cleanup_host.yml @@ -1,6 +1,10 @@ --- - name: Destroying Kolla host configuration - command: /tmp/kolla-cleanup/tools/cleanup-host + command: > + env enable_haproxy={{ enable_haproxy }} + kolla_internal_vip_address={{ kolla_internal_vip_address }} + kolla_external_vip_address={{ kolla_external_vip_address }} + /tmp/kolla-cleanup/tools/cleanup-host - name: Destroying kolla-cleanup folder file: diff --git a/tools/cleanup-host b/tools/cleanup-host index 909bed830b..c50a3a287a 100755 --- a/tools/cleanup-host +++ b/tools/cleanup-host @@ -27,6 +27,18 @@ ip -o link show | awk -F': ' '/vxlan/{print $2}' | while read -r ifname ; do ip link delete $ifname type vxlan done +# Keepalived leaves VIP on the host in case of accidental removal. +# This snippet removes VIPs. +if [[ "$enable_haproxy" == "yes" ]]; then + ip -o addr list | awk '{print $2,$4}' | cut -d/ -f1 | while read -r ifname ifaddr ; do + if [[ "$kolla_internal_vip_address" == "$ifaddr" || + "$kolla_external_vip_address" == "$ifaddr" ]]; then + echo "Removing VIP $ifaddr on the host" + ip addr delete dev $ifname $ifaddr + fi + done +fi + echo "Creating a fstab backup..." sudo cp /etc/fstab /etc/fstab_backup