Skip to content
Snippets Groups Projects
cleanup-host 2.04 KiB
Newer Older
  • Learn to ignore specific revisions
  • # 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
    
    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
    
    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
    
    # 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 "Unmounting Ceph OSD disks"
    for mount in $(mount | awk '/\/var\/lib\/ceph/ { print $3 }'); do
        umount $mount
    done
    
    
    echo "Removing ceph references from fstab..."
    sudo sed -i '/\/var\/lib\/ceph\/osd\//d' /etc/fstab
    
    if [[ "$enable_swift" == "yes" ]]; then
        echo "Removing swift references from fstab..."
        cat /etc/fstab | grep "/srv/node/d*" | xargs umount
        sed -i '/\/srv\/node\//d' /etc/fstab
    fi
    
    
    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