4 source $(dirname $PWD)/../lib/common.sh
5 source $(dirname $PWD)/../lib/logging.sh
7 if [[ $EUID -ne 0 ]]; then
8 echo "This script must be run as root"
12 if [[ $(lsb_release -d | cut -f2) != $UBUNTU_BIONIC ]]; then
13 echo "Currently Ubuntu 18.04.2 LTS is only supported"
17 function clean_essential_packages() {
19 for package in crudini curl dnsmasq figlet golang nmap patch psmisc \
20 python-pip python-requests python-setuptools vim wget; do
21 apt-get remove $package -y
25 rm -rf /etc/apt/sources.list.d/*
28 function check_prerequisite() {
30 apt-get install python-pip -y
33 if !(which curl); then
34 apt-get install curl -y
37 if !(which add-apt-repository); then
38 apt-get install software-properties-common -y
42 function clean_ironic_packages() {
43 for package in jq nodejs python-ironicclient \
44 python-ironic-inspector-client python-lxml python-netaddr \
45 python-openstackclient unzip genisoimage; do
46 apt-get remove $package -y
50 function clean_docker_packages() {
51 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
53 "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
57 apt-get remove docker-ce -y
58 for package in apt-transport-https ca-certificates gnupg-agent \
59 software-properties-common; do
60 apt-get remove $package -y
63 apt-get remove -y docker \
73 function clean_podman_packages() {
75 add-apt-repository -y ppa:projectatomic/ppa
76 apt-get remove podman -y
79 function clean_kubernetes_packages() {
80 #Just to make sure kubernetes packages are removed during the download
81 curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
82 bash -c 'cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
83 deb https://apt.kubernetes.io/ kubernetes-xenial main
86 apt-get remove kubelet kubeadm kubectl -y
89 function clean_apt_cache() {
91 pushd /var/cache/apt/archives
93 if [ $(ls -1q . | wc -l ) -ge 3 ]; then
94 $(rm !("lock"|"partial"))
100 function mv_apt_cache() {
102 pushd /var/cache/apt/archives
104 if [ $(ls -1q . | wc -l ) -gt 2 ]; then
105 $(mv !("lock"|"partial") $LOCAL_APT_REPO)
110 function check_dir() {
116 function clean_dir() {
120 if [ $(ls -1q . | wc -l ) -ne 0 ]; then
128 check_dir $LOCAL_APT_REPO
129 clean_dir $LOCAL_APT_REPO
130 check_dir $PIP_CACHE_DIR
131 clean_dir $PIP_CACHE_DIR
134 check_dir $CONTAINER_IMAGES_DIR
135 clean_dir $CONTAINER_IMAGES_DIR
136 clean_kubernetes_packages
137 clean_podman_packages
138 clean_docker_packages
139 clean_ironic_packages
140 clean_essential_packages
141 rm -rf $LOCAL_APT_REPO
142 rm -rf $PIP_CACHE_DIR
144 rm -rf $CONTAINER_IMAGES_DIR