Pyoungmeister has submitted this change and it was merged.

Change subject: WIP: first bit of stuff for taming the mysql module and making 
the SANITARIUM
......................................................................


WIP: first bit of stuff for taming the mysql module and making the SANITARIUM

Change-Id: Ifb7c6a717812906d584fe2a79fc7a507cf7fd45e
---
M manifests/role/db.pp
M manifests/site.pp
M modules/mysql/manifests/config.pp
M modules/mysql/manifests/params.pp
M modules/mysql/manifests/server.pp
M modules/mysql/manifests/server/config.pp
M modules/mysql/templates/my.cnf.erb
A modules/mysql/templates/mysql.init.erb
8 files changed, 611 insertions(+), 15 deletions(-)

Approvals:
  Pyoungmeister: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/manifests/role/db.pp b/manifests/role/db.pp
index e4de5db..a9f405c 100644
--- a/manifests/role/db.pp
+++ b/manifests/role/db.pp
@@ -1,5 +1,6 @@
 # role/db.pp
-# db::core and db::es
+# db::core for a few remaining m1 boxes
+# or db::sanitarium or db::labsdb for the labsdb project
 
 class role::db::core {
        $cluster = "mysql"
@@ -10,3 +11,114 @@
                mysql_wmf
 }
 
+
+class role::db::sanitarium {
+  class base {
+   $cluster = "mysql"
+
+   system_role {"role::db::sanitarium": description => "pre-labsdb dbs for 
Data Sanitization" }
+
+   include standard,
+    mysql::params
+
+   class { mysql :
+    package_name => 'mariadb-client-5.5'
+   }
+  }
+
+  define instance(
+    $port
+    ){
+
+    $serverid = inline_template("<%= (ia = ipaddress.split('.'); server_id = 
ia[0] + ia[2] + ia[3] + $port; return server_id) %>")
+    $ram      = inline_template("<%= ram = memorysize.split[0]; ram = 
Float(ram) * 0.75; ram = ram.round; ram = String(ram); return ram %>G")
+
+    include role::db::sanitarium::base
+
+    class { mysql::config :
+      port              => $port,
+      config_file       => "/etc/my.cnf.$port",
+      socket            => "/tmp/mysql.$port.sock",
+      pidfile           => "/a/sqldata.$port/mysql.pid",
+      datadir           => "/a/sqldata.$port/",
+      multi_instance    => true,
+    }
+
+    class { mysql::server :
+      package_name     => 'mariadb-server-5.5',
+      config_hash      => {
+        'client' => {
+
+        }
+      }
+    }
+
+    file { "/etc/init.d/mysql-${port}":
+      owner => root,
+      group => root,
+      mode => 0555,
+      source => "puppet:///modules/mysql/mysql.init.erb"
+    }
+
+    mysql::server::config {"my.cnf.${port}" :
+      settings => {
+        'mysqld' => {
+          'server_id' => $serverid,
+          'read_only' => 1,
+          'innodb_file_per_table' => true,
+          'query_cache_type' => 0,
+          'log_slow_verbosity' => 'Query_plan',
+          'optimizer_switch' => 'extended_keys=on',
+          'innodb-adaptive-flushing' => 1,
+          'innodb-buffer-pool-size' => $ram,
+          'innodb-flush-method' => 'O_DIRECT',
+          'innodb-io-capacity' => 1000,
+          'innodb-log-file-size' => "500M",
+          'innodb-old-blocks-pct' => 80,
+          'innodb-old-blocks-time' => 1000,
+          'innodb-read-io-threads' => 16,
+          'innodb-thread-concurrency' => 0,
+          'innodb-use-sys-malloc' => true,
+          'innodb-write-io-threads' => 8,
+          'innodb-checksums' =>1,
+          'max_connections' => 5000,
+          'table_open_cache'       => 50000,
+          'table_definition_cache' => 40000,
+          'query_cache_size'        => 0,
+          'log_slow_queries' => true,
+          'long_query_time' => 0.45,
+          'log_bin' => true,
+          'log_slave_updates' => true,
+          'sync_binlog' => 1,
+          'binlog_cache_size' => "1M",
+          'max_binlog_size'         => "1000M",
+          'binlog_format'=> "statement",
+          'expire_logs_days' => 30,
+          'connect_timeout'=>3,
+          'back_log'=>1000,
+          'max_connect_errors'=>1000000000,
+          'temp-pool' => true,
+        }
+      }
+    }
+
+  }
+
+}
+
+class role::db::labsdb {
+  $cluster = "mysql"
+
+  system_role {"role::db::labsdb": description => "labsdb dbs for labs use" }
+
+  include standard
+
+  include mysql::params
+  class { mysql::config : }
+
+  class { mysql::server : }
+
+  class { mysql :
+    package_name => 'mariadb-client-5.5'
+  }
+}
diff --git a/manifests/site.pp b/manifests/site.pp
index 4dc3fc5..9867d82 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -549,6 +549,23 @@
        class { role::coredb::researchdb : mariadb => true, 
innodb_file_per_table => true }
 }
 
+## SANITARIUM
+node /^db1053\.eqiad\.wmnet/ {
+       include role::db::sanitarium::base
+
+       role::db::sanitarium::instance { "s1" :
+               port => 3306,
+       }
+}
+
+node /^db1054\.eqiad\.wmnet/ {
+
+}
+
+node /^db1055\.eqiad\.wmnet/ {
+
+}
+
 ## not currently in production and/or hardware issues
 node /^db10(1[23456]|2[3]|3[2367]|4[45])\.eqiad\.wmnet/ {
        include standard
diff --git a/modules/mysql/manifests/config.pp 
b/modules/mysql/manifests/config.pp
index 440246a..2b7fcd8 100644
--- a/modules/mysql/manifests/config.pp
+++ b/modules/mysql/manifests/config.pp
@@ -52,7 +52,8 @@
   $default_engine    = 'UNSET',
   $root_group        = $mysql::params::root_group,
   $restart           = $mysql::params::restart,
-  $purge_conf_dir    = false
+  $purge_conf_dir    = false,
+  $multi_instance    = false
 ) inherits mysql::params {
 
   File {
diff --git a/modules/mysql/manifests/params.pp 
b/modules/mysql/manifests/params.pp
index bcae026..c0196a1 100644
--- a/modules/mysql/manifests/params.pp
+++ b/modules/mysql/manifests/params.pp
@@ -16,7 +16,7 @@
   $port                = 3306
   $etc_root_password   = false
   $ssl                 = false
-  $restart             = true
+  $restart             = false
 
   case $::operatingsystem {
     'Ubuntu': {
@@ -85,14 +85,14 @@
 
     'Debian': {
       $basedir              = '/usr'
-      $datadir              = '/var/lib/mysql'
+      $datadir              = '/a/sqldata/'
       $service_name         = 'mysql'
       $client_package_name  = 'mysql-client'
       $server_package_name  = 'mysql-server'
-      $socket               = '/var/run/mysqld/mysqld.sock'
-      $pidfile              = '/var/run/mysqld/mysqld.pid'
+      $socket               = "/tmp/mysqld.sock"
+      $pidfile              = "/a/sqldata/${::hostname}.pid"
       $config_file          = '/etc/mysql/my.cnf'
-      $log_error            = '/var/log/mysql/error.log'
+      $log_error            = "/a/sqldata/${::hostname}.log"
       $ruby_package_name    = 'libmysql-ruby'
       $python_package_name  = 'python-mysqldb'
       $php_package_name     = 'php5-mysql'
diff --git a/modules/mysql/manifests/server.pp 
b/modules/mysql/manifests/server.pp
index b900142..0ef0af7 100644
--- a/modules/mysql/manifests/server.pp
+++ b/modules/mysql/manifests/server.pp
@@ -21,7 +21,7 @@
   $service_provider = $mysql::params::service_provider,
   $config_hash      = {},
   $enabled          = true,
-  $manage_service   = true
+  $manage_service   = false
 ) inherits mysql::params {
 
   Class['mysql::server'] -> Class['mysql::config']
@@ -30,9 +30,27 @@
 
   create_resources( 'class', $config_class )
 
+  if $package_name =~ /mariadb/ {
+    file { "/etc/apt/sources.list.d/wikimedia-mariadb.list":
+      owner => root,
+      group => root,
+      mode => 0444,
+      source => "puppet:///modules/coredb_mysql/wikimedia-mariadb.list"
+    }
+    exec { "update_mysql_apt":
+      subscribe => File['/etc/apt/sources.list.d/wikimedia-mariadb.list'],
+      command => "/usr/bin/apt-get update",
+      refreshonly => true;
+    }
+  }
+
   package { 'mysql-server':
-    ensure => $package_ensure,
-    name   => $package_name,
+    ensure   => $package_ensure,
+    name     => $package_name,
+    require  => $package_name ? {
+      "mariadb-server-5.5" => 
File["/etc/apt/sources.list.d/wikimedia-mariadb.list"],
+      default => true,
+    }
   }
 
   if $enabled {
diff --git a/modules/mysql/manifests/server/config.pp 
b/modules/mysql/manifests/server/config.pp
index ddd034e..65dc784 100644
--- a/modules/mysql/manifests/server/config.pp
+++ b/modules/mysql/manifests/server/config.pp
@@ -83,7 +83,7 @@
 #
 define mysql::server::config (
   $settings,
-  $notify_service = true
+  $notify_service = false
 ) {
   include mysql::config
 
@@ -93,7 +93,7 @@
     $content = $settings
   }
 
-  file { "/etc/mysql/conf.d/${name}.cnf":
+  file { "/etc/mysql/conf.d/${name}":
     ensure  => file,
     content => $content,
     owner   => 'root',
diff --git a/modules/mysql/templates/my.cnf.erb 
b/modules/mysql/templates/my.cnf.erb
index 8a764bc..7af0361 100644
--- a/modules/mysql/templates/my.cnf.erb
+++ b/modules/mysql/templates/my.cnf.erb
@@ -14,17 +14,17 @@
 port      = <%= port %>
 basedir   = <%= basedir %>
 datadir   = <%= datadir %>
-tmpdir    = /tmp
+tmpdir    = /a/tmp
 skip-external-locking
 
 <% if bind_address %>
 bind-address    = <%= bind_address %>
 <% end %> 
 
-key_buffer         = 16M
+key_buffer         = 1M
 max_allowed_packet = 16M
 thread_stack       = 192K
-thread_cache_size  = 8
+thread_cache_size  = 300
 myisam-recover     = BACKUP
 query_cache_limit  = 1M
 query_cache_size   = 16M
@@ -49,4 +49,8 @@
 [mysql]
 [isamchk]
 key_buffer    = 16M
+<% if multi_instance == true -%>
+!include /etc/mysql/conf.d/my.cnf.$port
+<% else %>
 !includedir /etc/mysql/conf.d/
+<% end -%>
diff --git a/modules/mysql/templates/mysql.init.erb 
b/modules/mysql/templates/mysql.init.erb
new file mode 100755
index 0000000..c10829f
--- /dev/null
+++ b/modules/mysql/templates/mysql.init.erb
@@ -0,0 +1,444 @@
+#!/bin/sh
+# Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
+# This file is public domain and comes with NO WARRANTY of any kind
+
+# MySQL daemon start/stop script.
+
+# Usually this is put in /etc/init.d (at least on machines SYSV R4 based
+# systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
+# When this is done the mysql server will be started when the machine is
+# started and shut down when the systems goes down.
+
+# Comments to support chkconfig on RedHat Linux
+# chkconfig: 2345 64 36
+# description: A very fast and reliable SQL database engine.
+
+# Comments to support LSB init script conventions
+### BEGIN INIT INFO
+# Provides: mysql
+# Required-Start: $local_fs $network $remote_fs
+# Should-Start: ypbind nscd ldap ntpd xntpd
+# Required-Stop: $local_fs $network $remote_fs
+# Default-Start:  2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: start and stop MySQL
+# Description: MySQL is a very fast and reliable SQL database engine.
+### END INIT INFO
+ 
+# If you install MySQL on some other places than /usr, then you
+# have to do one of the following things for this script to work:
+#
+# - Run this script from within the MySQL installation directory
+# - Create a /etc/my.cnf file with the following information:
+#   [mysqld]
+#   basedir=<path-to-mysql-installation-directory>
+# - Add the above to any other configuration file (for example ~/.my.ini)
+#   and copy my_print_defaults to /usr/local/bin
+# - Add the path to the mysql-installation-directory to the basedir variable
+#   below.
+#
+# If you want to affect other MySQL variables, you should make your changes
+# in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.
+
+# If you change base dir, you must also change datadir. These may get
+# overwritten by settings in the MySQL configuration files.
+
+basedir=/usr
+datadir=
+
+# Default value, in seconds, afterwhich the script should timeout waiting
+# for server start. 
+# Value here is overriden by value in my.cnf. 
+# 0 means don't wait at all
+# Negative numbers mean to wait indefinitely
+service_startup_timeout=900
+
+# The following variables are only set for letting mysql.server find things.
+
+# Set some defaults
+pid_file=
+server_pid_file=
+use_mysqld_safe=1
+user=mysql
+if test -z "$basedir"
+then
+  basedir=/usr/local
+  bindir=./bin
+  if test -z "$datadir"
+  then
+    datadir=/var/lib/mysql
+  fi
+  sbindir=./bin
+  libexecdir=./bin
+else
+  bindir="$basedir/bin"
+  if test -z "$datadir"
+  then
+    datadir="$basedir/data"
+  fi
+  sbindir="$basedir/sbin"
+  libexecdir="$basedir/libexec"
+fi
+
+# datadir_set is used to determine if datadir was set (and so should be
+# *not* set inside of the --basedir= handler.)
+datadir_set=
+
+#
+# Use LSB init script functions for printing messages, if possible
+#
+lsb_functions="/lib/lsb/init-functions"
+if test -f $lsb_functions ; then
+  . $lsb_functions
+else
+  log_success_msg()
+  {
+    echo " SUCCESS! $@"
+  }
+  log_failure_msg()
+  {
+    echo " ERROR! $@"
+  }
+fi
+
+PATH=/sbin:/usr/local/sbin:/bin:/usr/bin:$basedir/bin
+export PATH
+
+mode=$1    # start or stop
+shift
+other_args="$*"   # uncommon, but needed when called from an RPM upgrade action
+           # Expected: "--skip-networking --skip-grant-tables"
+           # They are not checked here, intentionally, as it is the 
resposibility
+           # of the "spec" file author to give correct arguments only.
+
+case `echo "testing\c"`,`echo -n testing` in
+    *c*,-n*) echo_n=   echo_c=     ;;
+    *c*,*)   echo_n=-n echo_c=     ;;
+    *)       echo_n=   echo_c='\c' ;;
+esac
+
+parse_server_arguments() {
+  for arg do
+    case "$arg" in
+      --basedir=*)  basedir=`echo "$arg" | sed -e 's/^[^=]*=//'`
+                    bindir="$basedir/bin"
+                   if test -z "$datadir_set"; then
+                     datadir="$basedir/data"
+                   fi
+                   sbindir="$basedir/sbin"
+                   libexecdir="$basedir/libexec"
+        ;;
+      --datadir=*)  datadir=`echo "$arg" | sed -e 's/^[^=]*=//'`
+                   datadir_set=1
+       ;;
+      --user=*)  user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+      --pid-file=*) server_pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+      --service-startup-timeout=*) service_startup_timeout=`echo "$arg" | sed 
-e 's/^[^=]*=//'` ;;
+      --use-mysqld_safe) use_mysqld_safe=1;;
+      --use-manager)     use_mysqld_safe=0;;
+    esac
+  done
+}
+
+parse_manager_arguments() {
+  for arg do
+    case "$arg" in
+      --pid-file=*) pid_file=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+      --user=*)  user=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
+    esac
+  done
+}
+
+wait_for_pid () {
+  verb="$1"
+  manager_pid="$2"  # process ID of the program operating on the pid-file
+  i=0
+  avoid_race_condition="by checking again"
+  while test $i -ne $service_startup_timeout ; do
+
+    case "$verb" in
+      'created')
+        # wait for a PID-file to pop into existence.
+        test -s $pid_file && i='' && break
+        ;;
+      'removed')
+        # wait for this PID-file to disappear
+        test ! -s $pid_file && i='' && break
+        ;;
+      *)
+        echo "wait_for_pid () usage: wait_for_pid created|removed manager_pid"
+        exit 1
+        ;;
+    esac
+
+    # if manager isn't running, then pid-file will never be updated
+    if test -n "$manager_pid"; then
+      if kill -0 "$manager_pid" 2>/dev/null; then
+        :  # the manager still runs
+      else
+        # The manager may have exited between the last pid-file check and now. 
 
