You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/bin/bash
SERVER=$1 LXC_HOST=$2 PLAYBOOK=$3
while [[ "$#" -gt 0 ]]; do case $1 in -f|--force) force=1; shift ;; esac shift done
usage() { echo "Usage: run-lxc-playbook.sh server lxc_host playbook" echo "server - main proxmox server IP address and lxc_host that the name of lxc container" echo "lxc_host - name of lxc container" echo "playbook - playbook file" }
if [[ -z "$SERVER" ]]; then echo "You must defined SERVER as first argument" usage exit 1 fi
if [[ -z "$LXC_HOST" ]]; then echo "You must defined LXC_HOST as second argument" usage exit 1 fi
if [[ -z "$PLAYBOOK" ]]; then echo "You must defined PLAYBOOK as third argument" usage exit 1 fi
if [[ ! -f "$PLAYBOOK" ]]; then echo "Playbook file is not exists: $PLAYBOOK" usage exit 1 fi
COMMAND=$(cat <<EOF ansible-playbook -e "lxc_host=$LXC_HOST" -e="domain_name=$LXC_HOST" -e runner=lxc --ssh-common-args="-o ProxyCommand='ssh -W %h:%p -q root@$SERVER'" $PLAYBOOK EOF )
if [[ -z "$force" ]]; then printf 'Launch ansible playbook:\n%s\n' "$COMMAND" read -p "Are you sure? " -n 1 -r echo # (optional) move to a new line if [[ $REPLY =~ ^[Yy]$ ]] then /bin/bash -c "$COMMAND" fi else /bin/bash -c "$COMMAND" fi
|