1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-12 11:12:06 +00:00
iiab/runrole

46 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
INVENTORY="ansible_hosts"
PLAYBOOK="run-one-role.yml"
ARGS=""
CWD=`pwd`
if [ ! -f $PLAYBOOK ]; then
echo "Exiting: IIAB Playbook not found."
echo "Please run this in /opt/iiab/iiab (top level of the git repo)."
exit 1
fi
if [[ $# -eq 0 ]] ; then
echo " usage: ./runrole <name of role>"
echo " usage: ./runrole --reinstall <name of role>"
echo " Last variable would be full path to log file."
echo " If ommited current directory is used."
exit 0
fi
if [ "$1" == "--reinstall" ]; then
ARGS="$ARGS --extra-vars reinstall=True"
if [ ! $2 == "internetarchive" ]; then # special handling
if [ $2 == "calibre-web" ]; then # role directory & installed marker differ
sed -i -e '/^calibreweb/d' /etc/iiab/config_vars2.yml
fi
sed -i -e "/^$2/d" /etc/iiab/config_vars2.yml
fi
shift 1
fi
if [ $# -eq 2 ]; then
export ANSIBLE_LOG_PATH="$2"
else
export ANSIBLE_LOG_PATH="$CWD/iiab-debug.log"
fi
# Is the following stanza nec?
if [ ! -f /etc/iiab/config_vars2.yml ]; then
mkdir -p /etc/iiab
echo "{}" > /etc/iiab/config_vars2.yml
fi
ansible -m setup -i $INVENTORY localhost ${ARGS} --connection=local | grep python
ansible-playbook -i $INVENTORY $PLAYBOOK ${ARGS} --connection=local -e "role_to_run=$1"