5cb375645c
Add a new variable 'kolla_devmode', which when enabled, clones and bindmounts service source code into the containers. This commit adds the relevant changes for Heat, more services can be added and built upon. Usage: * Set 'kolla_devmode: yes' * Code is cloned to /opt/stack/{{ project_name }} on target node(s) * Users can develop in these repos, and simply restart the container to pick up / test changes. Debugging can be done from the host via 'remote_pdb'[0]. [0] https://pypi.python.org/pypi/remote-pdb Implements: blueprint mount-sources Change-Id: Ic0431b10d723bf84eeefc72039376fe0058dd902
71 lines
2.2 KiB
Bash
Executable File
71 lines
2.2 KiB
Bash
Executable File
#!/bin/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
|
|
|
|
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
|
|
|
|
if [[ "$destroy_include_dev" == "yes" ]]; then
|
|
echo "Cleaning up dev repos..."
|
|
rm -rfv "${kolla_dev_repos_directory}"
|
|
fi
|