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.
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/