#!/bin/bash

export AMBARI_HOST=$(hostname -f)

while getopts f:d:c:f: option
  do
    case "${option}"
      in
        f) BLUEPRINT=${OPTARG};;
        c) CLUSTER=${OPTARG};;
  esac
done

echo '
[ambari_2_6_2_centos7]
name=ambari_2_6_2_centos7
baseurl=https://storage.googleapis.com/arenadata-repo/ambari/2.6.2/centos7/
gpgcheck=0
enabled=1
priority=1
' > /etc/yum.repos.d/ambari.repo

echo 'Installing Ambari Server'
yum install -y ambari-server

echo 'Installing Ambari Agent'
yum install -y ambari-agent

echo 'Configuring Ambari Server'
ambari-server setup -s

echo 'Starting Ambari Server'
ambari-server start

echo 'Installing Ambari Agent'
ambari-agent start

curl -H "X-Requested-By: ambari" -X POST -u admin:admin http://$AMBARI_HOST:8080/api/v1/blueprints/blueprint-ADH16-Single-Node -d @$BLUEPRINT

curl -H "X-Requested-By: ambari" -X GET -u admin:admin $AMBARI_HOST:8080/api/v1/blueprints

echo 'Generating Hostmap Config'
echo '
{
  "blueprint" : "blueprint-ADH16-Single-Node",
  "default_password" : "admin",
  "host_groups" :[
    {
      "name" : "host_group_1",
      "hosts" : [
        {
          "fqdn" : "'$AMBARI_HOST'"
        }
      ]
    }
  ]
}
' > ./hostmap.json

echo 'Generating ADH Repo File'
echo '{
  "Repositories" : {
    "repo_name": "adh16",
    "base_url" : "http://storage.googleapis.com/arenadata-repo/ADH/1.6.1/centos7/adh",
    "verify_base_url" : true
  }
}
' > ./adh-rhel7-repo.json

echo 'Generating ADH-UTILS Repo File'
echo '{
  "Repositories" : {
    "repo_name": "adh16-utils",
    "base_url" : "http://storage.googleapis.com/arenadata-repo/ADH/1.6.1/centos7/adh-utils",
    "verify_base_url" : true
  }
}
' > ./adh-utils-rhel7-repo.json

curl -H "X-Requested-By: ambari" -X PUT -u admin:admin http://$AMBARI_HOST:8080/api/v1/stacks/$CLUSTER/versions/1.6/operating_systems/redhat7/repositories/ADH-1.6.1 -d @adh-rhel7-repo.json

curl -H "X-Requested-By: ambari" -X PUT -u admin:admin http://$AMBARI_HOST:8080/api/v1/stacks/$CLUSTER/versions/1.6/operating_systems/redhat7/repositories/ADH-UTILS-1.6.1 -d @adh-utils-rhel7-repo.json

echo 'Triggering Cluster Creation'
curl -H "X-Requested-By: ambari" -X POST -u admin:admin http://$AMBARI_HOST:8080/api/v1/clusters/$CLUSTER -d @hostmap.json

curl -H "X-Requested-By: ambari" -X GET -u admin:admin http://$AMBARI_HOST:8080/api/v1/clusters/$CLUSTER/requests/
