diff options
Diffstat (limited to 'libexec/fence/ssh-trigger')
-rwxr-xr-x | libexec/fence/ssh-trigger | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/libexec/fence/ssh-trigger b/libexec/fence/ssh-trigger new file mode 100755 index 0000000..af24028 --- /dev/null +++ b/libexec/fence/ssh-trigger @@ -0,0 +1,64 @@ +#!/bin/sh -x + +# External FENCE module for container-tools a open-infrastrucutre-container-tools managed +# systemd nspawn container environment. +# +# Copyright (C) 2021 David Kunz <david.kunz@bfh.ch> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of version 2 of the GNU General Public License as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it would be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# +# Further, this software is distributed without any warranty that it is +# free of the rightful claim of any third person regarding infringement +# or the like. Any license provided herein, whether implied or +# otherwise, applies only to this software file. Patent licenses, if +# any, provided herein do not apply to combinations of this program with +# other software, or any other product whatsoever. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +set -e + +PROJECT="open-infrastructure" +PROGRAM="fence" +COMMAND="$(basename ${0})" + +export SENDER_IP="$(echo ${SSH_CLIENT} | awk '{ print $1 }')" + +# Parameter +PARAMETER="${1}" + +if [ -z "${PARAMETER}" ] +then + echo "Usage: ${PROGRAM} COMMAND [OPTIONS]" >&2 + echo "Usage: ${PROGRAM} COMMAND1,COMMAND2,... [COMMON_OPTIONS]" >&2 + echo + echo "See ${PROGRAM}(1) and ${PROJECT}(7) for more information." + exit 1 +fi + +# Command +COMMANDS="${1}" + +# Options +shift 1 +OPTIONS="${*}" + +for COMMAND in $(echo "${COMMANDS}" | sed -e 's|,| |g') +do + if [ ! -e "/usr/share/compute-tools/${PROGRAM}/${COMMAND}" ] + then + echo "'${COMMAND}': no such ${PROGRAM} command, see fence(1)." >&2 + exit 1 + fi + + "/usr/share/compute-tools/${PROGRAM}/${COMMAND}" "${OPTIONS}" + +done |