blob: d01fda84900eba6bba7328a959a035c24dd3e20e [file] [log] [blame]
#!/usr/bin/env bash
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
BROOKLYN_VERSION=""
INSTALL_FROM_LOCAL_DIST="false"
TMP_ARCHIVE_NAME=apache-brooklyn.rpm
do_help() {
echo "./install.sh -v <Brooklyn Version> [-l <install from local file: true|false>]"
exit 1
}
while getopts ":hv:l:" opt; do
case "$opt" in
v) BROOKLYN_VERSION=$OPTARG ;;
# using a true/false argopt rather than just flag to allow easier integration with servers.yaml config
l) INSTALL_FROM_LOCAL_DIST=$OPTARG ;;
h) do_help;;
esac
done
# Exit if any step fails
set -e
if [ "x${BROOKLYN_VERSION}" == "x" ]; then
echo "Error: you must supply a Brooklyn version [-v]"
do_help
fi
if [ ! "${INSTALL_FROM_LOCAL_DIST}" == "true" ]; then
if [ ! -z "${BROOKLYN_VERSION##*-SNAPSHOT}" ] ; then
# url for official release versions
BROOKLYN_URL="https://www.apache.org/dyn/closer.lua?action=download&filename=brooklyn/apache-brooklyn-${BROOKLYN_VERSION}/apache-brooklyn-${BROOKLYN_VERSION}.noarch.rpm"
else
# url for community-managed snapshots
BROOKLYN_URL="https://repository.apache.org/service/local/artifact/maven/redirect?r=snapshots&g=org.apache.brooklyn&a=rpm-packaging&v=${BROOKLYN_VERSION}&c=noarch&e=rpm"
fi
else
echo "Installing from a local -dist archive [ /vagrant/apache-brooklyn-${BROOKLYN_VERSION}.noarch.rpm]"
# url to install from mounted /vagrant dir
BROOKLYN_URL="file:///vagrant/apache-brooklyn-${BROOKLYN_VERSION}.noarch.rpm"
# ensure local file exists
if [ ! -f /vagrant/apache-brooklyn-${BROOKLYN_VERSION}.noarch.rpm ]; then
echo "Error: file not found /vagrant/apache-brooklyn-${BROOKLYN_VERSION}.noarch.rpm"
exit 1
fi
fi
echo "Downloading Brooklyn release archive"
curl --fail --silent --show-error --location --output ${TMP_ARCHIVE_NAME} "${BROOKLYN_URL}"
echo "Restarting Syslog"
sudo systemctl restart rsyslog
echo "Updating Yum"
sudo yum -y update
echo "Install Java"
sudo yum install -y java-1.8.0-openjdk-headless
echo "Install Apache Brooklyn version ${BROOKLYN_VERSION} from [${BROOKLYN_URL}]"
sudo yum -y install ${TMP_ARCHIVE_NAME}
echo "Configure catalog"
sudo cp /vagrant/files/vagrant-catalog.bom /opt/brooklyn/catalog/vagrant-catalog.bom
sudo chown brooklyn:brooklyn /opt/brooklyn/catalog/vagrant-catalog.bom
sudo chmod 740 /opt/brooklyn/catalog/vagrant-catalog.bom
echo ' - file:catalog/vagrant-catalog.bom' | sudo tee -a /etc/brooklyn/default.catalog.bom
echo "Starting Apache Brooklyn..."
sudo systemctl start brooklyn
echo "Waiting for Apache Brooklyn to start..."
sleep 10
while ! (sudo grep "Brooklyn initialisation (part two) complete" /var/log/brooklyn/brooklyn.debug.log) > /dev/null ; do
sleep 10
echo ".... waiting for Apache Brooklyn to start at `date`"
done
echo "============================================================================================="
echo "============ ____ ____ ____ __ __ __ ___ =="
echo "============ / || \ / | / ]| | | / _] =="
echo "============ | o || o ) o | / / | | | / [_ =="
echo "============ | || _/| |/ / | _ || _] =="
echo "============ | _ || | | _ / \_ | | || [_ =="
echo "============ | | || | | | \ || | || | =="
echo "============ |__|__||__| |__|__|\____||__|__||_____| =="
echo "============ =="
echo "============ ____ ____ ___ ___ __ _ _ __ __ ____ =="
echo "============ | \ | \ / \ / \ | |/ ]| | | | || \ =="
echo "============ | o )| D ) || || ' / | | | | || _ | =="
echo "============ | || /| O || O || \ | |___ | ~ || | | =="
echo "============ | O || \| || || \| ||___, || | | =="
echo "============ | || . \ || || . || || || | | =="
echo "============ |_____||__|\_|\___/ \___/ |__|\_||_____||____/ |__|__| =="
echo "============ =="
echo "============ _____ ______ ____ ____ ______ ___ ___ __ =="
echo "============ / ___/| | / || \| | / _]| \ | | =="
echo "============ ( \_ | || o || D ) | / [_ | \ | | =="
echo "============ \__ ||_| |_|| || /|_| |_|| _]| D ||__| =="
echo "============ / \ | | | | _ || \ | | | [_ | | __ =="
echo "============ \ | | | | | || . \ | | | || || | =="
echo "============ \___| |__| |__|__||__|\_| |__| |_____||_____||__| =="
echo "============ =="
echo "============================================================================================="