Paladox has uploaded a new change for review.
https://gerrit.wikimedia.org/r/308441
Change subject: role: Fix not in autoload module layout
......................................................................
role: Fix not in autoload module layout
Bug: T93645
Change-Id: I9ccc29fe70cdebfe4da01782eb795b5b17ff3320
---
D manifests/role/coredb.pp
A modules/role/manifests/coredb/config.pp
2 files changed, 96 insertions(+), 335 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/41/308441/2
diff --git a/manifests/role/coredb.pp b/manifests/role/coredb.pp
deleted file mode 100644
index a7d7357..0000000
--- a/manifests/role/coredb.pp
+++ /dev/null
@@ -1,335 +0,0 @@
-## DEPRECATED: to be deleted once all hosts have been migrated to the
-## mariadb class; topology will be handled by orchestration
-## for describing replication topology
-## hosts must be added here in addition to site.pp
-class role::coredb::config {
- $topology = {
- 's1' => {
- 'hosts' => { 'eqiad' => [ 'db1050', 'db1051', 'db1052', 'db1055',
'db1061', 'db1062', 'db1065', 'db1066', 'db1070', 'db1071' ] },
- 'primary_site' => $::mw_primary,
- 'masters' => { 'eqiad' => 'db1052' },
- 'snapshot' => [ 'db1050' ],
- 'no_master' => [ 'db1050', 'db1055' ]
- },
- 's2' => {
- 'hosts' => { 'eqiad' => [ 'db1009', 'db1018', 'db1024', 'db1036',
'db1060', 'db1063', 'db1067' ] },
- 'primary_site' => $::mw_primary,
- 'masters' => { 'eqiad' => 'db1024' },
- 'snapshot' => [ 'db1018' ],
- 'no_master' => [ 'db1018' ]
- },
- 's3' => {
- 'hosts' => { 'eqiad' => [ 'db1019', 'db1027', 'db1035', 'db1038' ]
},
- 'primary_site' => $::mw_primary,
- 'masters' => { 'eqiad' => 'db1038' },
- 'snapshot' => [ 'db1035' ],
- 'no_master' => [ 'db1035' ]
- },
- 's4' => {
- 'hosts' => { 'eqiad' => [ 'db1040', 'db1042', 'db1056', 'db1059',
'db1064', 'db1068' ] },
- 'primary_site' => $::mw_primary,
- 'masters' => { 'eqiad' => 'db1040' },
- 'snapshot' => [ 'db1042' ],
- 'no_master' => [ 'db1042' ]
- },
- 's5' => {
- 'hosts' => { 'eqiad' => [ 'db1021', 'db1026', 'db1037', 'db1045',
'db1049', 'db1058' ] },
- 'primary_site' => $::mw_primary,
- 'masters' => { 'eqiad' => 'db1058' },
- 'snapshot' => [ ],
- 'no_master' => [ 'db1026' ]
- },
- 's6' => {
- 'hosts' => { 'eqiad' => [ 'db1010', 'db1015', 'db1022', 'db1023',
'db1030' ] },
- 'primary_site' => $::mw_primary,
- 'masters' => { 'eqiad' => 'db1023' },
- 'snapshot' => [ 'db1022' ],
- 'no_master' => [ 'db1022', 'db1010' ]
- },
- 's7' => {
- 'hosts' => { 'eqiad' => [ 'db1028', 'db1033', 'db1034', 'db1039',
'db1041' ] },
- 'primary_site' => $::mw_primary,
- 'masters' => { 'eqiad' => 'db1033' },
- 'snapshot' => [ ],
- 'no_master' => [ 'db1041' ]
- },
- 'x1' => {
- 'hosts' => {
- 'eqiad' => [ 'db1029', 'db1031' ] },
- 'primary_site' => $::mw_primary,
- 'masters' => { 'eqiad' => 'db1029' },
- 'snapshot' => [ 'db1031' ],
- 'no_master' => []
- },
- 'm1' => {
- 'hosts' => {
- 'eqiad' => ['db1001', 'db1016'] },
- 'primary_site' => $::mw_primary,
- 'masters' => { 'eqiad' => 'db1001' },
- 'snapshot' => ['db1016' ],
- 'no_master' => []
- },
- # m2 role::mariadb::misc
- # m3 role::mariadb::misc::phabricator
- 'es1' => {
- 'hosts' => { 'eqiad' => [ 'es1001', 'es1002', 'es1003', 'es1004' ]
},
- 'primary_site' => false,
- 'masters' => {},
- 'snapshot' => [],
- 'no_master' => []
- },
- 'es2' => {
- 'hosts' => { 'eqiad' => [ 'es1005', 'es1006', 'es1007' ] },
- 'primary_site' => $::mw_primary,
- 'masters' => { 'eqiad' => 'es1006' },
- 'snapshot' => [],
- 'no_master' => []
- },
- 'es3' => {
- 'hosts' => { 'eqiad' => [ 'es1008', 'es1009', 'es1010' ] },
- 'primary_site' => $::mw_primary,
- 'masters' => { 'eqiad' => 'es1009' },
- 'snapshot' => [],
- 'no_master' => []
- },
- }
-}
-
-class role::coredb::s1( $mariadb = false, $innodb_file_per_table = false ) {
- class { 'role::coredb::common':
- shard => 's1',
- slow_query_digest => false,
- mariadb => $mariadb,
- innodb_file_per_table => $innodb_file_per_table,
- innodb_log_file_size => '2000M'
- }
-}
-
-class role::coredb::s2( $mariadb = false, $innodb_file_per_table = false ) {
- class { 'role::coredb::common':
- shard => 's2',
- slow_query_digest => false,
- mariadb => $mariadb,
- innodb_file_per_table => $innodb_file_per_table,
- innodb_log_file_size => '2000M'
- }
-}
-
-class role::coredb::s3( $mariadb = false, $innodb_file_per_table = false ) {
- class { 'role::coredb::common':
- shard => 's3',
- slow_query_digest => false,
- mariadb => $mariadb,
- innodb_file_per_table => $innodb_file_per_table,
- }
-}
-
-class role::coredb::s4( $mariadb = false, $innodb_file_per_table = false ) {
- class { 'role::coredb::common':
- shard => 's4',
- slow_query_digest => false,
- mariadb => $mariadb,
- innodb_file_per_table => $innodb_file_per_table,
- innodb_log_file_size => '2000M'
- }
-}
-
-class role::coredb::s5( $mariadb = false, $innodb_file_per_table = false ) {
- class { 'role::coredb::common':
- shard => 's5',
- slow_query_digest => false,
- mariadb => $mariadb,
- innodb_file_per_table => $innodb_file_per_table,
- innodb_log_file_size => '1000M'
- }
-}
-
-class role::coredb::s6( $mariadb = false, $innodb_file_per_table = false ) {
- class { 'role::coredb::common':
- shard => 's6',
- slow_query_digest => false,
- mariadb => $mariadb,
- innodb_file_per_table => $innodb_file_per_table,
- }
-}
-
-class role::coredb::s7( $mariadb = false, $innodb_file_per_table = false ) {
- class { 'role::coredb::common':
- shard => 's7',
- slow_query_digest => false,
- mariadb => $mariadb,
- innodb_file_per_table => $innodb_file_per_table,
- }
-}
-
-class role::coredb::x1( $mariadb = true ) {
- class { 'role::coredb::common':
- shard => 'x1',
- mariadb => $mariadb,
- innodb_file_per_table => true,
- }
-}
-
-class role::coredb::m1( $mariadb = false ) {
- class { 'role::coredb::common':
- shard => 'm1',
- mariadb => $mariadb,
- innodb_file_per_table => true,
- }
-}
-
-# m2 role::mariadb::misc
-# m3 role::mariadb::misc::phabricator
-
-class role::coredb::es1( $mariadb = false ) {
- class { 'role::coredb::common':
- shard => 'es1',
- mariadb => $mariadb,
- innodb_file_per_table => true,
- slow_query_digest => false,
- heartbeat_enabled => false,
- }
-}
-
-class role::coredb::es2( $mariadb = false ) {
- class { 'role::coredb::common':
- shard => 'es2',
- mariadb => $mariadb,
- innodb_file_per_table => true,
- slow_query_digest => false,
- }
-}
-
-class role::coredb::es3( $mariadb = false ) {
- class { 'role::coredb::common':
- shard => 'es3',
- mariadb => $mariadb,
- innodb_file_per_table => true,
- slow_query_digest => false,
- }
-}
-
-class role::coredb::researchdb(
- $shard='s1',
- $innodb_log_file_size = '2000M',
- $mariadb = false,
- $innodb_file_per_table = false
-){
- class { 'role::coredb::common':
- shard => $shard,
- mariadb => $mariadb,
- innodb_log_file_size => $innodb_log_file_size,
- read_only => false,
- disable_binlogs => true,
- long_timeouts => true,
- enable_unsafe_locks => true,
- large_slave_trans_retries => true,
- innodb_file_per_table => $innodb_file_per_table,
- # send researchdb icinga alerts to admins
- # and analytics icinga contact groups.
- contact_group => 'admins,analytics',
- }
-}
-
-class role::coredb::fundraising( $mariadb = true ) {
- class { 'role::coredb::common':
- shard => 'fundraisingdb',
- logical_cluster => 'fundraising',
- mariadb => $mariadb,
- innodb_file_per_table => true,
- slow_query_digest => false,
- heartbeat_enabled => false
- }
-}
-
-class role::coredb::common(
- $shard,
- $logical_cluster = 'mysql',
- $mariadb,
- $read_only = true,
- $skip_name_resolve = true,
- $mysql_myisam = false,
- $mysql_max_allowed_packet = '16M',
- $disable_binlogs = false,
- $innodb_log_file_size = '500M',
- $innodb_file_per_table = false,
- $long_timeouts = false,
- $enable_unsafe_locks = false,
- $large_slave_trans_retries = false,
- $slow_query_digest = true,
- $heartbeat_enabled = true,
- $contact_group = 'admins',
- ) inherits role::coredb::config {
-
- $primary_site = $topology[$shard]['primary_site']
- $masters = $topology[$shard]['masters']
- $snapshots = $topology[$shard]['snapshot']
-
- system::role { 'dbcore': description => "Shard ${shard} Core Database
server" }
-
- ::base::expose_puppet_certs { '/etc/mysql':
- ensure => present,
- provide_private => true,
- user => 'mysql',
- group => 'mysql',
- }
-
- include standard,
- mha::node,
- cpufrequtils
- class { 'mysql_wmf::coredb::ganglia' : mariadb => $mariadb; }
-
- if $masters[$::site] == $::hostname
- and ( $primary_site == $::site or $primary_site == 'both' ){
- class { 'coredb_mysql':
- shard => $shard,
- mariadb => $mariadb,
- read_only => false,
- skip_name_resolve => $skip_name_resolve,
- mysql_myisam => $mysql_myisam,
- mysql_max_allowed_packet => $mysql_max_allowed_packet,
- disable_binlogs => $disable_binlogs,
- innodb_log_file_size => $innodb_log_file_size,
- innodb_file_per_table => $innodb_file_per_table,
- long_timeouts => $long_timeouts,
- enable_unsafe_locks => $enable_unsafe_locks,
- large_slave_trans_retries => $large_slave_trans_retries,
- slow_query_digest => $slow_query_digest,
- heartbeat_enabled => $heartbeat_enabled,
- }
-
- class { 'mysql_wmf::coredb::monitoring':
- crit => true,
- contact_group => $contact_group,
- }
-
- }
- else {
- class { 'coredb_mysql':
- shard => $shard,
- mariadb => $mariadb,
- read_only => $read_only,
- skip_name_resolve => $skip_name_resolve,
- mysql_myisam => $mysql_myisam,
- mysql_max_allowed_packet => $mysql_max_allowed_packet,
- disable_binlogs => $disable_binlogs,
- innodb_log_file_size => $innodb_log_file_size,
- innodb_file_per_table => $innodb_file_per_table,
- long_timeouts => $long_timeouts,
- enable_unsafe_locks => $enable_unsafe_locks,
- large_slave_trans_retries => $large_slave_trans_retries,
- slow_query_digest => $slow_query_digest,
- heartbeat_enabled => $heartbeat_enabled,
- }
-
- if $primary_site {
- class { 'mysql_wmf::coredb::monitoring': crit => false }
- } else {
- class { 'mysql_wmf::coredb::monitoring': crit => false, no_slave
=> true }
- }
- }
-
- if $::hostname in $snapshots {
- include coredb_mysql::snapshot
- }
-}
diff --git a/modules/role/manifests/coredb/config.pp
b/modules/role/manifests/coredb/config.pp
new file mode 100644
index 0000000..37bcd03
--- /dev/null
+++ b/modules/role/manifests/coredb/config.pp
@@ -0,0 +1,96 @@
+## DEPRECATED: to be deleted once all hosts have been migrated to the
+## mariadb class; topology will be handled by orchestration
+## for describing replication topology
+## hosts must be added here in addition to site.pp
+class role::coredb::config {
+ $topology = {
+ 's1' => {
+ 'hosts' => { 'eqiad' => [ 'db1050', 'db1051', 'db1052', 'db1055',
'db1061', 'db1062', 'db1065', 'db1066', 'db1070', 'db1071' ] },
+ 'primary_site' => $::mw_primary,
+ 'masters' => { 'eqiad' => 'db1052' },
+ 'snapshot' => [ 'db1050' ],
+ 'no_master' => [ 'db1050', 'db1055' ]
+ },
+ 's2' => {
+ 'hosts' => { 'eqiad' => [ 'db1009', 'db1018', 'db1024', 'db1036',
'db1060', 'db1063', 'db1067' ] },
+ 'primary_site' => $::mw_primary,
+ 'masters' => { 'eqiad' => 'db1024' },
+ 'snapshot' => [ 'db1018' ],
+ 'no_master' => [ 'db1018' ]
+ },
+ 's3' => {
+ 'hosts' => { 'eqiad' => [ 'db1019', 'db1027', 'db1035', 'db1038' ]
},
+ 'primary_site' => $::mw_primary,
+ 'masters' => { 'eqiad' => 'db1038' },
+ 'snapshot' => [ 'db1035' ],
+ 'no_master' => [ 'db1035' ]
+ },
+ 's4' => {
+ 'hosts' => { 'eqiad' => [ 'db1040', 'db1042', 'db1056', 'db1059',
'db1064', 'db1068' ] },
+ 'primary_site' => $::mw_primary,
+ 'masters' => { 'eqiad' => 'db1040' },
+ 'snapshot' => [ 'db1042' ],
+ 'no_master' => [ 'db1042' ]
+ },
+ 's5' => {
+ 'hosts' => { 'eqiad' => [ 'db1021', 'db1026', 'db1037', 'db1045',
'db1049', 'db1058' ] },
+ 'primary_site' => $::mw_primary,
+ 'masters' => { 'eqiad' => 'db1058' },
+ 'snapshot' => [ ],
+ 'no_master' => [ 'db1026' ]
+ },
+ 's6' => {
+ 'hosts' => { 'eqiad' => [ 'db1010', 'db1015', 'db1022', 'db1023',
'db1030' ] },
+ 'primary_site' => $::mw_primary,
+ 'masters' => { 'eqiad' => 'db1023' },
+ 'snapshot' => [ 'db1022' ],
+ 'no_master' => [ 'db1022', 'db1010' ]
+ },
+ 's7' => {
+ 'hosts' => { 'eqiad' => [ 'db1028', 'db1033', 'db1034', 'db1039',
'db1041' ] },
+ 'primary_site' => $::mw_primary,
+ 'masters' => { 'eqiad' => 'db1033' },
+ 'snapshot' => [ ],
+ 'no_master' => [ 'db1041' ]
+ },
+ 'x1' => {
+ 'hosts' => {
+ 'eqiad' => [ 'db1029', 'db1031' ] },
+ 'primary_site' => $::mw_primary,
+ 'masters' => { 'eqiad' => 'db1029' },
+ 'snapshot' => [ 'db1031' ],
+ 'no_master' => []
+ },
+ 'm1' => {
+ 'hosts' => {
+ 'eqiad' => ['db1001', 'db1016'] },
+ 'primary_site' => $::mw_primary,
+ 'masters' => { 'eqiad' => 'db1001' },
+ 'snapshot' => ['db1016' ],
+ 'no_master' => []
+ },
+ # m2 role::mariadb::misc
+ # m3 role::mariadb::misc::phabricator
+ 'es1' => {
+ 'hosts' => { 'eqiad' => [ 'es1001', 'es1002', 'es1003', 'es1004' ]
},
+ 'primary_site' => false,
+ 'masters' => {},
+ 'snapshot' => [],
+ 'no_master' => []
+ },
+ 'es2' => {
+ 'hosts' => { 'eqiad' => [ 'es1005', 'es1006', 'es1007' ] },
+ 'primary_site' => $::mw_primary,
+ 'masters' => { 'eqiad' => 'es1006' },
+ 'snapshot' => [],
+ 'no_master' => []
+ },
+ 'es3' => {
+ 'hosts' => { 'eqiad' => [ 'es1008', 'es1009', 'es1010' ] },
+ 'primary_site' => $::mw_primary,
+ 'masters' => { 'eqiad' => 'es1009' },
+ 'snapshot' => [],
+ 'no_master' => []
+ },
+ }
+}
--
To view, visit https://gerrit.wikimedia.org/r/308441
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9ccc29fe70cdebfe4da01782eb795b5b17ff3320
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Paladox <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits