blob: 5a4eb35f6599f97168bd26ef4d6f4080c2f508f0 [file] [log] [blame]
#!/bin/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.
#
bin=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
base_dir=$( cd "$( dirname "$bin" )" && pwd )
set -e
# enable yum epel repo
is_installed_epel_release="rpm -q --quiet epel-release"
install_epel_release="sudo yum install -q -y epel-release"
for i in {1..10}; do ($is_installed_epel_release || $install_epel_release) && break || sleep 15; done
# install ansible
is_installed_ansible="rpm -q --quiet ansible"
install_ansible="sudo yum install -q -y ansible"
for i in {1..10}; do ($is_installed_ansible || $install_ansible) && break || sleep 15; done
# setup user-specific ansible configuration
if [ ! -h ~/.ansible.cfg ]; then
cd ~/
rm -f .ansible.cfg
ln -s $base_dir/conf/ansible.cfg .ansible.cfg
fi
# setup ansible hosts
if [ ! -h /etc/ansible/hosts ]; then
cd /etc/ansible
sudo rm -f hosts
sudo ln -s $base_dir/conf/hosts hosts
fi
# install lxml as it is a dependency for the maven_artifact Ansible module
centos_version=`cat /etc/os-release | grep '^VERSION_ID' | cut -d'"' -f2`
if [ $centos_version -eq 7 ]; then
sudo yum install -q -y python-lxml
elif [ $centos_version -eq 8 ]; then
sudo yum install -q -y python3-lxml
fi
# install jq to ease JSON parsing on the proxy
sudo yum install -y jq