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.
> 
> cheers,
> raoul

missing attachment.

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" -eq "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/

Reply via email to