1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-15 04:32:11 +00:00
iiab/scripts/install_ansible
2017-09-26 09:48:13 -05:00

98 lines
3.7 KiB
Bash
Executable file

#!/bin/bash -x
# required to start loading IIAB with ansible
set -e
FOUND=""
URL="NA"
if [ $(which ansible-playbook) ]; then
echo "Ansible installed exiting..."
exit 0
fi
echo "Installing --- Please Wait"
if [ -f /etc/fedora-release ]; then
VER=`grep VERSION_ID /etc/*elease | cut -d= -f2`
URL=https://github.com/jvonau/iiab/blob/ansible/vars/fedora-$VER.yml
dnf -y upgrade
dnf -y install ansible git bzip2 file findutils gzip hg svn sudo tar which unzip xz zip libselinux-python
dnf -y install python-pip python-setuptools python-wheel patch
FOUND="yes"
FAMILY="redhat"
fi
if [ -f /etc/centos-release ]; then
yum -y upgrade
yum -y install ca-certificates nss epel-release
yum -y install ansible git bzip2 file findutils gzip hg svn sudo tar which unzip xz zip libselinux-python
yum -y install python-pip python-setuptools python-wheel patch
FOUND="yes"
FAMILY="redhat"
fi
if [ -f /etc/olpc-release ]; then
yum -y upgrade
yum -y install ca-certificates nss
yum -y install git bzip2 file findutils gzip hg svn sudo tar which unzip xz zip libselinux-python
yum -y install python-pip python-setuptools python-wheel patch
pip install --upgrade pip setuptools wheel #EOL just do it
FOUND="yes"
FAMILY="debian"
fi
if [ -f /etc/debian_version ]; then
# echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" >> /etc/apt/sources.list
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
# apt-get update
# apt-get install ansible git python-pip python-setuptools python-wheel patch
apt-get install ansible python-kerberos python-selinux python-winrm python-xmltodict sshpass bzip2 file findutils gzip tar unzip zip python-keyczar python-boto python-dnspython python-pyrax python-sphere
FOUND="yes"
FAMILY="debian"
fi
if [ `grep -qi ubuntu /etc/lsb-release` ] || [ `grep -qi ubuntu /etc/os-release` ]; then
apt-get update
# apt-get install software-properties-common
# apt-add-repository ppa:ansible/ansible
# apt-get update
# apt-get install ansible git python-pip python-setuptools python-wheel patch
apt-get install ansible python-kerberos python-selinux python-winrm python-xmltodict sshpass bzip2 file findutils gzip tar unzip zip python-keyczar python-boto python-dnspython python-pyrax python-sphere
FOUND="yes"
FAMILY="debian"
fi
if [ `grep -qi raspbian /etc/*elease` ]; then
apt-get update
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
# apt-get update
# apt-get install ansible git python-pip python-setuptools python-wheel patch
apt-get install ansible python-kerberos python-selinux python-winrm python-xmltodict sshpass bzip2 file findutils gzip tar unzip zip python-keyczar python-boto python-dnspython python-pyrax python-sphere
FOUND="yes"
FAMILY="debian"
fi
if [ ! $FOUND = "yes" ]; then
echo 'WARN: Could not detect distro or distro unsupported'
exit 1
fi
# ansible-2.3.1.0-1.el7.noarch.rpm from 2017-06-01
if [ $FAMILY = "redhat" ]; then
VER=`ansible --version|head -n 1|cut -f 2 -d " "` #(returns 2.3.1.0) 2017-07-07
echo "ansible version installed via package manager $VER"
# rpm -e ansible
fi
### start pip isolation
if [ $FAMILY = "debian" ]; then
apt-get install python-pip python-setuptools python-wheel patch
fi
###
###
#pip upgrades here if needed
###
# latest 2.2 is 2.2.3.0 2017-07-07
if [ $FAMILY = "debian" ]; then
# echo 'WARN: Trying to install ansible via pip without some dependencies'
# echo 'WARN: Not all functionality of ansible may be available'
pip install ansible==2.3.1 --disable-pip-version-check
fi
mkdir -p /etc/ansible/
echo -e '[local]\nlocalhost\n' > /etc/ansible/hosts
### end ansible routine