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