Hi,

On Fri, May 27, 2011 at 04:32:37PM +0200, RaSca wrote:
> Il giorno Ven 27 Mag 2011 15:33:24 CET, Dejan Muhamedagic ha scritto:
> [...]
> >Yes. It's because users cannot read comments that easily, they
> >usually look at the logs. If at all.
> >Cheers,
> 
> New (and hopefully last) version attached.

Applied. I just added required=1 for the hostname parameter the
rest is unchanged.

Many thanks for the contribution!

Cheers,

Dejan

> Bye,
> 
> -- 
> RaSca
> Mia Mamma Usa Linux: Niente รจ impossibile da capire, se lo spieghi bene!
> ra...@miamammausalinux.org
> http://www.miamammausalinux.org

> #!/bin/sh
> #
> # External STONITH module for Hetzner.
> #
> # Copyright (c) 2011 MMUL S.a.S. - Raoul Scarazzini <ra...@mmul.it>
> #
> # 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., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
> #
> 
> # Read parameters from config file, format is based upon the hetzner OCF 
> resource agent
> # developed by Kumina: 
> http://blog.kumina.nl/2011/02/hetzner-failover-ip-ocf-script/
> conf_file="/etc/hetzner.cfg"
> user=`sed -n 's/^user.*=\ *//p' /etc/hetzner.cfg`
> pass=`sed -n 's/^pass.*=\ *//p' /etc/hetzner.cfg`
> hetzner_server="https://robot-ws.your-server.de";
> 
> check_http_response() {
>      # If the response is 200 then return 0
>      if [ $1 = 200 ]
>       then
>        return 0
>       else
>        # If the response is not 200 then display a description of the problem 
> and return 1
>        case $1 in
>         400) ha_log.sh err  "INVALID_INPUT - Invalid input parameters"
>                ;;
>         404) ha_log.sh err  "SERVER_NOT_FOUND - Server with ip $remote_ip not 
> found"
>                ;;
>         409) ha_log.sh err  "RESET_MANUAL_ACTIVE - There is already a running 
> manual reset"
>                ;;
>         500) ha_log.sh err "RESET_FAILED - Resetting failed due to an 
> internal error"
>                ;;
>        esac
>        return 1
>      fi
> }
> 
> case $1 in
> gethosts)
>         echo $hostname
>       exit 0
>       ;;
> on)
>       # Can't really be implemented because Hetzner's webservice cannot power 
> on a system
>       ha_log.sh err "Power on is not available since Hetzner's webservice 
> can't do this operation."
>       exit 1
>       ;;
> off)
>       # Can't really be implemented because Hetzner's webservice cannot power 
> on a system
>       ha_log.sh err "Power off is not available since Hetzner's webservice 
> can't do this operation."
>       exit 1
>       ;;
> reset)
>         # Launching the reset action via webservice
>         check_http_response $(curl --silent -o /dev/null -w '%{http_code}' -u 
> $user:$pass $hetzner_server/reset/$remote_ip -d type=hw)
>         exit $?
>       ;;
> status)
>         # Check if we can contact the webservice
>         check_http_response "$(curl --silent -o /dev/null -w '%{http_code}' 
> -u $user:$pass $hetzner_server/server/$remote_ip)"
>         exit $?
>       ;;
> getconfignames)
>       echo "hostname"
>       echo "remote_ip"
>       exit 0
>       ;;
> getinfo-devid)
>       echo "Hetzner STONITH device"
>       exit 0
>       ;;
> getinfo-devname)
>       echo "Hetzner STONITH external device"
>       exit 0
>       ;;
> getinfo-devdescr)
>       echo "Hetzner host reset"
>       echo "Manages the remote webservice for reset a remote server."
>       exit 0
>       ;;
> getinfo-devurl)
>       echo "http://wiki.hetzner.de/index.php/Robot_Webservice_en";
>       exit 0
>       ;;
> getinfo-xml)
>       cat << HETZNERXML
> <parameters>
> <parameter name="hostname" unique="1">
> <content type="string" />
> <shortdesc lang="en">
> Hostname
> </shortdesc>
> <longdesc lang="en">
> The name of the host to be managed by this STONITH device.
> </longdesc>
> </parameter>
> 
> <parameter name="remote_ip" unique="1" required="1">
> <content type="string" />
> <shortdesc lang="en">
> Remote IP
> </shortdesc>
> <longdesc lang="en">
> The address of the remote IP that manages this server.
> </longdesc>
> </parameter>
> </parameters>
> HETZNERXML
>       exit 0
>       ;;
> *)
>       ha_log.sh err "Don't know what to do for '$remote_ip'"
>       exit 1
>       ;;
> esac

_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to