
dejanmm at fastmail
Sep 8, 2009, 4:03 AM
Post #6 of 8
(1397 views)
Permalink
|
|
Re: [PATCH] add log_level and keepalive to mysql-proxy ra
[In reply to]
|
|
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. r.bhatia [at] ipax > Technischer Leiter > > IPAX - Aloy Bhatia Hava OEG web. http://www.ipax.at > Barawitzkagasse 10/2/2/11 email. office [at] ipax > 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: Linux-HA-Dev [at] lists > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev > Home Page: http://linux-ha.org/ _______________________________________________________ Linux-HA-Dev: Linux-HA-Dev [at] lists http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/
|