#!/bin/bash

set -ex

# The default version will be 1.2
OSE_VERSION=${DIB_OSE_VERSION:="1.2"}

if [ "${OSE_VERSION}" == "1.2" ]; then
  if [ -z ${DIB_RHSM_OSE_POOL:-} ]; then
  cat > /etc/yum.repos.d/openshift-node.repo <<YUM
[openshift_node]
name=OpenShift Node
baseurl=${DIB_CONF_REPO_BASE}/Node/x86_64/os/
enabled=1
gpgcheck=0
priority=1
sslverify=false

YUM

  cat > /etc/yum.repos.d/openshift-jboss.repo <<YUM
[openshift_jbosseap]
name=OpenShift JBossEAP
baseurl=${DIB_CONF_REPO_BASE}/JBoss_EAP6_Cartridge/x86_64/os/
enabled=1
gpgcheck=0
priority=1
sslverify=false

YUM

  cat <<YUM > /etc/yum.repos.d/jbosseap.repo
[jbosseap]
name=jbosseap
baseurl=${DIB_CONF_JBOSS_REPO_BASE}/jbeap/6/os
enabled=1
priority=3
gpgcheck=0

YUM

  cat <<YUM > /etc/yum.repos.d/jbossews.repo
[jbossews]
name=jbossews
baseurl=${DIB_CONF_JBOSS_REPO_BASE}/jbews/2/os
enabled=1
priority=3
gpgcheck=0

YUM
  fi
else
  if [ -n "${DIB_CONF_REPO_BASE}" ]; then
      cat <<YUM > /etc/yum.repos.d/openshift.repo
[openshift_jbosseap]
name=OpenShift JBossEAP
baseurl=${DIB_CONF_REPO_BASE}/RHOSE-JBOSSEAP-2.0/x86_64/os/
enabled=1
gpgcheck=0
priority=10
sslverify=false

[openshift_node]
name=OpenShift Node
baseurl=${DIB_CONF_REPO_BASE}/RHOSE-NODE-2.0/x86_64/os/
enabled=1
gpgcheck=0
priority=10
sslverify=false
YUM
    fi

  if [ -n "${DIB_CONF_JBOSS_REPO_BASE}" ]; then
      cat <<YUM > /etc/yum.repos.d/jbosseap62.repo
[jbosseap62]
name=jbosseap62
baseurl=${DIB_CONF_JBOSS_REPO_BASE}
enabled=1
priority=30
gpgcheck=0
YUM
  fi
fi

yum install -y yum-plugin-priorities
# oo-admin-check-sources will ship with 2.0 however it is still compatible with OSE 1.2
curl -L https://api.github.com/repos/openshift/openshift-extras/tarball/master | tar -xvz
pushd openshift-openshift-extras*/admin/yum-validator
  VALIDATOR_ARGS=" --role=node-eap --fix-all"
  if [[ -n "${DIB_YUM_VALIDATOR_VERSION}" ]]; then
    VALIDATOR_ARGS+=" --oo-version ${DIB_YUM_VALIDATOR_VERSION}"
  fi
  ./oo-admin-yum-validator ${VALIDATOR_ARGS} || ./oo-admin-yum-validator ${VALIDATOR_ARGS}
popd
rm -rf openshift-openshift-extras*

OSE_PACKAGES="yum-plugin-priorities rubygem-openshift-origin-node ruby193-rubygem-passenger-native openshift-origin-node-util policycoreutils-python openshift-origin-cartridge-cron openshift-origin-cartridge-diy openshift-origin-cartridge-haproxy openshift-origin-cartridge-jbossews openshift-origin-cartridge-jbosseap openshift-origin-cartridge-jenkins openshift-origin-cartridge-jenkins-client openshift-origin-cartridge-mysql openshift-origin-cartridge-nodejs openshift-origin-cartridge-perl openshift-origin-cartridge-php openshift-origin-cartridge-postgresql openshift-origin-cartridge-python openshift-origin-cartridge-ruby openshift-origin-msg-node-mcollective wget "
OSE_V1_PACKAGES="mcollective "


OSE_V2_PACKAGES="ruby193-mcollective rubygem-openshift-origin-container-selinux rubygem-openshift-origin-frontend-nodejs-websocket python "

if [ $OSE_VERSION == "1.2" ]; then
  OSE_PACKAGES+=$OSE_V1_PACKAGES
else
  OSE_PACKAGES+=$OSE_V2_PACKAGES
  if [ -n "${DIB_CONF_RHEL_REPO_BASE}" ]; then
    OSE_PACKAGES+="--disablerepo=rhel-6-server-rpms "
  fi
fi

yum update -y
install-packages $OSE_PACKAGES --skip-broken
# make sure not services were started that might hold on to mounts
service crond stop


