Hi Raoul,

On Thu, Sep 03, 2009 at 11:21:59AM +0200, Raoul Bhatia [IPAX] wrote:
> On 09/03/2009 11:09 AM, Raoul Bhatia [IPAX] wrote:
> > On 09/03/2009 11:04 AM, Raoul Bhatia [IPAX] wrote:
> >> hi,
> >>
> >> i today added log_level and keepalive options to the mysql-proxy ra:
> >>
> >> log_level (error|warning|info|message|debug|)
> >>   Log all messages of level (error|warning|info|message|debug|) or
> >>   higer. An empty value disables logging.
> >>
> >> keepalive (true|false|):
> >>   Try to restart the proxy if it crashed (default: ).
> >>
> >> please commit this patch after my previous patches.
> 
> i spotted a minor mistake in mysql-proxy_loglevel_keepalive.patch.
> of course, "[ "$keepalive" -eq "true" ]" will not work as expected.
> 
> please find the corrected patch enclosed.

Many thanks for the patch.

I fixed one return code (OCF_ERR_CONFIGURED) on check for valid
log_level. And the regular expression test for the same parameter.

Also, log_level set to empty cannot be distinguished from
log_level not set at all using grep(1) or test(1). You either
have to find another way or change the usage. That is, unless
setting --log-level="" is equal to not specifying the --log-level
option at all in which case this won't result in a regression.

Cheers,

Dejan

> cheers,
> raoul
> -- 
> ____________________________________________________________________
> DI (FH) Raoul Bhatia M.Sc.          email.          [email protected]
> Technischer Leiter
> 
> IPAX - Aloy Bhatia Hava OEG         web.          http://www.ipax.at
> Barawitzkagasse 10/2/2/11           email.            [email protected]
> 1190 Wien                           tel.               +43 1 3670030
> FN 277995t HG Wien                  fax.            +43 1 3670030 15
> ____________________________________________________________________

