X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=env%2Fubuntu%2Fbootloader-env%2F02_clean_bootloader_package_req.sh;h=1f6c474e69fb5ba38f5af2f61be2a37d3025b65f;hb=d97c70768d15571872233922caf17c4a4c34065b;hp=4154b6fbd15d4c73a624eb0920b5ca0677d0b548;hpb=618ced035cad7691b28ca606117568548893b26d;p=icn.git diff --git a/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh b/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh index 4154b6f..1f6c474 100755 --- a/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh +++ b/env/ubuntu/bootloader-env/02_clean_bootloader_package_req.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -set -ex +set -eux -o pipefail source $(dirname $PWD)/../lib/common.sh source $(dirname $PWD)/../lib/logging.sh @@ -9,26 +9,29 @@ if [[ $EUID -ne 0 ]]; then exit 1 fi -if [[ $(lsb_release -d | cut -f2) != $UBUNTU_BIONIC ]]; then - echo "Currently Ubuntu 18.04.2 LTS is only supported" - exit 1 -fi +function autoremove { + #apt-get autoremove -y + rm -rf /etc/apt/sources.list.d/* +} -function clean_essential_packages() { +function clean_essential_packages { apt-get update - for package in crudini curl dnsmasq figlet golang nmap patch psmisc \ - python-pip python-requests python-setuptools vim wget; do - apt-get remove $package -y - done + for package in crudini curl dnsmasq figlet golang nmap patch psmisc \ + python3-pip python3-requests python3-setuptools vim wget; do + apt-get remove $package -y + done + update-alternatives --remove python /usr/bin/python3 + update-alternatives --remove pip /usr/bin/pip3 - apt-get autoremove -y - rm -rf /etc/apt/sources.list.d/* + autoremove } -function check_prerequisite() { +function check_prerequisite { if !(which pip); then - apt-get install python-pip -y + apt-get install python3-pip -y fi + update-alternatives --install /usr/bin/python python /usr/bin/python3 1 + update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 if !(which curl); then apt-get install curl -y @@ -39,66 +42,84 @@ function check_prerequisite() { fi } -function clean_ironic_packages() { - for package in jq nodejs python-ironicclient \ - python-ironic-inspector-client python-lxml python-netaddr \ - python-openstackclient unzip genisoimage; do - apt-get remove $package -y - done +function clean_ironic_packages { + for package in python3-ironicclient \ + python3-ironic-inspector-client \ + python3-openstackclient genisoimage; do + apt-get remove $package -y + done } -function clean_docker_packages() { +function clean_docker_packages { curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" apt-get update + docker rmi -f $(docker image ls -a -q) apt-get remove docker-ce -y - for package in apt-transport-https ca-certificates gnupg-agent \ - software-properties-common; do - apt-get remove $package -y - done - - apt-get remove -y docker \ + apt-get remove -y docker \ docker-engine \ docker.io \ containerd \ runc \ docker-ce - - apt-get update + apt-get purge docker-* -y --allow-change-held-packages + apt-get update } -function clean_podman_packages() { +function clean_podman_packages { apt-get update add-apt-repository -y ppa:projectatomic/ppa apt-get remove podman -y } -function clean_kubernetes_packages() { - #Just to make sure kubernetes packages are removed during the download - curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - - bash -c 'cat </etc/apt/sources.list.d/kubernetes.list +function clean_kubernetes_packages { + #Just to make sure kubernetes packages are removed during the download + curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - + bash -c 'cat </etc/apt/sources.list.d/kubernetes.list deb https://apt.kubernetes.io/ kubernetes-xenial main EOF' - apt-get update - apt-get remove kubelet kubeadm kubectl -y + apt-get update + apt-get remove kubelet kubeadm kubectl -y +} + +function clean_all { + apt-get remove -y openvswitch-switch openvswitch-common ovn-central \ + ovn-common ovn-host + rm -rf /var/run/openvswitch + rm -rf /var/lib/openvswitch + rm -rf /var/log/openvswitch + rm -rf /var/lib/libvirt + rm -rf /etc/libvirt + rm -rf /var/lib/virtlet + rm -rf /var/run/libvirt + rm -rf virtlet.sock + rm -rf virtlet-diag.sock + rm -rf criproxy.sock + systemctl stop dockershim + systemctl stop criproxy + systemctl disable kubelet + systemctl disable dockershim + systemctl disable criproxy + if ip link show | grep virbr0-nic > /dev/null; then ip link delete virbr0-nic; fi + if ip link show | grep virbr0 > /dev/null; then ip link delete virbr0; fi } -function clean_apt_cache() { - shopt -s extglob - pushd /var/cache/apt/archives +function clean_apt_cache { + shopt -s extglob + pushd /var/cache/apt/archives + + if [ $(ls -1q . | wc -l ) -ge 3 ]; then + $(rm !("lock"|"partial")) + fi + popd - if [ $(ls -1q . | wc -l ) -ge 3 ]; then - $(rm !("lock"|"partial")) - fi - popd - } -function mv_apt_cache() { - shopt -s extglob +function mv_apt_cache { + shopt -s extglob pushd /var/cache/apt/archives if [ $(ls -1q . | wc -l ) -gt 2 ]; then @@ -107,14 +128,14 @@ function mv_apt_cache() { popd } -function check_dir() { +function check_dir { if [ ! -d $1 ]; then mkdir -p $1 fi } -function clean_dir() { - shopt -s extglob +function clean_dir { + shopt -s extglob pushd $1 if [ $(ls -1q . | wc -l ) -ne 0 ]; then @@ -123,6 +144,20 @@ function clean_dir() { popd } +if [ "$1" == "--only-packages" ]; then + check_prerequisite + clean_docker_packages || true + #clean_ironic_packages + autoremove + exit 0 +fi + +if [ "$1" == "--bm-cleanall" ]; then + clean_all || true + autoremove + exit 0 +fi + check_prerequisite clean_apt_cache check_dir $LOCAL_APT_REPO