From b6de8fdc0604b72b28ec5236819ce82c89759605 Mon Sep 17 00:00:00 2001 From: Takashi Sogabe Date: Thu, 1 Sep 2016 15:13:59 +0900 Subject: [PATCH] Keepalived leaves VIP on the host in case of accidental removal. This patch removes VIPs when 'kolla-ansible destroy' is invoked. Change-Id: I263b9bc852c7bc3448a6a15b3115b1f226071afc Closes-Bug: #1605442 --- ansible/roles/destroy/tasks/cleanup_host.yml | 6 +++++- tools/cleanup-host | 12 ++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) 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