kolla-ansible/tools/cleanup-host
Michal Nasiadka e1ec02eddf Replace ElasticSearch and Kibana with OpenSearch
This change replaces ElasticSearch with OpenSearch, and Kibana
with OpenSearch Dashboards. It migrates the data from ElasticSearch
to OpenSearch upon upgrade.

No TLS support is in this patch (will be a followup).

A replacement for ElasticSearch Curator will be added as a followup.

Depends-On: https://review.opendev.org/c/openstack/kolla/+/830373

Co-authored-by: Doug Szumski <doug@stackhpc.com>
Co-authored-by: Kyle Dean <kyle@stackhpc.com>
Change-Id: Iab10ce7ea5d5f21a40b1f99b28e3290b7e9ce895
2022-12-01 10:27:50 +00:00

106 lines
3.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# 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
# 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
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
if [[ "$glance_file_datadir_volume" != "glance" && -d "$glance_file_datadir_volume" ]]; then
echo "Removing glance volume if it is customzied"
rm -rfv $glance_file_datadir_volume
fi
if [[ "$nova_instance_datadir_volume" != "nova_compute" && -d "$nova_instance_datadir_volume" ]]; then
echo "Removing nova_compute volume if it is customzied"
rm -rfv $nova_instance_datadir_volume
fi
if [[ "$elasticsearch_datadir_volume" != "elasticsearch" && -d "$elasticsearch_datadir_volume" ]]; then
echo "Removing elasticsearch volume if it is customzied"
rm -rfv $elasticsearch_datadir_volume
fi
if [[ "$gnocchi_metric_datadir_volume" != "gnocchi" && -d "$gnocchi_metric_datadir_volume" ]]; then
echo "Removing gnocchi volume if it is customzied"
rm -rfv $gnocchi_metric_datadir_volume
fi
if [[ "$influxdb_datadir_volume" != "influxdb" && -d "$influxdb_datadir_volume" ]]; then
echo "Removing influxdb volume if it is customzied"
rm -rfv $influxdb_datadir_volume
fi
if [[ "$kafka_datadir_volume" != "kafka" && -d "$kafka_datadir_volume" ]]; then
echo "Removing kafka volume if it is customised"
rm -rfv $kafka_datadir_volume
fi
if [[ "$opensearch_datadir_volume" != "opensearch" && -d "$opensearch_datadir_volume" ]]; then
echo "Removing opensearch volume if it is customzied"
rm -rfv $opensearch_datadir_volume
fi
FOLDER_PATH="/etc/kolla"
if [[ -e "$FOLDER_PATH/ovsdpdk-db/ovs-dpdkctl.sh" ]]; then
echo uninstalling ovs-dpdk service files and tools.
sudo CONFIG_FILE="$FOLDER_PATH/ovsdpdk-db/ovs-dpdkctl.conf" $FOLDER_PATH/ovsdpdk-db/ovs-dpdkctl.sh uninstall
fi
echo "Getting folders name..."
for dir in $FOLDER_PATH/*; do
if [ "$dir" == "$FOLDER_PATH/passwords.yml" ] || \
[ "$dir" == "$FOLDER_PATH/globals.yml" ] || \
[ "$dir" == "$FOLDER_PATH/globals.d" ] || \
[ "$dir" == "$FOLDER_PATH/kolla-build.conf" ] || \
[ "$dir" == "$FOLDER_PATH/config" ] || \
[ "$dir" == "$FOLDER_PATH/certificates" ]; then
echo "Skipping:" $dir
else
rm -rfv $dir
fi
done
if [[ "$destroy_include_dev" == "yes" ]]; then
echo "Cleaning up dev repos..."
rm -rfv "${kolla_dev_repos_directory}"
fi