> Index: mysql-proxy
> ===================================================================
> --- mysql-proxy       (revision 900)
> +++ mysql-proxy       (working copy)
> @@ -37,6 +37,8 @@
>  #  OCF_RESKEY_proxy_backend_addresses
>  #  OCF_RESKEY_proxy_read_only_backend_addresses
>  #  OCF_RESKEY_proxy_address
> +#  OCF_RESKEY_log_level
> +#  OCF_RESKEY_keepalive
>  #  OCF_RESKEY_admin_address
>  #  OCF_RESKEY_admin_username
>  #  OCF_RESKEY_admin_password
> @@ -55,6 +57,8 @@
>  : ${OCF_RESKEY_proxy_backend_addresses="127.0.0.1:3306"}
>  : ${OCF_RESKEY_proxy_read_only_backend_addresses=""}
>  : ${OCF_RESKEY_proxy_address=":4040"}
> +: ${OCF_RESKEY_log_level=""}
> +: ${OCF_RESKEY_keepalive=""}
>  : ${OCF_RESKEY_admin_address="127.0.0.1:4041"}
>  : ${OCF_RESKEY_admin_username=""}
>  : ${OCF_RESKEY_admin_password=""}
> @@ -126,6 +130,24 @@
>  <content type="string" default=":4040" />
>  </parameter>
>  
> +<parameter name="log_level" unique="0" required="0">
> +<longdesc lang="en">
> +Log all messages of level (error|warning|info|message|debug|) or higer.
> +An empty value disables logging.
> +</longdesc>
> +<shortdesc lang="en"></shortdesc>
> +<content type="string" default="" />
> +</parameter>
> +
> +<parameter name="keepalive" unique="0" required="0">
> +<longdesc lang="en">
> +Try to restart the proxy if it crashed (default: ).
> +Valid values: true or false. An empty value equals "false".
> +</longdesc>
> +<shortdesc lang="en"></shortdesc>
> +<content type="string" default="" />
> +</parameter>
> +
>  <parameter name="admin_address" unique="0" required="0">
>  <longdesc lang="en">
>  Listening address:port of the admin-server (default: 127.0.0.1:4041).
> @@ -200,6 +222,7 @@
>          PID=`head -n 1 "${pidfile}"`
>          if [ ! -z "$PID" ] ; then
>              isRunning "$PID"
> +            # @TODO in-depth check: issue a query and/or check proxy-admin 
> interface
>              return $?
>          fi
>      fi
> @@ -216,12 +239,22 @@
>          return $OCF_SUCCESS
>      fi
>  
> +    PARAM_PREFIX=''
>      # check if the MySQL Proxy defaults-file exist
> -    PARAM_PREFIX=''
>      if [ -f "$defaults_file" ]; then
>          PARAM_PREFIX="--defaults-file=$defaults_file "
>      fi
>  
> +    # set log-level
> +    if [ ! -z "$log_level" ]; then
> +        PARAM_PREFIX="$PARAM_PREFIX --log-level=$log_level "
> +    fi
> +
> +    # set keepalive
> +    if [ "$keepalive" = "true" ]; then
> +        PARAM_PREFIX="$PARAM_PREFIX --keepalive "
> +    fi
> +
>      # honor admin_* options
>      if [ ! -z "$admin_username" ]; then
>          PARAM_PREFIX="$PARAM_PREFIX --admin-username=$admin_username "
> @@ -325,14 +358,19 @@
>  
>  mysqlproxy_validate_all()
>  {
> -    # @TODO
> -
>      # check that the MySQL Proxy binary exists and can be executed
>      if [ ! -x "$binary" ]; then
>          ocf_log err "MySQL Proxy binary '$binary' does not exist or cannot 
> be executed."
>          return $OCF_ERR_GENERIC
>      fi
>  
> +    # check for valid log-level
> +    ll_check=`echo "$log_level" | egrep -v 
> "^(error|warning|info|message|debug|)$"`
> +    if [ ! -z "$ll_check" ]; then
> +        ocf_log err "MySQL Proxy log level '$log_level' not in valid range 
> '^(error|warning|info|message|debug|)$'"
> +        return $OCF_ERR_GENERIC
> +    fi
> +
>      return $OCF_SUCCESS
>  }
>  
> @@ -355,6 +393,8 @@
>  admin_password=$OCF_RESKEY_admin_password
>  admin_lua_script=$OCF_RESKEY_admin_lua_script
>  proxy_address=$OCF_RESKEY_proxy_address
> +log_level=$OCF_RESKEY_log_level
> +keepalive=$OCF_RESKEY_keepalive
>  
>  # debugging stuff
>  #echo OCF_RESKEY_binary=$OCF_RESKEY_binary >> 
> /tmp/prox_conf_$OCF_RESOURCE_INSTANCE
> @@ -362,6 +402,8 @@
>  #echo OCF_RESKEY_proxy_backend_addresses=$OCF_RESKEY_proxy_backend_addresses 
> >> /tmp/prox_conf_$OCF_RESOURCE_INSTANCE
>  #echo 
> OCF_RESKEY_proxy_read_only_backend_addresses=$OCF_RESKEY_proxy_read_only_backend_addresses
>  >> /tmp/prox_conf_$OCF_RESOURCE_INSTANCE
>  #echo OCF_RESKEY_proxy_address=$OCF_RESKEY_proxy_address >> 
> /tmp/prox_conf_$OCF_RESOURCE_INSTANCE
> +#echo OCF_RESKEY_log_level=$OCF_RESKEY_log_level >> 
> /tmp/prox_conf_$OCF_RESOURCE_INSTANCE
> +#echo OCF_RESKEY_keepalive=$OCF_RESKEY_keepalive >> 
> /tmp/prox_conf_$OCF_RESOURCE_INSTANCE
>  #echo OCF_RESKEY_admin_address=$OCF_RESKEY_admin_address >> 
> /tmp/prox_conf_$OCF_RESOURCE_INSTANCE
>  #echo OCF_RESKEY_admin_username=$OCF_RESKEY_admin_username >> 
> /tmp/prox_conf_$OCF_RESOURCE_INSTANCE
>  #echo OCF_RESKEY_admin_password=$OCF_RESKEY_admin_password >> 
> /tmp/prox_conf_$OCF_RESOURCE_INSTANCE

> _______________________________________________________
> Linux-HA-Dev: [email protected]
> http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
> Home Page: http://linux-ha.org/

_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to