kolla/tools/cleanup-host
Sean Mooney f0aa137a1d move ovs cleanup to tools/cleanup-host
- One of the usecase supported by tools/cleanup-containers
  was the ablity to remove container with a regex so that
  you could redepoloy just that single componet.
- By cleaning up ovs in cleanup-containers that is nolonger
  possible.
- This change move the cleanup of ovs from,
  tools/cleanup-contianers to tools/cleanup-hosts

TrivialFix

Change-Id: If2001130f4a2400555ce4d9ac5ee506482e4c25e
2016-09-12 20:46:56 +01:00

66 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# Move to top level directory
REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
cd "$(dirname "$REAL_PATH")/.."
. tools/validate-docker-execute.sh
# Spawning the neutron agents containers leaves artifacts on the host.
# This script removes these artifacts.
ip netns list | while read -r line ; do
echo "Removing network namespace $line on the host"
ip netns delete $line
done
ip -o link show | awk -F': ' '/tap/{print $2}' | while read -r ifname ; do
echo "Removing tap interface $ifname on the host"
ip link delete $ifname type veth
done
ip -o link show | awk -F': ' '/brq/{print $2}' | while read -r ifname ; do
echo "Removing linux bridge $ifname on the host"
ip link delete $ifname type bridge
done
ip -o link show | awk -F': ' '/vxlan/{print $2}' | while read -r ifname ; do
echo "Removing vxlan interface $ifname on the host"
ip link delete $ifname type vxlan
done
echo "Removing ovs bridge..."
(docker exec -u root neutron_openvswitch_agent neutron-ovs-cleanup \
--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini \
--ovs_all_ports) > /dev/null
# 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
echo "Removing ceph references from fstab..."
sudo sed -i '/\/var\/lib\/ceph\/osd\//d' /etc/fstab
echo "Getting folders name..."
FOLDER_PATH="/etc/kolla/"
for dir in $FOLDER_PATH*; do
if [ "$dir" == "$FOLDER_PATH""passwords.yml" ] || \
[ "$dir" == "$FOLDER_PATH""globals.yml" ] || \
[ "$dir" == "$FOLDER_PATH""kolla-build.conf" ] || \
[ "$dir" == "$FOLDER_PATH""config" ]; then
echo "Skipping:" $dir
else
rm -rfv $dir
fi
done