#!/bin/bash -xe

apt-get purge salt-formula-* -y
apt-get -y autoremove --purge
apt-get -y clean

rm -rf /var/lib/ntp/ntp.conf.dhcp || true
rm -rf /var/lib/apt/lists/*
rm -rv /etc/apt/sources.list.d/* || true
echo > /etc/apt/sources.list  || true
rm -vf /usr/sbin/policy-rc.d || true


echo "removeing all previously accepted salt keys"
salt-key -D -y || true

echo "cleaning up reclass"
rm -rf /srv/salt/reclass || true
rm -rf /srv/salt/scripts || true
rm -rf /usr/share/salt-formulas/env || true
#
mkdir -p /srv/salt/reclass/
mkdir -p /usr/share/salt-formulas/reclass/service/
mkdir -p /usr/share/salt-formulas/env/

echo "cleaning up hostname"
sed -i "/.*ubuntu.*/d" /etc/hosts
sed -i "/.*salt.*/d" /etc/hosts

echo "cleaning up guest additions"
rm -rf VBoxGuestAdditions_*.iso VBoxGuestAdditions_*.iso.? || true

echo "cleaning up dhcp leases"
rm -rf /var/lib/dhcp/* || true

echo "cleaning up udev rules"
rm -f /etc/udev/rules.d/70-persistent-net.rules || true
rm -rf /dev/.udev/ || true
rm -f /lib/udev/rules.d/75-persistent-net-generator.rules || true

echo "cleaning up minion_id for salt"
rm -f /etc/salt/minion_id || true

echo "cleaning up resolvconf"
sed -i '/172\.18\.208\.44/d' /etc/resolvconf/resolv.conf.d/base

# stop and disable services, for healthy zerodisk
# They should be enabled after cfg01 init
stop_services="postgresql.service salt-api salt-master salt-minion jenkins maas-rackd.service maas-regiond.service bind9"
for s in ${stop_services} ; do
  systemctl stop ${s} || true
  systemctl disable ${s} || true
done

echo 3 > /proc/sys/vm/drop_caches
sync
