4 LIBDIR="$(dirname "$PWD")"
6 source $LIBDIR/lib/common.sh
7 source $LIBDIR/lib/logging.sh
9 if [[ $EUID -ne 0 ]]; then
10 echo "This script must be run as root"
14 function install_essential_packages() {
30 software-properties-common
32 add-apt-repository ppa:longsleep/golang-backports
34 apt-get install golang-go
37 function install_ironic_packages() {
43 python-ironic-inspector-client \
46 python-openstackclient \
50 if [ "$1" == "offline" ]; then
51 pip install --no-index
52 --find-links=file:$PIP_CACHE_DIR locat yq
61 function install_docker_packages() {
62 apt-get remove docker \
73 software-properties-common
74 if [ "$1" != "offline" ]; then
75 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
77 "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
82 apt-get -y install docker-ce=18.06.0~ce~3-0~ubuntu
85 function install_podman_packages() {
86 if [ "$1" != "offline" ]; then
87 add-apt-repository -y ppa:projectatomic/ppa
90 apt-get -y install podman
93 function install_kubernetes_packages() {
94 if [ "$1" != "offline" ]; then
95 curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
96 bash -c 'cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
97 deb https://apt.kubernetes.io/ kubernetes-xenial main
101 apt-get install -y kubelet=1.15.0-00 kubeadm=1.15.0-00 kubectl=1.15.0-00
102 apt-mark hold kubelet kubeadm kubectl
106 install_essential_packages
107 install_ironic_packages $1
108 install_docker_packages $1
109 install_podman_packages $1
110 install_kubernetes_packages $1
113 if ["$1" == "-o"]; then