+        if test -n "$avoid_race_condition"; then
+          avoid_race_condition=""
+          continue  # Check again.
+        fi
+
+        # there's nothing that will affect the file.
+        log_failure_msg "Manager of pid-file quit without updating file."
+        return 1  # not waiting any more.
+      fi
+    fi
+
+    echo $echo_n ".$echo_c"
+    i=`expr $i + 1`
+    sleep 1
+  done
+
+  if test -z "$i" ; then
+    log_success_msg
+    return 0
+  else
+    log_failure_msg
+    return 1
+  fi
+}
+
+# Get arguments from the my.cnf file,
+# the only group, which is read from now on is [mysqld]
+if test -x ./bin/my_print_defaults
+then
+  print_defaults="./bin/my_print_defaults"
+elif test -x $bindir/my_print_defaults
+then
+  print_defaults="$bindir/my_print_defaults"
+elif test -x $bindir/mysql_print_defaults
+then
+  print_defaults="$bindir/mysql_print_defaults"
+else
+  # Try to find basedir in /etc/my.cnf
+  conf=<%= $mysql::config::config_file  %>
+  print_defaults=
+  if test -r $conf
+  then
+    subpat='^[^=]*basedir[^=]*=\(.*\)$'
+    dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf`
+    for d in $dirs
+    do
+      d=`echo $d | sed -e 's/[         ]//g'`
+      if test -x "$d/bin/my_print_defaults"
+      then
+        print_defaults="$d/bin/my_print_defaults"
+        break
+      fi
+      if test -x "$d/bin/mysql_print_defaults"
+      then
+        print_defaults="$d/bin/mysql_print_defaults"
+        break
+      fi
+    done
+  fi
+
+  # Hope it's in the PATH ... but I doubt it
+  test -z "$print_defaults" && print_defaults="my_print_defaults"
+fi
+
+#
+# Read defaults file from 'basedir'.   If there is no defaults file there
+# check if it's in the old (depricated) place (datadir) and read it from there
+#
+
+extra_args=""
+if test -r "$basedir/my.cnf"
+then
+  extra_args="-e $basedir/my.cnf"
+else
+  if test -r "$datadir/my.cnf"
+  then
+    extra_args="-e $datadir/my.cnf"
+  fi
+fi
+
+parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server 
mysql.server`
+
+# Look for the pidfile 
+parse_manager_arguments `$print_defaults $extra_args manager`
+
+#
+# Set pid file if not given
+#
+if test -z "$pid_file"
+then
+  pid_file=$datadir/mysqlmanager-`/bin/hostname`.pid
+else
+  case "$pid_file" in
+    /* ) ;;
+    * )  pid_file="$datadir/$pid_file" ;;
+  esac
+fi
+if test -z "$server_pid_file"
+then
+  server_pid_file=$datadir/`/bin/hostname`.pid
+else
+  case "$server_pid_file" in
+    /* ) ;;
+    * )  server_pid_file="$datadir/$server_pid_file" ;;
+  esac
+fi
+
+case "$mode" in
+  'start')
+    # Start daemon
+
+    # Safeguard (relative paths, core dumps..)
+    cd $basedir
+
+    manager=$bindir/mysqlmanager
+    if test -x $libexecdir/mysqlmanager
+    then
+      manager=$libexecdir/mysqlmanager
+    elif test -x $sbindir/mysqlmanager
+    then
+      manager=$sbindir/mysqlmanager
+    fi
+
+    echo $echo_n "Starting MySQL"
+    if test -x $manager -a "$use_mysqld_safe" = "0"
+    then
+      if test -n "$other_args"
+      then
+        log_failure_msg "MySQL manager does not support options '$other_args'"
+        exit 1
+      fi
+      # Give extra arguments to mysqld with the my.cnf file. This script may
+      # be overwritten at next upgrade.
+      "$manager" \
+        --mysqld-safe-compatible \
+        --user="$user" \
+        --pid-file="$pid_file" >/dev/null 2>&1 &
+      wait_for_pid created $!; return_value=$?
+
+      # Make lock for RedHat / SuSE
+      if test -w /var/lock/subsys
+      then
+        touch /var/lock/subsys/mysqlmanager
+      fi
+      exit $return_value
+    elif test -x $bindir/mysqld_safe
+    then
+      # Give extra arguments to mysqld with the my.cnf file. This script
+      # may be overwritten at next upgrade.
+      pid_file=$server_pid_file
+      $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file 
$other_args >/dev/null 2>&1 &
+      wait_for_pid created $!; return_value=$?
+
+      # Make lock for RedHat / SuSE
+      if test -w /var/lock/subsys
+      then
+        touch /var/lock/subsys/mysql
+      fi
+      exit $return_value
+    else
+      log_failure_msg "Couldn't find MySQL manager ($manager) or server 
($bindir/mysqld_safe)"
+    fi
+    ;;
+
+  'stop')
+    # Stop daemon. We use a signal here to avoid having to know the
+    # root password.
+
+    # The RedHat / SuSE lock directory to remove
+    lock_dir=/var/lock/subsys/mysqlmanager
+
+    # If the manager pid_file doesn't exist, try the server's
+    if test ! -s "$pid_file"
+    then
+      pid_file=$server_pid_file
+      lock_dir=/var/lock/subsys/mysql
+    fi
+
+    if test -s "$pid_file"
+    then
+      mysqlmanager_pid=`cat $pid_file`
+      
+      if (kill -0 $mysqlmanager_pid 2>/dev/null)
+      then
+        echo $echo_n "Shutting down MySQL"
+        kill $mysqlmanager_pid
+        # mysqlmanager should remove the pid_file when it exits, so wait for 
it.
+        wait_for_pid removed "$mysqlmanager_pid"; return_value=$?
+      else
+        log_failure_msg "MySQL manager or server process #$mysqlmanager_pid is 
not running!"
+        rm $pid_file
+      fi
+      
+      # delete lock for RedHat / SuSE
+      if test -f $lock_dir
+      then
+        rm -f $lock_dir
+      fi
+      exit $return_value
+    else
+      log_failure_msg "MySQL manager or server PID file could not be found!"
+    fi
+    ;;
+
+  'restart')
+    # Stop the service and regardless of whether it was
+    # running or not, start it again.
+    if $0 stop  $other_args; then
+      $0 start $other_args
+    else
+      log_failure_msg "Failed to stop running server, so refusing to try to 
start."
+      exit 1
+    fi
+    ;;
+
+  'reload'|'force-reload')
+    if test -s "$server_pid_file" ; then
+      read mysqld_pid <  $server_pid_file
+      kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
+      touch $server_pid_file
+    else
+      log_failure_msg "MySQL PID file could not be found!"
+      exit 1
+    fi
+    ;;
+  'status')
+    # First, check to see if pid file exists
+    if test -s "$server_pid_file" ; then 
+      read mysqld_pid < $server_pid_file
+      if kill -0 $mysqld_pid 2>/dev/null ; then 
+        log_success_msg "MySQL running ($mysqld_pid)"
+        exit 0
+      else
+        log_failure_msg "MySQL is not running, but PID file exists"
+        exit 1
+      fi
+    else
+      # Try to find appropriate mysqld process
+      mysqld_pid=`pidof $libexecdir/mysqld`
+      if test -z $mysqld_pid ; then 
+        if test "$use_mysqld_safe" = "0" ; then 
+          lockfile=/var/lock/subsys/mysqlmanager
+        else
+          lockfile=/var/lock/subsys/mysql
+        fi 
+        if test -f $lockfile ; then 
+          log_failure_msg "MySQL is not running, but lock exists"
+          exit 2
+        fi 
+        log_failure_msg "MySQL is not running"
+        exit 3
+      else
+        log_failure_msg "MySQL is running but PID file could not be found"
+        exit 4
+      fi
+    fi
+    ;;
+    *)
+      # usage
+      echo "Usage: $0  {start|stop|restart|reload|force-reload|status}  [ 
MySQL server options ]"
+      exit 1
+    ;;
+esac
+
+exit 0

-- 
To view, visit https://gerrit.wikimedia.org/r/53907
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ifb7c6a717812906d584fe2a79fc7a507cf7fd45e
Gerrit-PatchSet: 6
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Pyoungmeister <[email protected]>
Gerrit-Reviewer: Pyoungmeister <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to