#!/usr/bin/env bash
-set -ex
+set -eux -o pipefail
LIBDIR="$(dirname "$PWD")"
exit 1
fi
-function install_essential_packages() {
+function install_essential_packages {
+ export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get -y install \
- crudini \
- curl \
- dnsmasq \
- figlet \
- nmap \
- patch \
- psmisc \
- python-pip \
- python-requests \
- python-setuptools \
- vim \
- wget \
- git \
- software-properties-common
+ ca-certificates \
+ crudini \
+ curl \
+ dnsmasq \
+ figlet \
+ nmap \
+ patch \
+ psmisc \
+ python3-pip \
+ python3-requests \
+ python3-setuptools \
+ vim \
+ wget \
+ git \
+ software-properties-common
- add-apt-repository ppa:longsleep/golang-backports
- apt-get update
- apt-get install golang-go
-}
+ update-alternatives --install /usr/bin/python python /usr/bin/python3 1
+ update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
-function install_ironic_packages() {
+ add-apt-repository -y ppa:longsleep/golang-backports
apt-get update
- apt-get -y install \
- jq \
- nodejs \
- python-ironicclient \
- python-ironic-inspector-client \
- python-lxml \
- python-netaddr \
- python-openstackclient \
- unzip \
- genisoimage
-
- if [ "$1" == "offline" ]; then
- pip install --no-index
- --find-links=file:$PIP_CACHE_DIR locat yq
- return
- fi
-
- pip install \
- lolcat \
- yq
+ apt-get install golang-go -y
}
-function install_docker_packages() {
- apt-get remove docker \
- docker-engine \
- docker.io \
- containerd \
- runc
+function install_ironic_packages {
apt-get update
apt-get -y install \
- apt-transport-https \
- ca-certificates \
- curl \
- gnupg-agent \
- software-properties-common
- if [ "$1" != "offline" ]; then
- 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
- fi
- apt-get -y install docker-ce=18.06.0~ce~3-0~ubuntu
-}
+ jq \
+ nodejs \
+ python3-ironicclient \
+ python3-ironic-inspector-client \
+ python3-lxml \
+ python3-netaddr \
+ python3-openstackclient \
+ unzip \
+ genisoimage \
+ whois
-function install_podman_packages() {
- if [ "$1" != "offline" ]; then
- add-apt-repository -y ppa:projectatomic/ppa
- apt-get update
- fi
- apt-get -y install podman
-}
-
-function install_kubernetes_packages() {
- if [ "$1" != "offline" ]; then
- curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
- bash -c 'cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
-deb https://apt.kubernetes.io/ kubernetes-xenial main
-EOF'
- apt-get update
- fi
- apt-get install -y kubelet=1.15.0-00 kubeadm=1.15.0-00 kubectl=1.15.0-00
- apt-mark hold kubelet kubeadm kubectl
+ pip install \
+ lolcat \
+ yq
}
install() {
- install_essential_packages
- install_ironic_packages $1
- install_docker_packages $1
- install_podman_packages $1
- install_kubernetes_packages $1
+ install_essential_packages
+ install_ironic_packages
+ install_kustomize
}
-if ["$1" == "-o"]; then
- install offline
- exit 0
-fi
-
install