Pyoungmeister has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/53907


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/params.pp
M modules/mysql/manifests/server.pp
4 files changed, 76 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/07/53907/1

diff --git a/manifests/role/db.pp b/manifests/role/db.pp
index e4de5db..3d732e6 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,44 @@
                mysql_wmf
 }
 
+
+class role::db::sanitarium( $port ) {
+  $cluster = "mysql"
+
+  system_role {"role::db::sanitarium": description => "pre-labsdb dbs for Data 
Sanitization" }
+
+  include standard
+
+  include mysql::params
+  class { mysql::config : }
+
+  class { mysql::server :
+    package_name     => 'mariadb-server-5.5',
+    package_ensure   => 'present',
+    port             => $port,
+    config_hash      => {},
+    enabled          => true,
+    manage_service   => false
+  }
+
+  class { mysql :
+    package_name => 'mariadb-client-5.5'
+  }
+}
+
+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..e5dbb0d 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -549,6 +549,11 @@
        class { role::coredb::researchdb : mariadb => true, 
innodb_file_per_table => true }
 }
 
+## SANITARIUM
+node /^db105[1-3]\.eqiad\.wmnet/ {
+  class { role::db::sanitarium : port => 3306 }
+}
+
 ## 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/params.pp 
b/modules/mysql/manifests/params.pp
index bcae026..ee09a34 100644
--- a/modules/mysql/manifests/params.pp
+++ b/modules/mysql/manifests/params.pp
@@ -13,10 +13,9 @@
 class mysql::params {
 
   $bind_address        = '127.0.0.1'
-  $port                = 3306
   $etc_root_password   = false
   $ssl                 = false
-  $restart             = true
+  $restart             = false
 
   case $::operatingsystem {
     'Ubuntu': {
@@ -85,14 +84,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.${::mysql::server::port}.sock"
+      $pidfile              = 
"/a/sqldata/${::hostname}.${::mysql::server::port}.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..44354ed 100644
--- a/modules/mysql/manifests/server.pp
+++ b/modules/mysql/manifests/server.pp
@@ -19,9 +19,10 @@
   $package_ensure   = 'present',
   $service_name     = $mysql::params::service_name,
   $service_provider = $mysql::params::service_provider,
+  $port             = 3306,
   $config_hash      = {},
   $enabled          = true,
-  $manage_service   = true
+  $manage_service   = false
 ) inherits mysql::params {
 
   Class['mysql::server'] -> Class['mysql::config']
@@ -30,9 +31,28 @@
 
   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"],
+      ## not sure about this...
+      default => true,
+    }
   }
 
   if $enabled {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifb7c6a717812906d584fe2a79fc7a507cf7fd45e
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Pyoungmeister <[email protected]>

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

Reply via email to