Alexandros Kosiaris has submitted this change and it was merged. Change subject: Modularize torrus ......................................................................
Modularize torrus Modularize the torrus manifests Add tests Move files into module Introduce role classe Assign role class to netmon1001 Change-Id: I5fa9063299ac28b6e33f86c110b183a5b6883ce9 --- D manifests/misc/torrus.pp A manifests/role/torrus.pp M manifests/site.pp R modules/torrus/files/conf/schema-override.pl R modules/torrus/files/conf/torrus-siteconfig.pl R modules/torrus/files/templates/default-dir-modified.html R modules/torrus/files/templates/html-incblocks-modified.txt R modules/torrus/files/templates/overview-dir.html R modules/torrus/files/torrus-discovery R modules/torrus/files/wikimedia.css R modules/torrus/files/xmlconfig/aggregates.xml R modules/torrus/files/xmlconfig/facilities_aggregates.xml R modules/torrus/files/xmlconfig/power.xml R modules/torrus/files/xmlconfig/servertech-mib.xml R modules/torrus/files/xmlconfig/squid-mib.xml R modules/torrus/files/xmlconfig/varnish-mib.xml A modules/torrus/manifests/config.pp A modules/torrus/manifests/discovery.pp A modules/torrus/manifests/discovery/ddxfile.pp A modules/torrus/manifests/init.pp A modules/torrus/manifests/web.pp A modules/torrus/manifests/xml_generation/cdn.pp A modules/torrus/manifests/xmlconfig.pp R modules/torrus/templates/cdn-aggregates.xml.erb R modules/torrus/templates/generic.ddx.erb R modules/torrus/templates/site-global.xml.erb R modules/torrus/templates/varnish.xml.erb A modules/torrus/tests/Makefile A modules/torrus/tests/cdn.pp A modules/torrus/tests/config.pp A modules/torrus/tests/ddxfile.pp A modules/torrus/tests/discovery.pp A modules/torrus/tests/init.pp A modules/torrus/tests/web.pp A modules/torrus/tests/xmlconfig.pp 35 files changed, 493 insertions(+), 251 deletions(-) Approvals: Alexandros Kosiaris: Looks good to me, approved jenkins-bot: Verified diff --git a/manifests/misc/torrus.pp b/manifests/misc/torrus.pp deleted file mode 100644 index 8e55ea0..0000000 --- a/manifests/misc/torrus.pp +++ /dev/null @@ -1,194 +0,0 @@ -# misc/torrus.pp - -class misc::torrus { - system::role { 'misc::torrus': - description => 'Torrus', - } - - package { 'torrus-common': - ensure => latest, - } - - class web { - package { 'torrus-apache2': - ensure => latest, - before => Service['apache2'], - } - - include ::apache::mod::rewrite - include ::apache::mod::perl - - @webserver::apache::site { 'torrus.wikimedia.org': - require => Class['::apache::mod::rewrite', '::apache::mod::perl'], - docroot => '/var/www', - custom => ['RedirectMatch ^/$ /torrus'], - includes => ['/etc/torrus/torrus-apache2.conf'], - } - } - - class config { - File { require => Package['torrus-common'] } - - file { '/etc/torrus/conf/': - source => 'puppet:///files/torrus/conf/', - owner => 'root', - group => 'root', - mode => '0444', - recurse => remote, - } - - file { '/etc/torrus/templates/': - source => 'puppet:///files/torrus/templates/', - owner => 'root', - group => 'root', - mode => '0444', - recurse => remote, - } - - file { '/usr/share/torrus/sup/webplain/wikimedia.css': - owner => 'root', - group => 'root', - mode => '0444', - source => 'puppet:///files/torrus/wikimedia.css', - } - } - - exec { 'torrus clearcache': - command => '/usr/sbin/torrus clearcache', - require => Class['misc::torrus::config'], - subscribe => Class['misc::torrus::config'], - logoutput => true, - refreshonly => true, - before => Exec['torrus compile'], - } - - exec { 'torrus compile': - command => '/usr/sbin/torrus compile --all', - require => Class[['misc::torrus::config', - 'misc::torrus::xmlconfig'] - ], - subscribe => Class[['misc::torrus::config', - 'misc::torrus::xmlconfig'] - ], - logoutput => true, - refreshonly => true, - } - - service { 'torrus-common': - ensure => running, - require => Exec['torrus compile'], - subscribe => File[ ['/etc/torrus/conf/', - '/etc/torrus/templates/'] - ], - hasrestart => false, - } - - class xmlconfig { - require misc::torrus::config - include passwords::network - - file { '/etc/torrus/xmlconfig/': - source => 'puppet:///files/torrus/xmlconfig/', - owner => 'root', - group => 'root', - mode => '0444', - recurse => remote, - } - - file { '/etc/torrus/xmlconfig/site-global.xml': - owner => 'root', - group => 'root', - mode => '0444', - content => template('torrus/site-global.xml.erb'), - } - } - - class discovery { - require misc::torrus::config - require misc::torrus::xmlconfig - - # Definition: misc::torrus::discovery - # - # This definition generates a torrus discovery DDX file, which Torrus - # will use to compile its XML config files from SNMP - # - # Parameters: - # - $subtree: the Torrus subtree path used in the XML config file - # - $domain: The domain name to use for SNMP host names - # - $snmp_community: The SNMP community needed to query - # - $hosts: A list of hosts - define ddxfile( - $subtree, - $domain= '', - $snmp_community= 'public', - $hosts= [] - ) { - file { "/etc/torrus/discovery/${title}.ddx": - require => File['/etc/torrus/discovery'], - content => template('torrus/generic.ddx.erb'), - owner => 'root', - group => 'root', - mode => '0444', - before => Exec['torrus-discovery'], - notify => Exec['torrus-discovery'], - } - } - - file { '/etc/torrus/discovery': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0750', - } - - file { '/etc/cron.daily/torrus-discovery': - source => 'puppet:///files/torrus/torrus-discovery', - owner => 'root', - group => 'root', - mode => '0550', - } - - exec { 'torrus-discovery': - require => File['/etc/cron.daily/torrus-discovery'], - command => '/etc/cron.daily/torrus-discovery', - timeout => 1800, - refreshonly => true, - before => Exec['torrus compile'], - } - } - - class xml-generation { - # Class: misc::torrus::xml-generation::cdn - # - # This class automatically generates XML files for - # Squid and Varnish servers - # - # Uses role/cache/cache.pp - class cdn { - require role::cache::configuration - - File { - owner => 'root', - group => 'root', - mode => '0444', - notify => Exec['torrus compile --tree=CDN'], - } - file { '/etc/torrus/xmlconfig/varnish.xml': - content => template('torrus/varnish.xml.erb'), - } - - file { '/etc/torrus/xmlconfig/cdn-aggregates.xml': - content => template('torrus/cdn-aggregates.xml.erb'), - } - - exec { 'torrus compile --tree=CDN': - path => '/bin:/sbin:/usr/bin:/usr/sbin', - logoutput => true, - refreshonly => true, - } - } - } - - include xmlconfig - include discovery -} diff --git a/manifests/role/torrus.pp b/manifests/role/torrus.pp new file mode 100644 index 0000000..6bd210d --- /dev/null +++ b/manifests/role/torrus.pp @@ -0,0 +1,57 @@ +class role::torrus { + include ::torrus + include ::torrus::web + include ::torrus::xml_generation::cdn + include passwords::network + $snmp_ro_community = $passwords::network::snmp_ro_community + + $corerouters = [ + 'cr1-eqiad.wikimedia.org', + 'cr1-esams.wikimedia.org', + 'cr1-ulsfo.wikimedia.org', + 'cr1-ulsfo.wikimedia.org', + 'cr2-eqiad.wikimedia.org', + 'cr2-knams.wikimedia.org', + 'cr2-ulsfo.wikimedia.org', + 'cr2-codfw.wikimedia.org', + 'pfw1-eqiad.wikimedia.org', + ] + + $accessswitches = [ + 'asw2-a5-eqiad.mgmt.eqiad.wmnet', + 'asw-a-eqiad.mgmt.eqiad.wmnet', + 'asw-b-eqiad.mgmt.eqiad.wmnet', + 'asw-c-eqiad.mgmt.eqiad.wmnet', + 'asw-d-eqiad.mgmt.eqiad.wmnet', + 'asw-a-codfw.mgmt.codfw.wmnet', + 'asw-b-codfw.mgmt.codfw.wmnet', + 'asw-c-codfw.mgmt.codfw.wmnet', + 'asw-d-codfw.mgmt.codfw.wmnet', + 'csw2-esams.wikimedia.org', + 'msw1-eqiad.mgmt.eqiad.wmnet', + 'psw1-eqiad.mgmt.eqiad.wmnet', + ] + + $storagehosts = [ + 'nas1001-a.eqiad.wmnet', + 'nas1001-b.eqiad.wmnet', + ] + + ::torrus::discovery::ddxfile { 'corerouters': + subtree => '/Core_routers', + snmp_community => $snmp_ro_community, + hosts => $corerouters, + } + + ::torrus::discovery::ddxfile { 'accessswitches': + subtree => '/Access_switches', + snmp_community => $snmp_ro_community, + hosts => $accessswitches, + } + + ::torrus::discovery::ddxfile { 'storage': + subtree => '/Storage', + snmp_community => $snmp_ro_community, + hosts => $storagehosts, + } +} diff --git a/manifests/site.pp b/manifests/site.pp index 298162a..fb313fb 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -2105,70 +2105,18 @@ include smokeping include smokeping::web include role::librenms - include misc::torrus - include misc::torrus::web - include misc::torrus::xml-generation::cdn include passwords::network include ganglia::collector include role::servermon + include role::torrus + + interface::add_ip6_mapped { 'main': } class { 'ganglia_new::monitor::aggregator': sites => ['eqiad', 'codfw'], } - $snmp_ro_community = $passwords::network::snmp_ro_community - interface::add_ip6_mapped { 'main': } - - $corerouters = [ - 'cr1-eqiad.wikimedia.org', - 'cr1-esams.wikimedia.org', - 'cr1-ulsfo.wikimedia.org', - 'cr1-ulsfo.wikimedia.org', - 'cr2-eqiad.wikimedia.org', - 'cr2-knams.wikimedia.org', - 'cr2-ulsfo.wikimedia.org', - 'cr2-codfw.wikimedia.org', - 'pfw1-eqiad.wikimedia.org', - ] - - $accessswitches = [ - 'asw2-a5-eqiad.mgmt.eqiad.wmnet', - 'asw-a-eqiad.mgmt.eqiad.wmnet', - 'asw-b-eqiad.mgmt.eqiad.wmnet', - 'asw-c-eqiad.mgmt.eqiad.wmnet', - 'asw-d-eqiad.mgmt.eqiad.wmnet', - 'asw-a-codfw.mgmt.codfw.wmnet', - 'asw-b-codfw.mgmt.codfw.wmnet', - 'asw-c-codfw.mgmt.codfw.wmnet', - 'asw-d-codfw.mgmt.codfw.wmnet', - 'csw2-esams.wikimedia.org', - 'msw1-eqiad.mgmt.eqiad.wmnet', - 'psw1-eqiad.mgmt.eqiad.wmnet', - ] - - $storagehosts = [ - 'nas1001-a.eqiad.wmnet', - 'nas1001-b.eqiad.wmnet', - ] - - misc::torrus::discovery::ddxfile { 'corerouters': - subtree => '/Core_routers', - snmp_community => $snmp_ro_community, - hosts => $corerouters, - } - - misc::torrus::discovery::ddxfile { 'accessswitches': - subtree => '/Access_switches', - snmp_community => $snmp_ro_community, - hosts => $accessswitches, - } - - misc::torrus::discovery::ddxfile { 'storage': - subtree => '/Storage', - snmp_community => $snmp_ro_community, - hosts => $storagehosts, - } } node 'nitrogen.wikimedia.org' { diff --git a/files/torrus/conf/schema-override.pl b/modules/torrus/files/conf/schema-override.pl similarity index 100% rename from files/torrus/conf/schema-override.pl rename to modules/torrus/files/conf/schema-override.pl diff --git a/files/torrus/conf/torrus-siteconfig.pl b/modules/torrus/files/conf/torrus-siteconfig.pl similarity index 100% rename from files/torrus/conf/torrus-siteconfig.pl rename to modules/torrus/files/conf/torrus-siteconfig.pl diff --git a/files/torrus/templates/default-dir-modified.html b/modules/torrus/files/templates/default-dir-modified.html similarity index 100% rename from files/torrus/templates/default-dir-modified.html rename to modules/torrus/files/templates/default-dir-modified.html diff --git a/files/torrus/templates/html-incblocks-modified.txt b/modules/torrus/files/templates/html-incblocks-modified.txt similarity index 100% rename from files/torrus/templates/html-incblocks-modified.txt rename to modules/torrus/files/templates/html-incblocks-modified.txt diff --git a/files/torrus/templates/overview-dir.html b/modules/torrus/files/templates/overview-dir.html similarity index 100% rename from files/torrus/templates/overview-dir.html rename to modules/torrus/files/templates/overview-dir.html diff --git a/files/torrus/torrus-discovery b/modules/torrus/files/torrus-discovery similarity index 100% rename from files/torrus/torrus-discovery rename to modules/torrus/files/torrus-discovery diff --git a/files/torrus/wikimedia.css b/modules/torrus/files/wikimedia.css similarity index 100% rename from files/torrus/wikimedia.css rename to modules/torrus/files/wikimedia.css diff --git a/files/torrus/xmlconfig/aggregates.xml b/modules/torrus/files/xmlconfig/aggregates.xml similarity index 100% rename from files/torrus/xmlconfig/aggregates.xml rename to modules/torrus/files/xmlconfig/aggregates.xml diff --git a/files/torrus/xmlconfig/facilities_aggregates.xml b/modules/torrus/files/xmlconfig/facilities_aggregates.xml similarity index 100% rename from files/torrus/xmlconfig/facilities_aggregates.xml rename to modules/torrus/files/xmlconfig/facilities_aggregates.xml diff --git a/files/torrus/xmlconfig/power.xml b/modules/torrus/files/xmlconfig/power.xml similarity index 100% rename from files/torrus/xmlconfig/power.xml rename to modules/torrus/files/xmlconfig/power.xml diff --git a/files/torrus/xmlconfig/servertech-mib.xml b/modules/torrus/files/xmlconfig/servertech-mib.xml similarity index 100% rename from files/torrus/xmlconfig/servertech-mib.xml rename to modules/torrus/files/xmlconfig/servertech-mib.xml diff --git a/files/torrus/xmlconfig/squid-mib.xml b/modules/torrus/files/xmlconfig/squid-mib.xml similarity index 100% rename from files/torrus/xmlconfig/squid-mib.xml rename to modules/torrus/files/xmlconfig/squid-mib.xml diff --git a/files/torrus/xmlconfig/varnish-mib.xml b/modules/torrus/files/xmlconfig/varnish-mib.xml similarity index 100% rename from files/torrus/xmlconfig/varnish-mib.xml rename to modules/torrus/files/xmlconfig/varnish-mib.xml diff --git a/modules/torrus/manifests/config.pp b/modules/torrus/manifests/config.pp new file mode 100644 index 0000000..76c788d --- /dev/null +++ b/modules/torrus/manifests/config.pp @@ -0,0 +1,27 @@ +class torrus::config { + File { require => Package['torrus-common'] } + + file { '/etc/torrus/conf/': + source => 'puppet:///modules/torrus/conf/', + owner => 'root', + group => 'root', + mode => '0444', + recurse => remote, + } + + file { '/etc/torrus/templates/': + source => 'puppet:///modules/torrus/templates/', + owner => 'root', + group => 'root', + mode => '0444', + recurse => remote, + } + + file { '/usr/share/torrus/sup/webplain/wikimedia.css': + owner => 'root', + group => 'root', + mode => '0444', + source => 'puppet:///modules/torrus/wikimedia.css', + } +} + diff --git a/modules/torrus/manifests/discovery.pp b/modules/torrus/manifests/discovery.pp new file mode 100644 index 0000000..b5503a6 --- /dev/null +++ b/modules/torrus/manifests/discovery.pp @@ -0,0 +1,27 @@ +class torrus::discovery { + require torrus::config + require torrus::xmlconfig + + file { '/etc/torrus/discovery': + ensure => directory, + owner => 'root', + group => 'root', + mode => '0750', + } + + file { '/etc/cron.daily/torrus-discovery': + source => 'puppet:///modules/torrus/torrus-discovery', + owner => 'root', + group => 'root', + mode => '0550', + } + + exec { 'torrus-discovery': + require => File['/etc/cron.daily/torrus-discovery'], + command => '/etc/cron.daily/torrus-discovery', + timeout => 1800, + refreshonly => true, + before => Exec['torrus compile'], + } +} + diff --git a/modules/torrus/manifests/discovery/ddxfile.pp b/modules/torrus/manifests/discovery/ddxfile.pp new file mode 100644 index 0000000..884a38f --- /dev/null +++ b/modules/torrus/manifests/discovery/ddxfile.pp @@ -0,0 +1,26 @@ +# Definition: torrus::discovery +# +# This definition generates a torrus discovery DDX file, which Torrus +# will use to compile its XML config files from SNMP +# +# Parameters: +# - $subtree: the Torrus subtree path used in the XML config file +# - $domain: The domain name to use for SNMP host names +# - $snmp_community: The SNMP community needed to query +# - $hosts: A list of hosts +define torrus::discovery::ddxfile( + $subtree, + $domain= '', + $snmp_community= 'public', + $hosts= [] +) { + file { "/etc/torrus/discovery/${title}.ddx": + require => File['/etc/torrus/discovery'], + content => template('torrus/generic.ddx.erb'), + owner => 'root', + group => 'root', + mode => '0444', + before => Exec['torrus-discovery'], + notify => Exec['torrus-discovery'], + } +} diff --git a/modules/torrus/manifests/init.pp b/modules/torrus/manifests/init.pp new file mode 100644 index 0000000..53cd60f --- /dev/null +++ b/modules/torrus/manifests/init.pp @@ -0,0 +1,42 @@ +class torrus { + system::role { 'torrus': + description => 'Torrus', + } + + package { 'torrus-common': + ensure => present, + } + + exec { 'torrus clearcache': + command => '/usr/sbin/torrus clearcache', + require => Class['torrus::config'], + subscribe => Class['torrus::config'], + logoutput => true, + refreshonly => true, + before => Exec['torrus compile'], + } + + exec { 'torrus compile': + command => '/usr/sbin/torrus compile --all', + require => Class[['torrus::config', + 'torrus::xmlconfig'] + ], + subscribe => Class[['torrus::config', + 'torrus::xmlconfig'] + ], + logoutput => true, + refreshonly => true, + } + + service { 'torrus-common': + ensure => running, + require => Exec['torrus compile'], + subscribe => File[ ['/etc/torrus/conf/', + '/etc/torrus/templates/'] + ], + hasrestart => false, + } + + include torrus::xmlconfig + include torrus::discovery +} diff --git a/modules/torrus/manifests/web.pp b/modules/torrus/manifests/web.pp new file mode 100644 index 0000000..b24d0f1 --- /dev/null +++ b/modules/torrus/manifests/web.pp @@ -0,0 +1,16 @@ +class torrus::web { + package { 'torrus-apache2': + ensure => present, + before => Service['apache2'], + } + + include ::apache::mod::rewrite + include ::apache::mod::perl + + @webserver::apache::site { 'torrus.wikimedia.org': + require => Class['::apache::mod::rewrite', '::apache::mod::perl'], + docroot => '/var/www', + custom => ['RedirectMatch ^/$ /torrus'], + includes => ['/etc/torrus/torrus-apache2.conf'], + } +} diff --git a/modules/torrus/manifests/xml_generation/cdn.pp b/modules/torrus/manifests/xml_generation/cdn.pp new file mode 100644 index 0000000..21782be --- /dev/null +++ b/modules/torrus/manifests/xml_generation/cdn.pp @@ -0,0 +1,29 @@ +t st# Class: torrus::xml_generation::cdn +# +# This class automatically generates XML files for +# Squid and Varnish servers +# +# Uses role/cache/cache.pp +class torrus::xml_generation::cdn { + require role::cache::configuration + + File { + owner => 'root', + group => 'root', + mode => '0444', + notify => Exec['torrus compile --tree=CDN'], + } + file { '/etc/torrus/xmlconfig/varnish.xml': + content => template('torrus/varnish.xml.erb'), + } + + file { '/etc/torrus/xmlconfig/cdn-aggregates.xml': + content => template('torrus/cdn-aggregates.xml.erb'), + } + + exec { 'torrus compile --tree=CDN': + path => '/bin:/sbin:/usr/bin:/usr/sbin', + logoutput => true, + refreshonly => true, + } +} diff --git a/modules/torrus/manifests/xmlconfig.pp b/modules/torrus/manifests/xmlconfig.pp new file mode 100644 index 0000000..0a460a3 --- /dev/null +++ b/modules/torrus/manifests/xmlconfig.pp @@ -0,0 +1,19 @@ +class torrus::xmlconfig { + require torrus::config + include passwords::network + + file { '/etc/torrus/xmlconfig/': + source => 'puppet:///modules/torrus/xmlconfig/', + owner => 'root', + group => 'root', + mode => '0444', + recurse => remote, + } + + file { '/etc/torrus/xmlconfig/site-global.xml': + owner => 'root', + group => 'root', + mode => '0444', + content => template('torrus/site-global.xml.erb'), + } +} diff --git a/templates/torrus/cdn-aggregates.xml.erb b/modules/torrus/templates/cdn-aggregates.xml.erb similarity index 99% rename from templates/torrus/cdn-aggregates.xml.erb rename to modules/torrus/templates/cdn-aggregates.xml.erb index f69d309..e235090 100644 --- a/templates/torrus/cdn-aggregates.xml.erb +++ b/modules/torrus/templates/cdn-aggregates.xml.erb @@ -39,7 +39,7 @@ <configuration> <creator-info> - Puppet class misc::torrus::xml-generation::cdn in misc/torrus.pp + Puppet class torrus::xml_generation::cdn </creator-info> <datasources> diff --git a/templates/torrus/generic.ddx.erb b/modules/torrus/templates/generic.ddx.erb similarity index 100% rename from templates/torrus/generic.ddx.erb rename to modules/torrus/templates/generic.ddx.erb diff --git a/templates/torrus/site-global.xml.erb b/modules/torrus/templates/site-global.xml.erb similarity index 100% rename from templates/torrus/site-global.xml.erb rename to modules/torrus/templates/site-global.xml.erb diff --git a/templates/torrus/varnish.xml.erb b/modules/torrus/templates/varnish.xml.erb similarity index 98% rename from templates/torrus/varnish.xml.erb rename to modules/torrus/templates/varnish.xml.erb index a691704..38402ba 100644 --- a/templates/torrus/varnish.xml.erb +++ b/modules/torrus/templates/varnish.xml.erb @@ -31,7 +31,7 @@ <configuration> <creator-info> - Puppet class misc::torrus::xml-generation::cdn in misc/torrus.pp + Puppet class torrus::xml_generation::cdn </creator-info> <include filename="varnish-mib.xml"/> diff --git a/modules/torrus/tests/Makefile b/modules/torrus/tests/Makefile new file mode 100644 index 0000000..76cd656 --- /dev/null +++ b/modules/torrus/tests/Makefile @@ -0,0 +1,13 @@ +MANIFESTS=$(wildcard *.pp) +OBJS=$(MANIFESTS:.pp=.po) +TESTS_DIR=$(dir $(CURDIR)) +MODULE_DIR=$(TESTS_DIR:/=) +MODULES_DIR=$(dir $(MODULE_DIR)) + +all: test + +test: $(OBJS) + +%.po: %.pp + puppet parser validate $< + puppet apply --noop --modulepath $(MODULES_DIR) $< diff --git a/modules/torrus/tests/cdn.pp b/modules/torrus/tests/cdn.pp new file mode 100644 index 0000000..186bb22 --- /dev/null +++ b/modules/torrus/tests/cdn.pp @@ -0,0 +1,213 @@ +# + +# class to satify includes +class role::cache::configuration { + $active_nodes = { + 'production' => { + 'text' => { + 'eqiad' => [ + 'cp1052.eqiad.wmnet', + 'cp1068.eqiad.wmnet', + ], + 'esams' => [ + 'amssq31.esams.wmnet', + 'amssq62.esams.wikimedia.org', + ], + 'ulsfo' => [ + 'cp4008.ulsfo.wmnet', + 'cp4018.ulsfo.wmnet', + ] + }, + 'api' => { + 'eqiad' => [], + 'esams' => [], + 'ulsfo' => [], + }, + 'bits' => { + 'eqiad' => ['cp1056.eqiad.wmnet', + 'cp1070.eqiad.wmnet', + ], + 'esams' => ['cp3019.esams.wikimedia.org', + 'cp3022.esams.wikimedia.org', + ], + 'ulsfo' => ['cp4001.ulsfo.wmnet', + 'cp4004.ulsfo.wmnet', + ], + }, + 'upload' => { + 'eqiad' => [ + 'cp1048.eqiad.wmnet', + 'cp1064.eqiad.wmnet', + ], + 'esams' => [ + 'cp3003.esams.wikimedia.org', + 'cp3018.esams.wmnet', + ], + 'ulsfo' => [ + 'cp4005.ulsfo.wmnet', + 'cp4015.ulsfo.wmnet', + ], + }, + 'mobile' => { + 'eqiad' => ['cp1046.eqiad.wmnet', + 'cp1060.eqiad.wmnet', + ], + 'esams' => ['cp3011.esams.wikimedia.org', + 'cp3014.esams.wmnet', + ], + 'ulsfo' => ['cp4011.ulsfo.wmnet', + 'cp4020.ulsfo.wmnet', + ] + }, + 'parsoid' => { + 'eqiad' => ['cp1045.eqiad.wmnet', 'cp1058.eqiad.wmnet'], + 'esams' => [], + 'ulsfo' => [] + }, + 'misc' => { + 'eqiad' => ['cp1043.eqiad.wmnet', 'cp1044.eqiad.wmnet'], + 'esams' => [], + 'ulsfo' => [], + } + }, + 'labs' => { + 'api' => { + 'eqiad' => '127.0.0.1', + }, + 'bits' => { + 'eqiad' => '127.0.0.1', + }, + 'mobile' => { + 'eqiad' => '127.0.0.1', + }, + 'text' => { + 'eqiad' => '127.0.0.1', + }, + 'upload' => { + 'eqiad' => '127.0.0.1', + }, + 'parsoid' => { + 'eqiad' => '127.0.0.1', + }, + }, + } + + $decommissioned_nodes = { + 'text' => { + 'eqiad' => [ + + ], + 'esams' => [ + 'knsq30.knams.wikimedia.org', + ] + }, + 'api' => { + 'eqiad' => [], + 'esams' => [], + }, + 'bits' => { + 'eqiad' => [], + 'esams' => [ + 'knsq1.esams.wikimedia.org', + 'knsq7.esams.wikimedia.org', + ], + 'ulsfo' => [], + }, + 'upload' => { + 'eqiad' => [ + 'cp1021.eqiad.wmnet', + 'cp1036.eqiad.wmnet', + ], + 'esams' => [ + 'knsq8.knams.wikimedia.org', + 'knsq15.knams.wikimedia.org' + ], + 'ulsfo' => [], + }, + 'mobile' => { + 'eqiad' => ['cp1041.eqiad.wmnet', 'cp1042.eqiad.wmnet'], + 'esams' => [], + 'ulsfo' => [], + }, + 'parsoid' => { + 'eqiad' => [], + 'esams' => [], + 'ulsfo' => [], + }, + 'misc' => { + 'eqiad' => [], + 'esams' => [], + 'ulsfo' => [], + } + } + + $backends = { + 'production' => { + 'appservers' => ['1.1.1.1', '2.2.2.2',], + 'hhvm_appservers' => ['1.1.1.1', '2.2.2.2',], + 'api' => ['1.1.1.1', '2.2.2.2',], + 'hhvm_api' => ['1.1.1.1', '2.2.2.2',], + 'rendering' => ['1.1.1.1', '2.2.2.2',], + 'bits' => { + 'eqiad' => flatten(['1.1.1.1', '2.2.2.2',]), + }, + 'bits_appservers' => { + 'eqiad' => flatten(['1.1.1.1', '2.2.2.2',]), + }, + 'test_appservers' => { + 'eqiad' => [ 'mw1017.eqiad.wmnet' ], + }, + 'parsoid' => ['1.1.1.1'], + }, + 'labs' => { + 'appservers' => { + 'eqiad' => [ + '10.68.17.96', # deployment-mediawiki01 + '10.68.17.208', # deployment-mediawiki02 + ], + }, + 'hhvm_appservers' => { + 'eqiad' => [ + '10.68.17.208', # deployment-mediawiki02 + ], + }, + 'api' => { + 'eqiad' => [ + '10.68.17.96', # deployment-mediawiki01 + '10.68.17.208', # deployment-mediawiki02 + ], + }, + 'hhvm_api' => { + 'eqiad' => [ + '10.68.17.208', # deployment-mediawiki02 + ], + }, + 'bits' => { + 'eqiad' => [ + '10.68.17.96', # deployment-mediawiki01 + '10.68.17.208', # deployment-mediawiki02 + ], + }, + 'bits_appservers' => { + 'eqiad' => [ + '10.68.17.96', # deployment-mediawiki01 + '10.68.17.208', # deployment-mediawiki02 + ], + }, + 'rendering' => { + 'eqiad' => [ + '10.68.17.96', # deployment-mediawiki01 + '10.68.17.208', # deployment-mediawiki02 + ], + }, + 'test_appservers' => { + 'eqiad' => [ '10.68.17.96' ], # deployment-mediawiki01 + }, + 'parsoid' => { + 'eqiad' => [ '10.68.16.17' ], # deployment-parsoid04 + } + } + } +} + +include torrus::xml_generation::cdn diff --git a/modules/torrus/tests/config.pp b/modules/torrus/tests/config.pp new file mode 100644 index 0000000..f91bfee --- /dev/null +++ b/modules/torrus/tests/config.pp @@ -0,0 +1,3 @@ +# + +include torrus::config diff --git a/modules/torrus/tests/ddxfile.pp b/modules/torrus/tests/ddxfile.pp new file mode 100644 index 0000000..d2c2637 --- /dev/null +++ b/modules/torrus/tests/ddxfile.pp @@ -0,0 +1,4 @@ +torrus::discovery::ddxfile {'nosuchone': + subtree => '/A/Tree', + domain => 'example.com', +} diff --git a/modules/torrus/tests/discovery.pp b/modules/torrus/tests/discovery.pp new file mode 100644 index 0000000..81ba34b --- /dev/null +++ b/modules/torrus/tests/discovery.pp @@ -0,0 +1,3 @@ +# + +include torrus::discovery diff --git a/modules/torrus/tests/init.pp b/modules/torrus/tests/init.pp new file mode 100644 index 0000000..0fb3397 --- /dev/null +++ b/modules/torrus/tests/init.pp @@ -0,0 +1,3 @@ +# + +include torrus diff --git a/modules/torrus/tests/web.pp b/modules/torrus/tests/web.pp new file mode 100644 index 0000000..d892fdf --- /dev/null +++ b/modules/torrus/tests/web.pp @@ -0,0 +1,3 @@ +# + +include torrus::web diff --git a/modules/torrus/tests/xmlconfig.pp b/modules/torrus/tests/xmlconfig.pp new file mode 100644 index 0000000..6043b4f --- /dev/null +++ b/modules/torrus/tests/xmlconfig.pp @@ -0,0 +1,3 @@ +# + +include torrus::xmlconfig -- To view, visit https://gerrit.wikimedia.org/r/174389 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I5fa9063299ac28b6e33f86c110b183a5b6883ce9 Gerrit-PatchSet: 8 Gerrit-Project: operations/puppet Gerrit-Branch: production Gerrit-Owner: Alexandros Kosiaris <akosia...@wikimedia.org> Gerrit-Reviewer: Alexandros Kosiaris <akosia...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits