#!/bin/bash
#
# Setup the files and checkouts on a cluster telemetry machine.
#

set -e

# Install packages.
echo "Installing packages..."
sudo apt-get update
sudo apt-get -y install libosmesa-dev clang-3.6 poppler-utils netpbm \
    python-django libgif-dev lua5.2 libnss3 python-setuptools python-pip \
    libglu1 libgtk3.0 xvfb gperf bison libglu1-mesa-dev libgbm-dev
sudo pip install -U crcmod mock psutil httplib2 numpy

# Install openjdk-8. See skbug.com/6975 for context.
sudo apt-get -y install openjdk-8-jdk openjdk-8-jre

echo "Installing Python..."

sudo apt-get -y install autotools-dev blt-dev bzip2 dpkg-dev g++-multilib \
    gcc-multilib libbluetooth-dev libbz2-dev libexpat1-dev libffi-dev libffi6 \
    libffi6-dbg libgdbm-dev libgpm2 libncursesw5-dev libreadline-dev \
    libsqlite3-dev libssl-dev libtinfo-dev mime-support net-tools netbase \
    python-crypto python-mox3 python-pil python-ply quilt tk-dev zlib1g-dev \
    mesa-utils android-tools-adb

echo "Bring artifacts in from Google storage..."
# TODO(rmistry): Figure out which ones we really need.
/snap/bin/gsutil cp gs://cluster-telemetry-bucket/artifacts/bots/.gitconfig_ct ~/.gitconfig
/snap/bin/gsutil cp gs://cluster-telemetry-bucket/artifacts/bots/.netrc_ct ~/.netrc
/snap/bin/gsutil cp gs://cluster-telemetry-bucket/artifacts/bots/.boto_ct ~/.boto

echo "Checking out depot_tools..."
if [ ! -d ~/depot_tools ]; then
  cd ~
  git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  echo 'export PATH=~/depot_tools:$PATH' >> ~/.bashrc
fi
PATH=$PATH:~/depot_tools

# CT uses this directory for storage of artifacts.
mkdir -p /b/storage

# If the bot is a builder then checkout Chromium and Skia repositories.
if [[ $(hostname -s) = ct-*-builder* ]]; then
  echo "Checking out Chromium repository..."
  mkdir -p /b/storage/chromium
  cd /b/storage/chromium
  if [[ $(hostname -s) = *android* ]]; then
    # Say yes to prompts for installing Android SDK.
    yes | ~/depot_tools/fetch android
  else
    ~/depot_tools/fetch chromium
  fi
  cd src
  git checkout master
  ~/depot_tools/gclient sync

  echo "Checking out Skia repository..."
  mkdir /b/skia-repo/
  cd /b/skia-repo/
  cat > .gclient << EOF
solutions = [
  { 'name'        : 'trunk',
    'url'         : 'https://skia.googlesource.com/skia.git',
    'deps_file'   : 'DEPS',
    'managed'     : True,
    'custom_deps' : {
    },
    'safesync_url': '',
  },
]
EOF
  ~/depot_tools/gclient sync
  cd trunk
  git checkout master
fi

# Get access token from metadata.
TOKEN=`curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token" -H "Metadata-Flavor: Google" | python -c "import sys, json; print json.load(sys.stdin)['access_token']"`
# Bootstrap Swarming.
mkdir -p /b/s
SWARMING=https://chrome-swarming.appspot.com
HOSTNAME=`hostname`
curl ${SWARMING}/bot_code?bot_id=$HOSTNAME -H "Authorization":"Bearer $TOKEN" -o /b/s/swarming_bot.zip

# See skbug.com/9425 for why LimitNOFILE is set.
cat <<EOF | sudo tee /etc/systemd/system/swarming_bot.service
[Unit]
Description=Swarming bot
After=network.target

[Service]
Type=simple
LimitNOFILE=50000
User=chrome-bot
Restart=on-failure
RestartSec=10
ExecStart=/usr/bin/env python /b/s/swarming_bot.zip start_bot

[Install]
WantedBy=default.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable swarming_bot.service

echo
echo "The setup script has completed!"
echo
