## Base packages and setup
export DEBIAN_FRONTEND=noninteractive
echo "exit 101" > /usr/sbin/policy-rc.d
chmod +x /usr/sbin/policy-rc.d
apt-get clean
apt-get update

# Useful tools
apt-get -y install curl wget tmux vim-nox byobu iputils-ping traceroute htop tree

# Add apt-mk repository
echo "deb [arch=amd64] http://apt-mk.mirantis.com/xenial/ nightly extra salt salt-latest" > /etc/apt/sources.list.d/apt-mk.list
curl -sf http://apt-mk.mirantis.com/public.gpg | apt-key add -

# Cleanup old kernels, ensure latest is installed via virtual package
apt-get purge -y linux-image-* linux-headers-*
if [ ! -f /tmp/no_install_kernel ]; then
    # Use HWE kernel
    apt-get install -y linux-image-generic-hwe-16.04

    # Update grub cmdline
    sed -i 's|GRUB_CMDLINE_LINUX_DEFAULT=.*|GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"|g' /etc/default/grub
    sed -i 's|GRUB_CMDLINE_LINUX=.*|GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"|g' /etc/default/grub
    update-grub
fi

apt-get -y upgrade
apt-get -y dist-upgrade

apt-get autoremove --purge

# Tmux fixes
cat << 'EOF' >> /etc/tmux.conf
set -g default-terminal "screen-256color"
set -g set-titles on
set -g xterm-keys on
EOF

# Setup cloud-init
apt-get -y install cloud-init

# Motd
apt-get install -y update-motd
rm -f /etc/update-motd.d/*
cat << EOF >> /etc/update-motd.d/52-info
Ubuntu 16.04 "Xenial" Mirantis cloud image
Build date: $(date -u -R)

EOF
chmod +x /etc/update-motd.d/52-info
